尝试设置分支以进行深层链接。在分支控制面板的settings
中,链接域设置为:get.myapp.co
。对于iOS,URI方案是:myapp://
。在entitlements
的{Associated Domains»部分,我有:
applinks:get.myapp.co
applinks:get-alternate.myapp.co
我按照指南的说明进行了AppDelegate.swift
设置。
func application(_ application:UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
let branch = Branch.getInstance()
branch?.initSession(launchOptions: launchOptions) { (params, error) in
//We can handle links when an app is launched/open here
if let error = error {
print("Branch error: \(error.localizedDescription)", logType: .Error)
} else {
print("Branch params: \(params.description)")
}
}
}
现在,我在控制面板中设置了营销墨水设置,其中包含密钥:redirect
和值subscription
。当我点击我输出的链接时,我得到的是:
Branch params: [AnyHashable("+clicked_branch_link"): 0, AnyHashable("+is_first_session"): 0, AnyHashable("+non_branch_link"): http://get.myapp.co/xmas-special-offer]
所以+clicked_branch_link
为0.我的元数据redirect
的元数据也丢失了。我在这里做错了什么?
编辑:
注意我将控制面板中的链接粘贴到电子邮件中,然后从邮件应用程序打开它,这不起作用。但是,如果我通过短信从控制面板发送链接,则会显示元数据,clicked_branch_link
为1.提供什么?
答案 0 :(得分:11)
花了很多时间试图解决同样的问题。 我的问题是在使用实时环境时打开测试链接引起的。 对于使用测试环境,我必须得到分支单音,如:
Branch *branch = [Branch getTestInstance];
答案 1 :(得分:3)
来自Branch的Alex:+clicked_branch_link: 0
参数表示SDK在应用程序启动之前未检测到该设备的任何分支链接点击。这就是您无法获取元数据的原因。返回中存在+non_branch_link
表示存在一些配置问题,这可能导致无法检测到分支链接点击。根据您问题中的一些细节,我认为可能会对如何配置自定义域和URI方案感到困惑。
如果未在仪表板中看到特定配置,则很难诊断。您可以使用更多详细信息(示例链接,信息中心的屏幕截图等)编辑您的问题,还是submit a ticket with the Branch integrations team进行进一步调试?