美文网首页
iOS 通用连接(Universal Links)

iOS 通用连接(Universal Links)

作者: just东东 | 来源:发表于2020-03-08 17:38 被阅读0次

    1.背景

    苹果在iOS9添加了通用连接(Universal Links),当您支持通用链接时,iOS用户可以点击指向您网站的链接,并无缝链接到已安装的应用程序,而无需通过Safari。如果未安装您的应用,请点击指向您网站的链接以在Safari中打开您的网站。详见苹果官方文档(Universal Links)

    2.集成 Universal Links

    本人是在项目中使用shareSDK进行微信分享时,收到微信SDK升级的邮件后进行集成的,其他大体也类似,下面分享一下踩坑过程。

    2.1 环境

    我用的环境:Xcode 11.3 ,mob_sharesdk 4.3.6,阿里云服务器,免费证书, Https

    其他必备环境
    1. 有一个注册的域名
    2. 必须支持https,并且拥有有效的Certificate Authorit证书(不太懂的可以跟后端开发确认,我们用的是阿里
    云的服务器,Certificate AuthoritF也是阿里云免费申请的那种)
    3.APP支持iOS9以上
    

    2.2 打开Associated Domains

    我们项目使用的是自动配置证书
    添加完成后如下图所示:

    image
    Domain 添加你的域名
    格式为: applinks:yourrdomain 例如:applinks:www.baidu.com
    添加完成后你项目的.entitlements文件会多出一项(如下图),内容与上面所填写的一致,没有该文件的会生成该文件。 image

    同时也可以登录自己的开发者账号,查看该项目下的Associated Domains是否是打开状态来验证上面的添加是否正常

    image

    2.3创建apple-app-site-association文件

    苹果官方文档

    注:paths如果没有具体要求可以写成["/*", "*"],微信那边需要在/后拼接东西,不这样写微信那边校验不通过,不能只写一个"*"
    
    1.名称必须为apple-app-site-association
    2.内容是json
    3.文件不能有扩展名
    4.官方示例内容
    {
      "applinks": {
          "apps": [],
          "details": [
               {
                 "appID": "ABCDE12345.com.example.app",
                 "paths": [ "/buy/*", "NOT /help/website/*", "/help/*" ]
               }
               {
                 "appID": "ABCDE12345.com.example.app2",
                 "paths": [ "/buy/*", "NOT /help/website/*", "/help/*" ]
               }
           ]
       },
       "webcredentials": {
          "apps": [ "ABCDE12345.com.example.app" ]
       }
    }
    
    image

    2.4 上传apple-app-site-association文件至自己的https服务器(上面域名对应的服务器)

    1.文件路径
    可以放在.well-known目录下,或者域名根目录(貌似会先查找.well-known目录下的这个文件,没有的话再去根目录下找,所以建议最好放在.well-known目录下)
    2.示例路径:
    youdomain/.well-known/apple-app-site-association
    youdomain/apple-app-site-association
    3.注意事项!
    确保上述路径能直接在浏览器访问时下载的你的apple-app-site-association文件,可以下载后校验有没有上传错误(由于文件过小可能存在缓存,清除缓存后重新下载验证
    

    2.5 连接校验

    1. 访问网站(备忘录校验)
    还有个重要的问题,你的域名下要放个网页,hello world就行,也可以自己定制网页,你们APP的介绍下载等,确保在备忘录里长按域名连接可弹出用你的APP打开这个连接。如下图;
    
    2.连接校验
    苹果提供的[校验地址](https://search.developer.apple.com/appsearch-validation-tool)
    如果应用没上线,可能会校验不通过,上线后也有可能校验不通过(具体原因不清楚,网上有很多博客提供了校验通过的图,可以自行去查一查)
    

    备忘录图:


    image

    连接校验图:


    image

    3 微信Universal Links适配

    前往微信开放平台在你的应用下填写Universal Links地址

    image

    其余按照SDK的适配文档进行适配就行,上面wx处填写的地址需要在调用SDK的时候传入,记得别写错了就行。

    相关文章

      网友评论

          本文标题:iOS 通用连接(Universal Links)

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