分支clicked_branch_link为0,没有元数据Swift



尝试为深度链接设置分支。分支控制面板的settings中,链路域设置为:get.myapp.co。对于iOS, URI Scheme为:myapp://。在entitlements的关联域部分,我有:

applinks:get.myapp.co
applinks:get-alternate.myapp.co

我已经按照指南的描述设置了AppDelegate.swift

function 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。到底发生了什么事?

花了很多时间试图解决同样的问题。我的问题是在使用live环境时打开测试链接引起的。为了使用测试环境,我必须得到分支单例,如:

Branch *branch = [Branch getTestInstance];

Alex from Branch here: +clicked_branch_link: 0参数意味着SDK在应用启动之前没有检测到该设备的任何分支链接点击。这就是你拿不回元数据的原因。返回结果中出现+non_branch_link表明存在一些配置问题,这可能导致无法检测到分支链接单击。根据你问题中的一些细节,我认为在如何配置自定义域和URI方案方面可能存在一些混乱。

如果没有看到仪表板中的具体配置,则很难诊断。您是否可以用更详细的信息编辑您的问题(示例链接,仪表板的屏幕截图等),或者向分支集成团队提交一个票证以进行进一步调试?

最新更新