我想实现一个iOS应用通过branch.io深层链接(雨燕4.2)。我有完全集成了iOS SDK作为分支文档概述。为了测试整合,我跑了branch.io通用链路验证脚本,并顺利通过。
什么不工作的通用连接'S:点击从“注意事项”或“消息”一个深层链接不打开应用程序,但没有数据传递。看着调试日志时分会报告一个完全空白的网址(example.app.link?%24identity_id=611647344982868361
),而不是(example.app.link/hj86HlvvMk2?%24identity_id=611647344982868361
)。这是一样的只是手动打开应用程序没有深层链接。没有数据从递延深层链接功能提供两种。
使用URI方案,而不是通用链接:如果我把通用链接OFF通过branch.io链接设置仪表盘,那么所有的URL在浏览器中打开,没有任何提示打开该应用。然而,当我手动打开应用程序,深层链接数据可在启动(通过延迟链路功能)。
其他尝试:添加$uri_redirect_mode: 2
的链接数据,迫使应用程序开启并没有真正改变任何东西。唯一不同的是,URI方案,它重定向到$fallback_url
之前显示在Safari中的错误。我也尝试重新安装应用程序新鲜,清除Safari浏览器缓存和Cookie,没有成功。
我也将提到,应该有什么不对的深层链接自己。在Android上,同样的深层链接很好地工作。
这两种方法都能够与立即提供深层链接数据打开应用程序。是否有任何其他选项,以使这项工作?
UPDATE:URI和普遍联系是不同的问题。我们得到的URI通过双重检查我们的URI方案(这是不正确的)工作。对于通用的链接,有可能是分公司的文档雨燕4.2的误差。见我一个解决方案的答复。
UPDATE 2019年2月5日:分行文档已更新为4.2雨燕。一切都很好地工作。
UPDATE 2019年2月5日:分行文档现在已是最新的斯威夫特4.2。
原来的答案:
好了,所以我们找到了解决不工作的普遍联系。我相信科文档是不是最新的4.2雨燕。在处理通用环节,func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void)
协议应改用[UIUserActivityRestoring]
[Any]
为restorationHandler
PARAM。见下文:
当前分支的文件(不工作):
func application(_ application: UIApplication,
continue userActivity: NSUserActivity,
restorationHandler: @escaping ([Any]?) -> Void) -> Bool {
// handler for Universal Links
Branch.getInstance().continue(userActivity)
return true
}
上述功能也导致了XCode警告。自动修复将无法正常工作,它只是将其转化为私有函数,而不是正确的协议。
校正(工作):
func application(_ application: UIApplication,
continue userActivity: NSUserActivity,
restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
// handler for Universal Links
Branch.getInstance().continue(userActivity)
return true
}
成龙从这里分公司。
你可以确保要经过下面的关卡?
如果您继续看到链接数据没有通过,你可以请发送科应用ID,路段(或多个)您使用的是[email protected],使我们的团队可以做一个深潜?