Skip to content

Latest commit

 

History

History
80 lines (71 loc) · 3.43 KB

Universal Links配置小记.md

File metadata and controls

80 lines (71 loc) · 3.43 KB

Universal Links配置小记

Universal Links(通用链接)是iOS9.0出的新技术。如果我们的应用支持通用链接,那么就可以通过https链接来打开APP(手机中已经安装此APP),或者跳转到https链接(手机中没有安装此APP)看起来很厉害的样子。

配置步骤要求条件

1.有一个注册的域名。
2.支持https请求,并且CA证书是有效的,这个需要与后端同事进行确认。
3.可上传一个json文件到web服务器
4.APP版本至少为iOS9及以上
5.Xcode版本为7以上

1.苹果开发者后台配置Associated Domains,如图

2.创建apple-app-site-association文件

首先创建一个apple-app-site-association文件(注意是没有后缀的),其内容是json格式,官方示例如下

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "TEAMIDSHSAUX.com.test.bundle",
                "paths": [ "*" ]
            }
        ]
    }
}

相关注释

appID:由TeamID.BundleID组成。TeamID可在开发者中心查看,BundleID可在Xcode中查看。

paths:设定一个App的路径支持列表,只有这些指定的路径链接才会被App所处理。(paths是大小写敏感,*是通配符表示任意路径,一般填写这个就可以)

apple-app-site-association文件保存的位置

根目录下。https://test.com/apple-app-site-association

.well-known文件夹下(推荐,苹果在iOS9.3更改了通用链接的请求文件的位置,但是仍然支持上面的路径)。在根目录新建.well-known文件夹(不要忘记前面的.)。https://test.com/.well-known/apple-app-site-association

检查

Xcode配置

  • 首先是将Associated Domains打开,并填写我们的域名,前缀是applinks。如果你的域名是test.com,则填上applinks:test.com

  • 配置后会发现项目中多了一个APPNAME.entitlements文件。

  • 重新编译后,同时开发者中心的Associated Domains也会变成启用状态。

AppDelegate回调(友盟为例子)

//Universal Links 配置
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler {
    if ([userActivity.activityType isEqualToString:NSUserActivityTypeBrowsingWeb]) {
			NSURL *url = userActivity.webpageURL;
			BOOL result = [[UMSocialManager defaultManager] handleOpenURL:url];
			if (!result) {
					// 其他如支付等SDK的回调
			}
			return result;
 
    }
    return YES;
}

示例apple-app-site-association 文件

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "4T57E5CWND.com.rby.SafeManager",
                "paths": [ "*","/qq_conn/101841750/*"]
            }
        ]
    }
}