Universal Links

一、准备工作

  • 有一个注册的域名
  • 域名可通过 SSL 访问(需要有效的证书)
  • 支持上传一个 JSON 文件到域名
  • 我使用的是阿里云服务器,宝塔面板搭建,ssl证书使用的是Let's Encrypt的测试证书。
    这里注意: 我用宝塔ssl一直是不成功的,换成Let's Encrypt后是可以了。

二、Xcode工程配置

  1. 首先就是打开工程配置中的Associated Domains打开


    image.png

在其中的Domains中填入你想支持的域名
(PS:这里不是随便填的,是可以支持你需要的Universal Links的域名),
必须以 applinks: 为前缀

三、服务端配置
1.创建apple-app-site-association为名字的json文件,注意这个文件必须没有后缀名。
文件名必须为apple-app-site-association

{
    "applinks":{
        "apps":[ 
       ],
        "details":[
            {
                "appID":"9JA89QQLNQ.com.apple.test01",
                "paths":[
                    "/*"
                ]
            }
        ]
    }
}

说明:
appID: teamId + bundleId
paths: 设定一个你的app支持的路径列表,只有这些指定的路径的链接,才能被app所处理,
举个例子:如果你的网站是www.testdemo.com,你的path写的是"/support/*",那么当用户点击www.testdemo.com/support/myDoucument,就可以进入你的app了,相反www.yohunl.com/other就不会.

  1. 上传apple-app-site-association文件
    • 上传该文件apple-app-site-association到你的域名所对应的网站的根目录下
      这一步是为了苹果能从https://你的域名/apple-app-site-associationxh获取到你上传的apple-app-site-association文件.

    • 如果根目录下有.well-know文件夹,也需要上传apple-app-site-association文件,如果没有.well-know文件夹,需要创建文件夹,注意前面的点

    • 上传完后,自己先访问一下,看看是否能够获取到
      https://更换你的域名/apple-app-site-association
      https://更换你的域名/.well-know/apple-app-site-association

    • 苹果为了方便开发者,提供了一个网页来验证我们编写的这个apple-app-site-association是否合法有效,验证网址,进入网站进行验证

image.png

3.经测试发现,在相同的域名内Universal Links是不work的,必须要跨域才生效,
我们实测值需要跨子域名即可,比如 app.domain.com 跳转 rss.domain.com 是可以触发跳转App。

  • rss.domain.com域名中配置apple-app-site-association文件
  • app.domain.com域名中写跳转页面

4.在app.domain.com中添加index.html 文件

image.png
  • 内容为:


  
    open_app
    
  
  
  
        

拉起app

index.html文件内容就一个跳转连接,https://rss.qssen.com/appLink.html

  • 贴一下appLink.html的内容



  
    open_app
    
  
  
  
        hello
  

这里只是随便写的,保证能打开页面。

5.到这里应该差不多了,

  • 开始同样放在rss.qssen.com域名下,怎么也启动不了,后来换了下域名,问题解决。
  • apple-app-site-association文件不能带后缀,务必把”.json”的后缀去掉!有些人的电脑是隐藏文件后缀的,这要格外注意;
  • apple-app-site-association要传到域名根目录或者/apple-app-site-association目录下;
  • 抓包的结果显示,网络顺畅的情况下,应用会在在刚安装(不是打开)的时候会去applink中的地址下载apple-app-site-association文件,所以如果需要测试,请保证网络通畅;

四、测试

1.要跳转的app运行到手机上
2.在Safari输入跳转地址https://app.qssen.com/index.html,点击页面的跳转app,则会打开app,
3,在Safari输入https://rss.qssen.com/appLink.html,下滑,你会发现顶部出现打开app的横栏,点击打开app

跳转app


image.png

横幅


image.png

你可能感兴趣的:(Universal Links)