Universal Link部署方法

简介: Universal Link部署方法

最近项目中新增了微信登录和QQ登录功能,微信开放平台和腾讯开放平台中都要求填写Universal Link,需要在服务器上部署一下才能使用。

先来了解一下Universal Link是做什么用的,目前iOS app之间的跳转有两种方式URL Scheme和Universal Link,URL Scheme的方式会被微信屏蔽,所以只能用Universal Link。项目中如果使用到了微信或者QQ的登录、分享功能就必须要配置Universal Link。

配置Universal Link的步骤:

1.创建一个文件,文件名为apple-app-site-association,不带后缀名。

2.填写文件内容如下:

{
"applinks": {
    "apps": [],
    "details": [
        {
            "appID": "123.456",
            "paths": [ "*","/qq_conn/xxx/*" ]
        }
    ]
   }
}

其中123替换为TeamID,TeamID查看方法如下:


image.png

456替换为app的Bundle ID,Bundle ID查看方法如下:


image.png

path中的*代表跳转时不指定具体跳转到哪一个页面

/qq_conn/xxx/*,为腾讯开放平台需要的,如不支持QQ登录或QQ分享可以不填,其中xxx改为腾讯开放平台的appID

3.把填写好的文件给到公司的服务端人员,让他把文件上传到公司服务器的根目录下,注意一定要放到https域名的根目录下。

下文介绍了如何使用rancher把文件部署到服务器的根目录:

https://www.jianshu.com/p/e6b7ee9bda89

4.假如配置好的服务器地址为https://ABC.DEF.cn,那么点击如下地址:https://ABC.DEF.cn/apple-app-site-association,就会将apple-app-site-association文件直接下载下来,打开文件即可查看到之前填写好的内容。

5.进入开发者账号,找到当前项目对应的ID,点击进入,勾选Associated Domains,点击保存。


image.png

6.验证Universal Link是否配置成功,将部署好的Universal Link用手机Safari打开,下拉页面,如果出现如下界面,显示应用图标和名称,在XXX App中打开,则说明部署成功。

image.png

Universal Link配置多项目方法

如果同一开发者账号下有多个app的话,无需配置多个Universal Link,同一Universal Link支持多个app的方法如下:

1.创建一个文件,文件名为apple-app-site-association,不带后缀名。

2.填写文件内容如下:

{
{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "123.456",
                "paths": [ "/aaa/*","/qq_conn/xxx/*"]
            },
            {
                "appID": "123.789",
                "paths": [ "/bbb/*","/qq_conn/yyy/*"]
            }
        ]
    }
}

其中123替换为Team ID,456替换为第一个app的Bundle ID,789替换为第二个app的Bundle ID,aaa、bbb为自定义的路径,xxx、yyy为腾讯开放平台的app ID,如不支持QQ登录和QQ分享则不填,两个以上的app以此类推。

3、4、5步方法同上单项目的配置方法完全相同

6.验证Universal Link是否配置成功,和单项目不同的是,如上配置好后第一个app的Universal Link地址为https://ABC.DEF.cn/aaa/,第二个app的Universal Link地址为https://ABC.DEF.cn/bbb/,以此类推

iOS开发人员需要操作的步骤

1.进入到项目里的Signing & Capabilities,找到Associated Domins,填写Universal Link,格式为applinks:ABC.DEF.cn。例如公司服务器地址为https://ABC.DEF.cn,则填写applinks:ABC.DEF.cn(无论是支持单app还是多app的Universal Link都这样填)

image.png

Xcode中Associated Domins的配置方法

2.Universal Link在代码中的使用方法:

当使用Universal Link唤醒app时,会调用AppDelagate中的如下方法:

- (BOOL)application:(UIApplication *)application continueUserActivity:(nonnull NSUserActivity *)userActivity restorationHandler:(nonnull void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler{
     //当使用Universal Links唤醒app时就执行这个方法。
     NSLog(@"userActivity : %@",userActivity.webpageURL.description);
    //在这里可以根据自己的项目需求做对应的处理
   return YES;
}

注:如果Universal Link配置好之后微信或QQ登录、分享还不可用,需要检查一下微信开放平台、腾讯开放平台上的Universal Link是否已经填好,并且要保证开放平台和项目中填写的Universal Link一致,

只支持一个app的Universal Link:

如Universal Link为https://ABC.DEF.cn,则微信开放平台填写https://ABC.DEF.cn/,不要带apple-app-site-association后缀,QQ互联上Universal Link填写的格式为ABC.DEF.cn,点击确定后会自动生成https://ABC.DEF.cn/qq_conn/xxx的格式

支持多个app的Universal Link:

如Universal Link为https://ABC.DEF.cn/aaa,则微信开放平台填写https://ABC.DEF.cn/aaa/,QQ互联上Universal Link填写的格式为ABC.DEF.cn,点击确定后会自动生成https://ABC.DEF.cn/qq_conn/xxx的格式

参考链接:

https://www.jianshu.com/p/e2fcbb61c71c


目录
相关文章
|
JSON iOS开发 开发者
uniapp配置ios的Universal Link和associate domains
uniapp配置ios的Universal Link和associate domains
|
13天前
|
运维 监控 数据中心
smart-link和monitor-link的使用
在实际应用中,两者可以根据具体的网络需求和设备能力选择使用。例如,在环境中同时存在上行链路和服务链路的监控需求时,可以同时部署Smart-Link来提供链路冗余,以及Monitor-Link来做细致的服务质量监控和控制。这种配置能够提升网络架构的整体稳定性,减少单点故障的影响,提高网络服务的连续性和可靠性。
25 0
|
Web App开发 前端开发 Android开发
iOS 唤起 APP: Universal Link(通用链接)(下)
iOS 唤起 APP: Universal Link(通用链接)(下)
1171 0
iOS 唤起 APP: Universal Link(通用链接)(下)
|
XML 物联网 数据格式
安装Simscape Multibody Link插件
安装Simscape Multibody Link插件
393 0
|
Web App开发 前端开发 JavaScript
|
负载均衡 Docker 容器
Universal Link配置,如何使用rancher将文件部署到服务器的根目录
Universal Link配置,如何使用rancher将文件部署到服务器的根目录
280 0
Universal Link配置,如何使用rancher将文件部署到服务器的根目录
|
Web App开发 JSON 移动开发
iOS 唤起 APP: Universal Link(通用链接)(上)
iOS 唤起 APP: Universal Link(通用链接)(上)
1535 0
iOS 唤起 APP: Universal Link(通用链接)(上)
|
Web App开发 存储 JSON
iOS 创建 Universal Links
iOS 创建 Universal Links
163 0
iOS 创建 Universal Links
|
Web App开发 存储 JSON
iOS 创建 Universal Links【修订】
iOS 创建 Universal Links【修订】
254 0
iOS 创建 Universal Links【修订】
|
Web App开发 缓存 前端开发
Chrome开发者工具network标签页里的transferred over network和resources loaded by the page的区别
Chrome开发者工具network标签页里的transferred over network和resources loaded by the page的区别
422 0
Chrome开发者工具network标签页里的transferred over network和resources loaded by the page的区别