美文网首页
iOS 配置Universal Link

iOS 配置Universal Link

作者: 杨帅iOS | 来源:发表于2020-04-08 12:49 被阅读0次

    步骤一 创建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-association https://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);
        return YES;
    }
    

    相关文章

      网友评论

          本文标题:iOS 配置Universal Link

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