【发布时间】:2016-08-23 17:51:00
【问题描述】:
我正在尝试使用 Firebase 将深层链接传递到我的应用中,这些链接在安装后仍然存在。
为了测试这一点,我按照 Firebase 文档和 Firecast 视频here 在大约 12 分钟 40 秒时提供的步骤进行操作。步骤如下:
- 首先我从我的设备中删除该应用程序。
- 然后我点击链接打开应用商店。
- 然后我从 xcode 运行我的应用程序。
- 预期:dynamicLink.url 属性将等于 application:openURL 中的“https://www.example.com/data/helloworld”
- 现实:dynamicLink.url 属性为零。
这是我在 Firebase 控制台中创建的深层链接网址:https://nqze6app.goo.gl/RIl8
这是在传递到 dynamicLinkFromCustomSchemeURL 之前传递到 application:openURL 的 URL: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 到达零。任何帮助表示赞赏。
【问题讨论】:
-
你能不能也分享一下... 1.你的
application:openURL电话的内容? 2、完全展开的动态链接? (在 Firebase 控制面板中,单击溢出菜单中的“链接详细信息”,您应该会在下面看到它。) -
@ToddKerpelman 1) ` - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary
*)options { FIRDynamicLink *dynamicLink = [ [FIRDynamicLinks dynamicLinks]dynamicLinkFromCustomSchemeURL:url]; if (dynamicLink) { NSLog(@"我正在通过 openURL 方法处理链接"); [自我句柄动态链接:动态链接];返回是; } 否则 { 返回否; } }` 2) nqze6.app.goo.gl/?link=https://www.example.com/data/… iOS 9.3 的定位和测试 -
好的。那么您能否确认您在控制台输出中看到“我正在通过 openURL 方法处理链接”链接?另外...您是否有机会在“私人”模式下使用 Safari?
-
@ToddKerpelman 我在私人模式下使用 Safari。离开私人模式解决了这个问题:)
-
哇哦!我继续并将其发布为官方答案。
标签: ios firebase deep-linking dynamic-linking firebase-dynamic-links