I am attempting to use Firebase to pass deep links into my app that survive install.
To test this I am following the steps provided by the Firebase documentation and Firecast video here at about the 12min 40s mark. The steps are as follows:
This is the deeplink url that I created in the Firebase console: https://nqze6app.goo.gl/RIl8
This is the url that is passed into application:openURL prior to being passed into dynamicLinkFromCustomSchemeURL : com.johnbogil.voices://google/link/dismiss?fdl_cookie
This is the code in my openURL call:
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options {
FIRDynamicLink *dynamicLink = [[FIRDynamicLinks dynamicLinks] dynamicLinkFromCustomSchemeURL:url];
if (dynamicLink) {
NSLog(@"I am handling a link through the openURL method");
[self handleDynamicLink:dynamicLink];
return YES;
} else {
return NO;
}
}
Not sure why dynamicLink.url is arriving nil. Any assistance is appreciated.
I had the same issue. I was getting callback of restorationHandler but in handleUniversalLink callback dynamiclink and error both were nil. After spending some time I found my issue.
Turns out, url is case sensitive. For example if your url is:
https://xzz6b.app.goo.gl/0EWv
and you wrote https://xzz6b.app.goo.gl/0ewv in notes and clicked it. It will load your app and even give you callback of restorationHandler but dynamiclink will be nil.
You can try it even in browser.
Hope it helps anybody.
For anybody who else who's encountering this same error...
application:openURL
method is getting called, and dynamicLink
object from your dynamicLinkFromCustomSchemeURL
method, buturl
parameter of that dynamicLink object is nilThen double-check to see if you're in "Private" mode in Safari. That will kinda mess with Firebase Dynamic Links' ability to retrieve the original link that you clicked on.
In my case this was due to the fact that I was using custom domains and I missed the bit in the docs (see point #3) that explicitly states that you need to list your Dynamic Links URL prefixes using a key called FirebaseDynamicLinksCustomDomains
in your Info.plist
file.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With