universal link教程

2019-07-19  本文已影响0人  wsxiaoluob

universal link 开启流程

一、apple-app-site-association文件准备

新建名为apple-app-site-association的文件,无后缀名,内容如下:

"applinks": {
    "apps": [],
    "details": [
    {
      "appID": "KFCNEC27G3.so.dian.powerblue",
      "paths": ["*"]
    }
    ]
  }
}

apps填空数组,details为数组,里面每一项对应的是不同的包名,appID的内容分为两部分:

{TeamID}.{BundleID}

其中TeamID在developer.apple.com里面的证书页面可以查看
BundleID在同页面也可查看,或者在Xcode中查看
image

paths对应的是路径匹配,全路径匹配的话填*

二、域名准备

准备一个线上可访问的并且支持https的域名,将apple-app-site-association文件挂在此域名的根目录下,或者.well-known目录下,即访问https://{domain}/apple-app-site-association或者https://{domain}/.well-known/apple-app-site-association即可访问到此文件。

三、项目准备

打开Xcode,在Target的Capability选项卡中,开启Associated Domains,并且在Associated Domains中新建一项,内容填入”applinks:{domain}“,如图所示:

image

四、测试

至此所有配置均已完成,可以进行测试了。如果有抓包条件,可以抓包查看App在启动时,会自动去https://domain/apple-app-site-associationhttps://domain/.well-known/apple-app-site-association去请求apple-app-site-association文件。

第一次启动后,即可在备忘录里面进行测试,打开备忘录,输入https://{domain}/{paths},其中paths就是在association文件中配置的paths,如果配置的是*,则直接输入https://{domain}即可,输入后,长按此URL,若出现”在XXX中打开“,若下图所示,即universal link配置成功

image

下一步:微信中测试。

由于存在跨域问题,点击访问https://{domain}/paths的页面必须不能是domain域名,我这里使用的是本地起的server,使用ip访问一个静态html,script中执行跳转代码:
location.href = "https://{domain}/paths"
在微信中直接打开server中的html,触发跳转代码后,微信即可直接跳转至目标App。
上一篇下一篇

猜你喜欢

热点阅读