Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's the theory behind how Firebase Dynamic Links survive app installation?

I looked at the Firebase iOS SDK code on Github for a few minutes, but I wasn't able to full put together how Firebase Dynamic Links survive app installation. It seems it uses some type of fingerprinting. I wasn't sure if it did that using:

  • iOS Pasteboard - but how does Safari write to that when user clicks on link before install?
  • cookie - so does the SDK read the cookie after install, or maybe make XmlHttpRequest in UIWebview to Firebase service?
  • IP address and user agent of request to Firebase service?
  • something else????
like image 584
jacob Avatar asked Jan 31 '19 22:01

jacob


People also ask

How does Firebase dynamic links work?

Dynamic Links are smart URLs that allow you to send existing and potential users to any location within your iOS or Android app. They survive the app install process, so even new users see the content they're looking for when they open the app for the first time. Dynamic Links are no-cost forever , for any scale.

Do Firebase dynamic links expire?

As far as I know, dynamic links work for as long as your firebase project active. I used some dynamic links more than one year after they were created. I didn't see anything about any time limits in the documentation.

Do Firebase dynamic links work on iOS?

In the Firebase console, open the Dynamic Links section. Accept the terms of service if you are prompted to do so. Ensure that your app's App Store ID and your App ID prefix is specified in your app's settings. To view and edit your app's settings, go to your Firebase project's Settings page and select your iOS app.

How do I get data from Firebase dynamic link?

To receive the Firebase Dynamic Links that you created, you must include the Dynamic Links SDK in your app and call the FirebaseDynamicLinks. getDynamicLink() method when your app loads to get the data passed in the Dynamic Link.


1 Answers

The answer seems to be in a comment in the iOS SDK FIRDLDefaultRetrievalProcessV2.m file:

// Reason for this string to ensure that only FDL links, copied to clipboard by AppPreview Page
// JavaScript code, are recognized and used in copy-unique-match process. If user copied FDL to
// clipboard by himself, that link must not be used in copy-unique-match process.
// This constant must be kept in sync with constant in the server version at
// durabledeeplink/click/ios/click_page.js

Then the SDK reads the clipboard using UIPasteboard.

like image 139
jacob Avatar answered Nov 10 '22 18:11

jacob