gpt4 book ai didi

ios - Branch.io 自定义网址缩短器和通用链接

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:33:56 43 4
gpt4 key购买 nike

假设:我有一个自定义 URL 缩短器,可重定向到 branch.io 长 URL。该自定义 URL 域已在我的应用程序的通用链接授权文件中注册。当用户点击短链接时,应用程序打开并调用 application:continueUserActivity:restorationHandler:...在该方法中,我获取短链接后面的重定向 URL(分支),基于新链接创建一个新的 NSUserActivity 并从 Branch SDK 调用“continueUserActivity”方法(以新事件作为参数)。

问题是来自 Branch SDK 的回调不会返回任何连接到该链接的内容。它返回时就好像没有传递 URL 一样。

如果我对来自重定向的链接进行硬编码并立即调用 Branch SDK,而不等待重定向响应,则一切正常。我想这与 Branch SDK 中的时间有关。

问题是:如何让 Branch 识别链接并返回我在使用上述重定向方案时需要的参数? (我想使用我自己的 URL 缩短器,而不是 Branch 的)

最佳答案

在确定是否需要处理 Branch 链接时,Branch 检查以验证 NSUserActivity 的类型是否为 NSUserActivityTypeBrowsingWeb。如果是,Branch 会检查 .webpageURL 以确定它是否是 Branch 链接。如果不是,Branch 知道没有 Branch 链接被点击。

要在应用以其他方式打开后手动将 Branch 链接传递到 SDK,有两个可用函数:.continue 和 .handleDeepLink。

.继续

    let activity = NSUserActivity(activityType: "NSUserActivityTypeBrowsingWeb")
activity.webpageURL = URL(string: "https://testbed-swift.app.link/77Q527xswy")
Branch.getInstance().continue(activity);

.handleDeepLink

    Branch.getInstance().handleDeepLink(URL(string: "https://testbed-swift.app.link/77Q527xswy"))

如果您调用这些方法之一,Branch SDK 将处理传入的 Branch 链接。如果这些方法对您不起作用,我会检查以验证您是否确实在代码中传入了一个有效的 Branch 链接,并且不是您用来打开应用程序的短链接。

关于ios - Branch.io 自定义网址缩短器和通用链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35607924/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com