关于Branch.io多包名关联支持的技术咨询
我之前也碰到过完全一样的问题!当时我们的App有针对不同区域的多个包名版本,Branch默认的自动配置确实没法支持多包名,也不允许直接上传自定义的域名关联文件,折腾了好一阵才找到几个可行的办法,分享给你:
自定义域名+手动托管关联文件
你可以自己找一个托管服务(比如自有服务器、AWS S3等)来存放assetlinks.json文件,把所有需要关联的包名和对应的SHA-256证书指纹都写进去。然后在Branch后台配置自定义链接域名,确保这个域名的.well-known/assetlinks.json路径指向你托管的文件地址。这样Google验证App Links时,会读取你自定义的关联文件,就能覆盖Branch默认的单包名配置了。为每个包名创建独立Branch项目
如果你的不同包名对应独立的App版本(比如免费版/付费版),可以考虑给每个包名单独创建一个Branch项目。每个项目单独配置对应的App Links,虽然多了一些管理成本,但能保证每个包名的关联都正常生效。需要注意的是,不同Branch项目的链接数据是相互独立的,要是需要统一跳转逻辑,可能得额外做跨项目的配置或数据同步。联系Branch技术支持开启特殊配置
我当时尝试给Branch的技术支持提交了工单,说明我们的多包名使用场景,他们其实有内部配置选项可以帮忙把额外的包名添加到关联文件里。虽然这不是公开功能,但只要你的使用场景合理,他们一般会协助处理。提交工单时记得把所有包名、对应证书指纹都提供清楚,能加快处理速度。
另外,如果是跨平台框架(比如Flutter、React Native)开发的App,也可以在原生层面手动处理App Links的验证逻辑,绕开Branch的自动配置,但这样会丢失Branch的一些自动关联优势,所以优先推荐上面的方法。
内容的提问来源于stack exchange,提问作者sttimchenko

