iOS Universal Links 通用链接

通用链接:

官网地址

当您支持通用链接时,iOS用户可以点击指向您网站的链接,无需通过Safari即可无缝重定向到已安装的应用程序。如果您的应用程序没有安装,点击链接到您的网站打开您的网站在Safari。
通用链接为您提供了使用自定义URL方案时不会获得的几个关键优势。具体而言,

通用链接是:

  • 独特。与自定义网址方案不同,通用链接不能由其他应用程序声明,因为它们使用标准的HTTP或HTTPS链接到您的网站。
  • 安全。当用户安装您的应用程序时,iOS会检查您上传到Web服务器的文件,确保您的网站允许您的应用程序以其名义打开网址。只有你可以创建和上传这个文件,所以你的网站与你的应用程序的关联是安全的。
  • 灵活。即使未安装应用程序,通用链接也能正常工作。当你的应用程序没有安装,点击一个链接到您的网站打开Safari的内容,如用户所期望的。
  • 简单。一个网址适用于您的网站和您的应用程序。
  • 私人的。其他应用程序可以与您的应用程序通信,而无需知道您的应用程序是否已安装

实现条件:

  • 1.一个注册的域名
  • 2.支持JSON文件上传到域名
  • 3.iOS9及以上版本
  • 4.需要真机测试,模拟器不支持
  • 5.需要支持HTTPS访问、且不能有任何重定向

第一步

在Xcode的capabilities里Associated Domains选项中添加APP的通用链接域名,必须用applinks: 开头


111.png

注意:这里的域名是随便填的,是支持你需要的Universal Links的域名, 如:

1.applinks:baidu.com
2.applinks:www.aiqiyi.com
3.applinks:www.youku.com

当用户在安装APP时,系统将从这里填入的域名下请求文件apple-app-site-association

第二步

登录开发者中心,检查是否已经打开了该选项

222.png

第三步

创建apple-app-site-association文件(也是最关键一步)
首先可以先看一下别人是怎么写的
哔哩哔哩的文件地址
腾讯视频的文件地址

开发者中心给的模板:

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "9JA89QQLNQ.com.apple.wwdc",
                "paths": [ "/wwdc/news/", "/videos/wwdc/2015/*"]
            },
            {
                "appID": "ABCD1234.com.apple.wwdc",
                "paths": [ "*" ]
            }
        ]
    }
}
  • 1.对照模板只需改动details数组内容,其他所有格式都是固定的,不得修改。
  • 2.details对应的数组内,一个字典代表一个APP。数组的顺序决定了系统跳转打开APP的匹配顺序。
  • 3.“appID”由两部分组成.第一部分:9JA89QQLNQ是Team ID,第二部分:com.apple.wwdc是Boundle ID 。
  • 4.“paths”是设定一个APP支持的路径列表,只有这些指定的路径的链接,才能被app所处理,举个例子:如果你的网站是www.yohunl.com,你的path写的是”/support/*”,那么当用户点击www.yohunl.com/support/myDoucument,就可以进入你的app了,相反www.yohunl.com/other 就不会.(当然也可以用 * 代表该域名下所有地址都处理)。
  • 5.paths对应的路径是大小写敏感的。
  • 6.apple-app-site-association文件不得有后缀名
  • 7.将文件上传到你的HTTPS web服务器跟目录或者.well-known的子目录。
    文件需要通过HTTPS访问且没有任何重定向-
    https:// / apple-app-site-association或
    https:// / .well-known / apple-app-site-association。

**注意

  1. 在创建apple-app-site-association文件时,需严格按照文档的要求


    33.png

意思就是JSON文件的MIME媒体类型为application/json。
如何检测你上传到服务器的文件格式是否正确?
方法:打开终端,输入命令:
curl -I 'https://xxxx.com/apple-app-site-association'
这里给出一个参考:

4444.png

**

第四步

验证:
如果以上步骤都已经完成,可以在设备备忘录中输入Universal Links url, 然后长按链接,如果出现打开APP的选项,则代表成功
如:

WechatIMG132.jpeg

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