问题
I am implementing firebase dynamic links in my iOS app and I can already parse the link, redirect to AppStore etc. Now I want to distinguish the first run of the app, when user installs it from the dynamic link - I want to skip the intro and show him the content that is expected to be shown.
Is there a way to know how the app is opened before being in didFinishLaunchingWithOptions?
回答1:
The method application:openURL:options:
will be called when Firebase Dynamic Links iOS SDK finished retrieving the pending (deferred) dynamic link.
If pending dynamic link is found, the object [[FIRDynamicLinks dynamicLinks] dynamicLinkFromCustomSchemeURL:url]
will have non-nil property url
. The url
will be equal to your deep link, that user tapped while your App was not installed. If link is not found, this property will be nil.
I suggest you to show "loading screen" in your didFinishLaunchingWithOptions
. When Firebase Dynamic Links SDK will pass you result, you can proceed with custom onboarding if pending dynamic link is found. Or default onboarding if pending dynamic link is not found. Keep in mind, if network is slow, this may take some time. You may want to have timeout set to X seconds, to not hold your user too long at "loading screen".
Documentation about receiving Firebase Dynamic Links on iOS https://firebase.google.com/docs/dynamic-links/ios/receive
来源:https://stackoverflow.com/questions/47451072/how-to-know-app-was-installed-through-firebase-dynamic-link-in-didfinishlaunchin