Branch.io 没有通过通用的 link 查询参数来重定向 url with $uri_redirect_mode = 2
Branch.io did not pass the universal link query params to redirect url with $uri_redirect_mode = 2
假设我有以下通用 link:
https://myapp.test-app.link/yXDv3WQKOA?$uri_redirect_mode=2&product_id=1
当我捕获上述请求的响应时,我可以看到 branch.io 将触发深度 link,默认值为 $deeplink_path(来自:https://docs.branch.io/links/integrate/#deep-linking)
window.top.location = validateProtocol("myapp://open?link_click_id=71978436528162224363");
我的解决方法是覆盖 $deeplink_path 并使用 urlencode 复制我的查询参数,这样:
https://myapp.test-app.link/yXDv3WQKOA?$uri_redirect_mode=2&product_id=1&$deeplink_path=open%3Fproduct_id%3D1
然后它可以用查询参数触发深度 link:
window.top.location = validateProtocol("myapp://open?product_id=1&link_click_id=71978436528162224363")
我的解决方法有效,但它看起来很糟糕,因为我必须复制查询参数,branch.io 上是否有任何设置可以将查询参数从通用 link 传递到我的深层 link?
这个方法似乎是正确的。但是,如果您想使用 $uri_redirect_mode=2 全局打开应用程序,那么您可以在 link 设置中将 URI Scheme Deep Link Mode 设置为 Aggressive Mode。
推荐的 URI 方案深度 Link 模式:智能。
此选择器允许您控制当 Universal Links 和 Android App Links 失败时 Branch 如何以及何时使用 URI 方案打开您的应用程序。请参阅文档中的浏览器细节 here.
- 如果存在错误消息的风险,保守模式将永远不会使用 URI 方案。
- 推荐使用智能模式,使用 Branch 数据安全地在任何地方使用 URI 方案,如果卸载应用程序,在某些浏览器中有轻微的错误消息风险。
- 激进将强制 URI 方案无处不在,导致没有应用程序的用户在某些浏览器中看到错误消息。
如果您通过附加查询参数创建 link,只需将控制参数附加到 URL。请确保 URL 对所有内容进行编码,以免 link 损坏。
有关详细信息,请参阅此文档:
https://docs.branch.io/deep-linking/routing/#option-2-let-branch-use-your-existing-deep-link-routing
如有更多疑问,请来信支持@branch.io。
假设我有以下通用 link:
https://myapp.test-app.link/yXDv3WQKOA?$uri_redirect_mode=2&product_id=1
当我捕获上述请求的响应时,我可以看到 branch.io 将触发深度 link,默认值为 $deeplink_path(来自:https://docs.branch.io/links/integrate/#deep-linking)
window.top.location = validateProtocol("myapp://open?link_click_id=71978436528162224363");
我的解决方法是覆盖 $deeplink_path 并使用 urlencode 复制我的查询参数,这样:
https://myapp.test-app.link/yXDv3WQKOA?$uri_redirect_mode=2&product_id=1&$deeplink_path=open%3Fproduct_id%3D1
然后它可以用查询参数触发深度 link:
window.top.location = validateProtocol("myapp://open?product_id=1&link_click_id=71978436528162224363")
我的解决方法有效,但它看起来很糟糕,因为我必须复制查询参数,branch.io 上是否有任何设置可以将查询参数从通用 link 传递到我的深层 link?
这个方法似乎是正确的。但是,如果您想使用 $uri_redirect_mode=2 全局打开应用程序,那么您可以在 link 设置中将 URI Scheme Deep Link Mode 设置为 Aggressive Mode。
推荐的 URI 方案深度 Link 模式:智能。
此选择器允许您控制当 Universal Links 和 Android App Links 失败时 Branch 如何以及何时使用 URI 方案打开您的应用程序。请参阅文档中的浏览器细节 here.
- 如果存在错误消息的风险,保守模式将永远不会使用 URI 方案。
- 推荐使用智能模式,使用 Branch 数据安全地在任何地方使用 URI 方案,如果卸载应用程序,在某些浏览器中有轻微的错误消息风险。
- 激进将强制 URI 方案无处不在,导致没有应用程序的用户在某些浏览器中看到错误消息。
如果您通过附加查询参数创建 link,只需将控制参数附加到 URL。请确保 URL 对所有内容进行编码,以免 link 损坏。
有关详细信息,请参阅此文档: https://docs.branch.io/deep-linking/routing/#option-2-let-branch-use-your-existing-deep-link-routing
如有更多疑问,请来信支持@branch.io。