iOS App Store Pass Parameters in Store Download Link

26,824

This is now easier with the coming iOS 9, because cookies can be shared between Safari and the in-app Safari View Controller! Simply keep a cookie in the browser and track the last link clicked on. Then when the user opens your app, open up an invisible Safari View Controller in the background while you show a spinner. As soon as you can inspect the cookie and see the last link clicked, you can stop the spinner--it should be a very fast operation.

We offer this for no cost at Branch, where we've had a customizable web banner for some time. Now we're excited to incorporate the Safari View Controller into our open-source SDK! We also have a version of digital fingerprinting that allows you to do the same on pre-iOS 9 devices. We use IP address, OS, OS version and more to compare a click in a browser to an open in an app. This approach has pros and cons.. happy to go into further detail if you're interested.

Share:
26,824

Related videos on Youtube

Evan Layman
Author by

Evan Layman

Updated on December 01, 2020

Comments

  • Evan Layman
    Evan Layman over 3 years

    Similar to this question: How to make ios App Store link with parameters?

    I am interested in passing parameters to the download link in the iOS app store. From what I've read, it seems that the parameters are only passed to the application if it was already installed, and the user tapped the smart app banner.

    What I want to do is pass parameters to the download link such that when a user downloads, the first time they open the app, the parameters will be passed.

    Mainly, I want to allow users to invite their friends to play my app through email or facebook and when the friend downloads using their link, it will send a push to the original player to notify that their friend now has the app.

    Thanks!

  • user102008
    user102008 over 10 years
    This doesn't answer the question. The app-argument will only be passed to the app if the app is already installed, like the OP says.
  • Evan Layman
    Evan Layman over 9 years
    Are you able to parse them in applicationDidFinishLaunchingWithOptions ?
  • greegles
    greegles over 9 years
    Not to my knowledge, it seems like they only allow you to view the analytics through iTunes Connect
  • Léo Natan
    Léo Natan over 8 years
    This is a bad answer as it does not answer what was asked
  • markquezada
    markquezada over 8 years
    I saw Branch on Product Hunt and was curious about how you were doing the linking of post-install data so I started googling around. Thanks for the insight here. Do you have any data on how often this leads to false-positive identification of users after download? Also, do you put a time limit on recognizing a user after they click the initial download link?
  • markquezada
    markquezada over 8 years
    This is totally unrelated to the OP's question.
  • st.derrick
    st.derrick over 8 years
    We discuss matching in-depth here: dev.branch.io/recipes/matching_accuracy -- collisions are most likely at large events where everyone is on the same wifi and if we've never seen the devices before (and we've seen hundreds of millions of devices). We use 2 hours as the default time limit, but this is completely customizable on both an app-wide and per-link basis. See 'duration' on the page referenced above.
  • Michael
    Michael over 8 years
    AFAIK, you can only pass contextual data if the app is installed, so this is wrong: If you include this, and the user has your app installed, she can jump from your website to the corresponding position in your iOS app.
  • Paolo Biavati
    Paolo Biavati over 8 years
    What appen if I use another browser? does it work only if you start from a link in safari browser?
  • st.derrick
    st.derrick over 8 years
    Then you should use digital fingerprinting, as cookies will not be shared unless that other browser is actually an SFSafariViewController
  • swalkner
    swalkner about 7 years
    is this allowed by ? Isn't there the risk of getting rejected when showing an invisible Safari View Controller?
  • Guig
    Guig almost 7 years
    Can that work if the link is opened from another app that uses a UIWebView, like Messenger?
  • Liubo
    Liubo almost 7 years
    @swalkner it's not allowed since AppStore guidelines were updated. Now, according to 5.1.1(iv) of the App Store Review Guidelines "SafariViewContoller must be used to visibly present information to users; the controller may not be hidden or obscured by other views or layers."
  • Return-1
    Return-1 about 4 years
    is this still relevant? what's the 2020 approach to this if any?
  • lqsdwtxkzlqafpvluq
    lqsdwtxkzlqafpvluq over 3 years
    @Return-1 did you find any solution?
  • ina
    ina over 2 years
    Does this work for Chrome and Firefox and other mobile browsers?
  • ina
    ina over 2 years
    does this still apply in 2021