简介
通用链接,要做的事情很少。麻烦的是需要前端和后台的配合。
1. 配置链接地址
企业微信截图_240e1836-9417-474c-9582-6639ef0e6d0b.png2. 查看配置
登录苹果开发者网站https://developer.apple.com/account/
查看配置信息。由于证书什么的都是全自动的,所以这里可以看到Associated Domains
配置项已经自动打开。
3. 配置文件
新建一个名字为apple-app-site-association
的纯文本文件,不要有任何后缀,文件内容为
4. 放配置文件
将这个文件apple-app-site-association
上传到网站根目录,或者在根目录新建一个名字为.well-known
的子目录,然后把这个文件上传到这个子目录中。
5. 网站验证
上传之后,可以访问https://search.developer.apple.com/appsearch-validation-tool/,苹果专门提供的验证工具,然后将域名网址填进去,例如https://app.kjtpay.com/
,然后点击测试。
界面初始是这样的:
企业微信截图_0de0664d-9e49-45ac-9ce5-def9be96289a.png如果不正确,会返回错误:
企业微信截图_af9bc7aa-c0d7-47be-8ce4-f813c7975012.png问题:就算我放了配置文件,这个测试工具也可能会返回错误,原因不明。
企业微信截图_34a73ae8-7113-4ad4-ad42-a6b1fa01f495.png下载测试:将配置文件地址,这里是https://app.kjtpay.com/apple-app-site-association
,输入浏览器,能下载,一般就可以。
实际测试
比如在备忘录中输入链接地址,点击,能拉起APP,说明通用链接功能正常。或是长按,在出现的弹出菜单中第二项是在’XXX’中打开,这也代表着成功:
image.png处理
外部利用通用链接拉起APP,APP是知道的。在AppDelegate中,有代理函数可以知道被拉起。
// 通用链接
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray<id<UIUserActivityRestoring>> * __nullable restorableObjects))restorationHandler {
if ([userActivity.activityType isEqualToString:NSUserActivityTypeBrowsingWeb]) {
NSURL *url = userActivity.webpageURL;
// 通用链接打开,这里展示整个的url
NSString *test = url.absoluteString;
UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"通用链接方式打开" message:test preferredStyle:UIAlertControllerStyleAlert];
[alert addAction:[UIAlertAction actionWithTitle:@"知道了" style:UIAlertActionStyleDefault handler:nil]];
[self.window.rootViewController presentViewController:alert animated:YES completion:nil];
}
return YES;
}
参考文章
iOS通用链接(Universal Links)使用教程
iOS 唤起APP之Universal Link(通用链接)
iOS Universal Links(通用链接)的使用
Universal Link 前端部署采坑记
网友评论