我正在尝试使用Firebase将深层链接传递到我的应用程序中,以便在安装后幸存下来。
为了测试这一点,我遵循Firebase文档和Firecast视频here提供的步骤,时间约为12分40秒。步骤如下:
这是我在Firebase控制台中创建的Deeplink网址:https://nqze6app.goo.gl/RIl8
这是传递给application:openURL的URL,然后传递给dynamicLinkFromCustomSchemeURL:com.johnbogil.voices://google/link/dismiss?fdl_cookie
这是我的openURL调用中的代码:
- (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;
}
}
不知道为什么dynamicLink.url到达nil。任何帮助表示赞赏。
最佳答案
对于任何其他遇到此错误的人...
application:openURL
方法被调用,并且dynamicLink
方法中获取了有效的dynamicLinkFromCustomSchemeURL
对象,但是url
参数为nil 然后仔细检查以查看您是否在Safari中处于“私有(private)”模式。这将与Firebase动态链接检索您单击的原始链接的能力有些困惑。