美文网首页
关于Universal Link(通用链接)的细节

关于Universal Link(通用链接)的细节

作者: LINGSHOW | 来源:发表于2020-03-29 22:55 被阅读0次

    公司最近要求APP适配,在微信上支持用Universal Link(通用链接)跳转到APP,所以捣鼓了许久终于实现了该功能。此篇文章就简单记录下细节点。

    实现的基本要求

    1、微信SDK1.8.6.1版本开始支持
    2、微信版本7.07及以上
    3、iOS版本12及以上
    4、需要至少两个一级域名。
    5、H5页面的按钮链接在配置文件的白名单范围内

    实现流程:

    1、APP适配通用链接
    2、微信开发者账号添加通用链接
    3、服务器处理

    1、APP适配通用链接

    至于如何适配不详细说,简书上有很多这方面的教程。在此放个快捷门:iOS快速配置Universal Links
    需要注意的点:

    1、apple-app-site-association文件名是固定的,且没有后缀名
    2、apple-app-site-association文件内容格式固定,details前面照抄就行,如果有多个APP,直接在details数组里面写多个字典,一个字典代码一个APP。appID:teamID.APPBundleID,paths可以写多个路径,打开某个路径,关闭某个子路径(NOT /subPaths)

    {
       "applinks": {
           "apps": [],
           "details": [
               {
                   "appID": "7A4FDG.com.aaa.app",
                   "paths": [ "*" ]
               }
           ]
       }
    }
    

    3、apple-app-site-association文件需要放置路径的路径有两个,没试只放根目录的情况,直接放在两个目录下。

    域名根目录和.well-known目录下
    

    4、服务器必须支持https
    5、apple-app-site-association文件放置好后,在苹果官网验证是否配置完,输入域名就行,不要有子路径。官网验证
    如果现实如下,说明配置成功了

    配置成功
    2、微信开发者账号添加通用链接

    1、微信开发者上的通用链接必须与APP通用链接域名相同
    2、微信开发者账号上的通用链接可以有子目录,如果一个服务器为多个APP使用可以用子目录区分开。
    比如:https://aaa.com/musichttps://aaa.com/video 可以区分做音乐和视屏的APP

    3、服务器处理

    1、需要两个域名,微信上打开的链接(页面链接),页面上按钮的链接(点击链接),这两个链接的域名必须不是同一个,不然无法实现点击按钮直接跳转。
    2、按钮链接域名是APP通用链接的域名。

    跳转现象:
    1、页面链接域名与通用链接域名一样,点击按钮都不会直接唤起APP。点击微信右上角弹窗选择“在Safari中打开”直接唤起APP。
    2、页面链接域名与通用链接域名不一样,按钮链接域名与通用链接域名一样,且链接子目录在apple-app-site-association文件买名单范围内(允许跳转的称白名单),点击按钮可以直接唤起APP。点击微信右上角弹窗选择“在Safari中打开”不会唤起APP。

    猜想

    唤起情况有两种:
    微信上H5上点击按钮唤起APP是微信做的一套唤起逻辑,
    H5页面右上角”在Safari中打开“走的是系统唤起逻辑。

    提问:
    1、APP何时下载apple-app-site-association文档?

    下载APP时
    更新APP时

    2、APP未迭代更新,但apple-app-site-association文档需要重新,APP如何才能更新到新的?

    卸载APP重新安装

    3、如何更新apple-app-site-association文档?

    从根目录下下载文件,修改了再重新覆盖上去。防止其他人也有用到。

    相关文章

      网友评论

          本文标题:关于Universal Link(通用链接)的细节

          本文链接:https://www.haomeiwen.com/subject/rqdpuhtx.html