微信分享和Universal Link避坑指南

Universal Link简介

Universal Link通用链接是ios9推出的通过链接启动app的功能

配置Universal Link

  1. 在开发账号中app的Identifiers勾选Associated Domains


    企业微信截图_4071a3ce-4a73-4dc2-ad3f-5b275cb79b0d.png
  2. 在项目中配置添加Associated Domains

targets->Signing&Capabilites->Capability->Associated Domains


企业微信截图_8cf6d948-1d55-4632-b038-79147d634bf6.png
  1. 在Associated Domains中添加applinks:你的域名


    企业微信截图_c004c71a-88fd-4d12-9ba9-50d20c9170d6.png

    到这项目Universal Link配置完毕

Universal Link文件配置

这一步需要后台的同事配合,创建一个没有后缀的文件,命名为apple-app-site-association。内容大概如下:

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "团队ID.应用id1",
                "paths": [ "/demo1/*"]
            },
            {
                "appID": "团队ID.应用id2",
                "paths": [ "/demo2/*" ]
            }
        ]
    }
}

保存的文件上传到你的域名所对应的根目录或者.well-known目录下

验证apple-app-site-association是否正确

https://branch.io/resources/aasa-validator/
打开链接输入你的域名,全部通过后文件配置正确

企业微信截图_d23128b7-31ed-4dec-bea2-a967f809a650.png

Universal Link链接

如果配置的paths,则Universal Link为https://你的域名/paths配置的内容/
假设域名为www.baidu.com用文章上面的json内容则
应用1的Universal Link为:https://www.baidu.com/demo1/
应用2的Universal Link为:https://www.baidu.com/demo2/
如果paths为*,Universal Link就为你的域名
(这是个坑,一开始没研究很容易把https://www.baidu.com/apple-app-site-association当成链接。哭死!!)

Universal Link链接验证

  1. 在备忘录中长按Universal Link链接会出现 在“APP名称中”打开的选项,点击链接会直接打开你的app。

    企业微信截图_60ac4c30-8c13-4db5-be92-4844c8c41577.png

  2. 在Safari浏览器输入Universal Link链接,进入链接会出现打开app的按钮


    企业微信截图_1e7d621b-5470-4015-97fc-c724859984a4.png

    (如果没有出现打开删除app重装多试几次,不管项目修改Associated Domains还是文件配置修改,都删除重装app)
    到此基本配置完成,Universal Link配置没问题的话其实微信分享也没多大问题。不过和Universal Link配置和微信分享一起搞的。出现了奇奇怪怪的问题。

微信分享之Universal Link验证不通过

错误1:


企业微信截图_aba8d10a-827d-419c-b087-dbd2c1fb1c37.png

这个错误是SDK注册的Universal Link和微信开发账号注册的Universal Link不一样导致。

错误2:Universal Link配置正确,Safari链接和备忘录都有,注册的Universal Link链接也是一样,但分享跳转app会跳两次(除首次外)。调用微信SDK的检查方法如下

微信SDK日志:步骤0-----成功,  check passed
微信SDK日志:步骤1-----成功,  check passed
微信SDK日志:步骤2-----成功,  check passed
微信SDK日志:步骤3-----成功,  check passed
微信SDK日志:步骤4-----成功,  check passed
微信SDK日志:步骤5-----失败,  Universal Link check failed. The application is launched by WeChat via scheme, Common problems self-check guide: [微信开放平台App iOS端接入新版本SDK 常见问题自查指引][https://developers.weixin.qq.com/community/develop/doc/000ce0403bc9d0ea1a0a67f415b409](https://developers.weixin.qq.com/community/develop/doc/000ce0403bc9d0ea1a0a67f415b409)

删除app重装。这个问题会出现在修改微信开发账号的app Universal Link通过审核后没有删除重装app。(ps狗东西困扰好久,找了n多帖子)


企业微信截图_8ead15a6-68bc-48ae-8fb3-ff3b1571abed.png

这么多坑,得出的结论是当Universal Link拼接没错(通过了本文的Universal Link链接验证),多删除重装app,或许下一刻就有惊喜

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容