现在的APP几乎都有分享功能,,APP内容分享是APP推广的有效方法,分享的内容一般是一个网页内容,于是便出现了在分享的页面呈现一个按钮“使用**客户端打开”,,要使用客户端打开就得去下载APP。。
在这里总结一下实现分享“使用**客户端查看”的方法。。当然也有现成的SDK可以使用,,比如魔窗的mlink
1. 需要创建一个json文件,固定命名为“apple-app-site-association” 不能有“.json”的后缀
创建方法 新建一个记事本文件 复制粘贴
{
"applinks": {
"apps": [],
"details": [
{
"appID": "APP的teamID.APP的bundleID",
"paths": [ "*" ]
}
]
}
}
说明:appID 的构成APP的teamID.APP的bundleID 的形式 teamID需要到developercenter 查看
完成后将这个文件交给开发服务器人员,放于服务器根目录
测试是否成功::使用Safari浏览器打开https://服务器域名/apple-app-site-association, 如果可以打开并直接下载了一个名为apple-app-site-association 则配置成功
2. 配置app IDS
进入developercenter 找到项目对应的APP ID 编辑打开 associated domains 重新生成开发环境和生产环境的描述文件并安装
3. 工程打开 associated domains
工程 选定targets -- capabilities 找到 associated domains 按钮打开 添加domains
domains构成 : applinks:apple-服务器域名
APPdelegate 中添加一段代码
#pragma mark 拉起客户端---
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray *_Nullable))restorationHandler{
//NSUserActivityTypeBrowsingWeb意思是从university links打开的APP
if ([userActivity.activityTypeisEqualToString:NSUserActivityTypeBrowsingWeb]) {
NSURL *webUrl = userActivity.webpageURL;
if ([webUrl.hostisEqualToString:@"apple-服务器域名"]){
是分享内容拉起的客户端 APP 页面跳转处理
returnYES;
}else{
//未能处理的links用Safari打开
[[UIApplicationsharedApplication] openURL:webUrl];
}
}
returnNO;
}
点击打开现实的内容与我们配置的“apple-app-site-association” 文件的内容相同则配置成功
安装APP进行测试
需要注意的是,要实现可以拉起客户端 APP在安装后第一次打开需要成功下载apple-app-site-association,,所以如果拉起客户端失败了。。需要多卸载重装