5

I am looking into using firebase dynamic links in my application. I have a need for passing a unique identifier into a users application from an email-generated link. This works fine when the user has the app installed, however, I am running into some confusion with how the application is not installed.

I see that firebase dynamic links has support for taking the user to the app-store if the user does not have the application installed. They then use (deferred?) linking to take the user into the deep-linked target of the app after the application is installed. How is this done? How is a match guaranteed? Or is it?

Branch.io has significant documentation and this on how they handle deferred deep-linking accompanied by all of the strategies and fallbacks that they implement. Do firebase dynamic links rely on the same strategies or do they have another mechanism to 100% guarantee matching of a user from deep-link through app install and into app open?

Jaskaye17
  • 627
  • 10
  • 22
  • It's interesting as today I was researching this very concept for work and we decided to use something other than Firebase App Invites/Dynamic Links for affiliate tracking. That doesn't mean we won't use app invites for user->user sharing (and Facebook App Links). – James Poag May 31 '17 at 00:46

1 Answers1

7

Alex from Branch.io here:

Firebase uses simplistic device matching. This means matches cannot be 100% guaranteed, because there's always a chance that two devices will look the same to the Firebase backend. Until recently, the system-wide Dynamic Link attribution window was only 5 minutes, to minimize this risk.

This is a relatively minor issue if you're not passing sensitive/personal data through using links, but if you are then you might want to consider using Branch as a drop-in replacement. It's fairly easy to do.

Alex Bauer
  • 13,147
  • 1
  • 27
  • 44
  • Thanks for the response Alex; very helpful. Our thought is to not pass any sensitive personal data, but, rather a uniquely generated (and temporary) identifier which we use to identify with an existing member in our database. Once the link has been established, it is possible that the user will have access to personal data. We therefore need to be 100% accurate with the matching through deferred deep-linking. Can this be accomplished via branch? Or would we only be able to guarantee 100% accuracy in certain cases? – Jaskaye17 May 31 '17 at 00:57
  • Using a unique, temporary ID is a good approach. Branch cannot guarantee a 100% accurate match in every situation, though you will always have a true/false value to know whether the match was guaranteed. Here's an example of how that would work: https://stackoverflow.com/questions/39413793/links-on-web-site-that-can-login-into-app-with-a-token-or-fall-back-to-web-site/39672655#39672655 – Alex Bauer May 31 '17 at 01:02