4
votes

I have went through the Firebase Tutorial, I have implemented Firebase SDK + Dynamic links + Managed my app to support Associated Domains and everything works fine except that the dynamic link doesn't survive the installation.

I have created a dynamic link through Firebase console,

  1. When app already installed, everything works fine. The dynamic link launch my app with the relevant content

  2. When my app isn't installed, the dynamic link open the AppStore as expected and than I'm installing the app through Xcode, but nothing happens I don't receive any content on first launch.

What I did:

  1. Make sure that the Scheme URL in Xcode -> Targets -> MyAPP -> Info -> URL Types is the same as my app Bundle Identifier.
  2. Make sure that under my FireBaseURL/apple-app-site-association the content is fine: {"applinks":{"apps":[],"details":[{"appID":"MyTeamID.com.foo.bla","paths":["/*"]}]}}
  3. Make sure that I defined in AppDelegate
  4. I have tried do define in the AppDelegate [FIROptions defaultOptions].deepLinkURLScheme = @"com.foo.bla"
  5. Make sure that under associated Domains there are no extra '/' or something. My Supported domain is applinks:FireBaseURL.
  6. Double check that the TeamID that defined in the Firebase console is the same as my application TeamID.
  7. Of-course I have searched a-lot in StackOverFlow without any success to find a solution that worked for me.

Any suggestions?

UPDATE

OK, so I found that somehow I'm using an old version of the Firebase SDK, so I updated the Firebase SDK + start working on the cellular instead of the Wi-Fi and everything works like a charm. Thanks to @Oleksiy Ivanov

1
WiFi normally should work. Exception can be if devices connected to WiFi share the same public IP. This will make it harder to achieve match after App installation. Glad it works now!Oleksiy Ivanov

1 Answers

2
votes

@MKaro Can you add logging to your UIApplicationDelegate method application:openURL:options: and print out is there link passed to your App after first launch? If link is found it will be passed here. When Firebase Dynamic Links failed to retrieve the link, still there will be call to this method with "dismiss" link (this is poorly documented). If you do not see any calls to this method after first launch, this means Firebase Dynamic Links is misconfigured.

Another thing to watch out, Firebase Dynamic Links will check for pending dynamic link only after first install. You have to remove the App to force retrieving the link.

It may be worthwhile to try the first install scenario on WiFI vs Cellular. Type of the network may affect this.