美文网首页
iOS 配置Universal Link

iOS 配置Universal Link

作者: 0fbf551ff6fb | 来源:发表于2020-09-11 10:59 被阅读0次

    https://www.jianshu.com/p/616dab3f3f81

    步骤一 创建apple-app-site-association文件

    在文本编辑器中创建一个内容为json格式的文件,苹果将会在app安装的的时候,从我们在项目中填入的域名请求这个文件。

    例子:

    {"applinks":{"apps":[],"details":[{"appID":"9JA89QQLNQ.com.apple.wwdc","paths":["/wwdc/news/","/videos/wwdc/2015/*"]}]}}

    说明:

    appId:组成方式是 teamId.yourapp’s bundle identifier。如上面的 9JA89QQLNQ就是teamId。登陆开发者中心,在Account -> Membership里面可以找到Team ID。

    paths:1.使用指定整个网站

    2.包括一个特定的URL,例如/ wwdc / news /,以指定一个特定的链接

    3.将

    附加到特定的网址(例如/ videos / wwdc / 2015 /),以指定网站的一部分

    4.除了使用

    匹配任何子字符串外,还可以使用?匹配任何单个字符。您可以将两个通配符合并在一个路径中,例如/ foo / * / bar / 201?/ mypage。

    5.用于在path数组中指定网站路径的字符串区分大小写。

    !注意

    这个文件名必须为apple-app-site-association,切记没有后缀名。不要将.json附加到apple-app-site-association文件名。

    如果您的应用程序在iOS 9或更高版本中运行,并且您使用HTTPS来提供apple-app-site-association文件,则可以创建一个使用application / json MIME类型的纯文本文件,而无需对其进行签名。如果您在iOS 8中支持交接和共享Web凭据,则仍然需要按照共享Web凭据参考中的说明对文件进行签名。

    如果copy这个结构需要检查是否有中文标点符号。

    写完之后在效验json的网站中验证json结构是否正确。

    步骤二 将创建的apple-app-site-association文件上传到服务器

    上传该文件到你的域名所对应的根目录或者.well-known目录下,这是为了苹果能获取到你上传的文件。

    !注意

    当你在浏览器中输入这个文件链接后,直接能看到对应的json数据,而不是下载。

    下面是淘宝和微信的测试配置文件,打开自己配置的文件打开应该是相对应的样式。

    https://b.mashort.cn/apple-app-site-associationhttps://help.wechat.com/apple-app-site-association

    这个需要后台配合,将文件重定向来达到这个目的。具体需要后台来操作。

    步骤三 appIDs配置和项目配置

    1.开发者中心配置:找到对应的App ID,在Application Services列表里有Associated Domains一条,把它变为Enabled就可以了。

    图片.png

    2.工程配置中相应功能:targets->Signing&Capabilites->Capability->Associated Domains,在其中的Domains中填入你想支持的域名,也必须必须以applinks:为前缀。

    图片.png

    图片.png

    !注意

    1.Domains添加的域名没有https或者http,以www开头

    步骤四 验证是否配置成功,成功后跳转指定页面

    你将要配置的网址在Safari中打开,在出现的网页上方下滑,可以看到有在”XX”应用中打开:

    图片.png

    !注意

    如果你在apple-app-site-association文件中的paths中配置的是指定路径,需要在域名后面拼接指定路径

    当点击某个链接,直接可以进我们的app了,但是我们的目的是要能够获取到用户进来的链接,根据链接来展示给用户相应的内容。

    我们需要在工程里的实现AppDelegate里对应的方法:

    -(BOOL)application:(UIApplication*)application continueUserActivity:(NSUserActivity*)userActivity restorationHandler:(void(^)(NSArray*_Nullable))restorationHandler{NSLog(@"userActivity : %@",userActivity.webpageURL.description);returnYES;}

    相关文章

      网友评论

          本文标题:iOS 配置Universal Link

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