iOS-Xamarin、branch.io、通用链接集成问题

Posted

技术标签:

【中文标题】iOS-Xamarin、branch.io、通用链接集成问题【英文标题】:iOS-Xamarin, branch.io, universal links Integration issue 【发布时间】:2016-03-09 12:17:40 【问题描述】:

我正在将 branch.io 集成到我的 ios 应用程序中,该应用程序是在 Xamarin 中开发的,没有 Forms。 按照 SDK 集成中提到的步骤进行操作。

Branch Xamarin SDK 添加为 NuGet 包 在 Info.plist 中添加了branch_key 在 Xamarin 中添加了 URL 方案 在 branch.io 门户中启用通用链接 为 branch.io 添加了初始化代码和委托 在开发者门户中启用关联域

在 xamarin studio 中启用关联域并添加域 applinks:bnc.lt

确保在右侧边栏中检查了正确的构建目标。 我不确定如何在 xamarin 中做到这一点。默认情况下,Entitlements.plist 文件在配置中指定。

在分支仪表板中启用通用链接

正确指定捆绑标识符和 Apple App 前缀。

创建了一个营销链接,并从消息应用中点击了该链接。

哪些路线使用来自 bnc.lt 的虚拟页面到 safari,并带有“获取应用程序”选项

任何有关这方面的信息都将是非常可观的。谢谢!

经过测试

设备:iPhone6S+、iOS9.1

设备:iPhone6s、iOS9.4

更新

我们为所有营销链接设置了一个自定义链接标签,该标签应保留为空以支持通用链接。市场链接的格式为 bnc.lt/«four-letter-identifier»/«link-hash»

【问题讨论】:

Alex with Branch here:您能否确认 info.plist 中的 Bundle Identifier 与您在 Apple Developer Portal 中使用的完全匹配?如果没有,你会想要update that。如果还是不行,可能是您的 Provisioning Profile 缺少 Associated Domains 权利——您可能需要create a new one @AlexBauer,1. Bundle Identifier ins Info.plist 与 Apple Developer 门户相匹配。 2. 在启用关联域权利并在项目中使用后创建配置文件。应用仍然没有打开应用,而是重定向到应用商店。 @AlexBauer 检查了 Apple Validator 中的链接,search.developer.apple.com/appsearch-validation-tool,链接看起来不错,一切都通过了。问题是:实际行为:MarketingLink(Notes 应用程序)-> 点击-> 启动 Safari(Appstore 页面)。预期行为:MarketingLink(Notes 应用程序)-> 点击 -> 打开设备中安装的实际应用程序。 @AlexBauer 得到了 Branch 集成工程师 Jean Weatherwax 的帮助。我们为所有营销链接提供了一个自定义链接标签。应保留为空以支持通用链接。市场链接的格式为bnc.lt/«four-letter-identifier»/«link-hash» 啊,有道理!如果您设置custom link domain,我认为您应该能够将自定义链接标签与营销链接一起使用,以防万一。 【参考方案1】:

我在此处添加注释以帮助遇到此问题并认为他们可能有类似问题的任何人:

在 2016 年初之前,所有应用程序的默认分支链接域是“bnc.lt”。为了支持通用链接,所有使用此 bnc.lt 域的分支应用程序在单个 Apple-App-Site-association (AASA) 文件中都有条目。为了在此 AASA 文件中唯一标识应用程序,Branch 依赖于每个链接中的四字母 alpha 标识符:https://bnc.lt/«four-letter-identifier»/«link-hash»

Branch 允许合作伙伴用自定义别名(例如“https://bnc.lt/mylink”)替换 bnc.lt 链接的“«four-letter-identifier»/«link-hash»”部分,但是这样做是不可能的用于在 AASA 文件中识别应用程序 - 这意味着此类链接不能用作通用链接。

分公司于 2016 年初引入了 app.link 域以取代 bnc.lt。此处描述的有关通用链接和链接别名的限制不影响 app.link 域。

【讨论】:

以上是关于iOS-Xamarin、branch.io、通用链接集成问题的主要内容,如果未能解决你的问题,请参考以下文章

当另一个应用程序打开 Safari 视图控制器时,如何让 branch.io 通用链接工作?

Branch.io Cordova SDK 不生成链接

react native 中的 branch.io 自定义事件未触发奖励规则

使用 Branch.io 的自定义 URL 方案中的路径变量?

在 iOS 上的 branch.io 上的两个应用程序中支持相同的自定义域

Branch.io 事件记录