5
votes

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????
1
I don't know about iOS, but on Android, when you follow a link to the Play store entry for an app, that link can effectively arrange for the store to deliver a small piece of data to the app that you check on launch. developers.google.com/analytics/devguides/collection/android/v2/…Doug Stevenson
@doug-stevenson Thanks! I was interested also in how Android does it, but I can't find the source code for Android implementation. It doesn't seem to be in Android Firebase SDK. Is it on Github?jacob
It's not open source currently.Doug Stevenson

1 Answers

5
votes

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.