微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

分支链接不捕获应用程序中的数据,仅当通过 safari 浏览器打开时才有效

如何解决分支链接不捕获应用程序中的数据,仅当通过 safari 浏览器打开时才有效

当我点击并打开应用程序时,该链接不会捕获数据

let branch = Branch.getInstance()
branch.initSession(launchOptions: launchOptions) { params,error in
            
    guard error == nil else { return }
    guard let userDidClick = params?["+clicked_branch_link"] as? Bool else { return }
            
     if userDidClick {
         guard let params = params as?  [String: AnyObject] else { return }
         print("deep link data: ",params)
         guard let type = params[kType] as? String else { return }
                
        }
}

当直接点击链接(来自 WhatsApp/slack/skype)时,它会直接打开应用程序,我收到

[AnyHashable("+clicked_branch_link"): 0,AnyHashable("+is_first_session"): 0]

当在 safari 中打开相同的链接时,它会重定向到应用程序,然后我会得到正确的参数

[AnyHashable("~creation_source"): 0,AnyHashable("+click_timestamp"): 1618546463,AnyHashable("~id"): 900551511xxx37328,AnyHashable("+match_guaranteed"): 0,AnyHashable("$one_time_use"): 0,AnyHashable("+clicked_branch_link"): 1,AnyHashable("region"): XX,AnyHashable("$ios_passive_deepview"): branch_passive_default,AnyHashable("+is_first_session"): 0,AnyHashable("type"): wallet,AnyHashable("$matching_ttl_s"): 7200,AnyHashable("~referring_link"): https://xxxxxx.app.link/8KxKoxmHGeb]

为什么我会面临这种不同的行为?我已经浏览了分支文档 3-4 次。什么都没有丢失,但我不知道为什么我会遇到这个问题。

解决方法

在我的 AppDelegate 类中,我的委托方法就是这样被折旧了

func application(_ application: UIApplication,continue userActivity: NSUserActivity,restorationHandler: @escaping ([Any]?) -> Void)

我刚把它改成这样,现在可以用了

func application(_ application: UIApplication,restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。