今天我们的ios说他那边需要放一个apple-app-site-association 文件 用来支持他那边的功能,先说一下要求 他要求给他一个线上官网的地址后面跟上他所需要文件的地址 比如 www.baidu.com /apple-app-site-association 文件 首先打开服务器nginx的配置文件 在官网配置下再加一个serve入口 location /apple-app-site-association details\":[{\"appID\":\"xxxxxxxxxxxxxxxxx\",\"paths\":[\"/*\"]}]}}'; } 访问官网链接 www.baidu.com/apple-app-site-association
apple-app-site-association 是什么? 微信小程序里提供的 URL Scheme 和 URL Link,我们通过h5链接唤起小程序实际就是依赖这个实现的,只不过 apple-app-site-association 这个配置文件是微信 app 配置 apple-app-site-association 文件 需要新建一个名为 apple-app-site-association 无文件后缀的文件,里面的内容为: { "applinks 在服务器上上传了配置文件后,可以通过如下 3 个链接访问测试: https://{你的域名}/.well-known/apple-app-site-association https://{你的域名} /apple-app-site-association https://app-site-association.cdn-apple.com/a/v1/{你的域名} 看下是否能直接访问到上传的 json
apple-app-site-association配置在Apple开发者平台中Identifiers选择当前项目,点击进去。 创建一个文件apple-app-site-association,其中applinks为自定义的标识,appID为TeamID和BuddleID组成,类似如下:{ "applinks": { 将该文件上传到nginx目录下,在域名的80端口解析中添加如下location,通过域名加如下路径,即可中浏览器访问或自动下载apple-app-site-association文件。 location /apple-app-site-association { alias /etc/nginx/apple-app-site-association;}可以使用如下链接后面拼接domain app-site-association.cdn-apple.com/a/v1/例如:https://app-site-association.cdn-apple.com/a/v1/spotify.com如正常访问到 apple-app-site-association
4.4 创建 apple-app-site-association 文件,切记没有后缀名,放在服务器根目录下,appID 是 APPID 中 teamID 和项目 bundleID 拼接的,paths 如果 apple-app-site-association 文件中 paths 配置有唤起路径,那么Universal Links要拼接上唤起路径,例如:https://www.xxx.com/wwddd
会检查存储在Web服务器上的文件,以验证您的网站是否允许您的应用程序代表其处理URL 在这里插入图片描述 I 、Adding support for universal links Create an apple-app-site-association Upload the apple-app-site-association file to your HTTPS web server. search.developer.apple.com/appsearch-validation-tool/ https://oia.zhihu.com/apple-app-association https://oia.zhihu.com/apple-app-site-association iOS只会在 App 第一次启动时请求一次 apple-app-site-association 文件,服务器上该文件的更新不会让 iOS 本地的文件同步更新。
申请该网站域的ssl证书 3.将ssl证书配置到网站上 4.随便在根目录下创建个123.txt之类的东西,输入域名访问,看是否正常 ----------我是华丽的分隔线---------- 5.创建一个文件名为“apple-app-site-association ”的无后缀文件 6.将下面的代码复制进去 apple-app-site-association文件内容 { "applinks": { "apps": [],
实现步骤 1.配置https(必须是https)网站支持; 创建“apple-app-site-association”文件,注意不带后缀,放到网站根目录,确保可以使用:https://xxx.xxx.xxx /apple-app-site-association直接可以访问,apple-app-site-association文件内容如下: { "applinks": { "apps
自己补充几点: 1 服务器上配置的json文件apple-app-site-association中的path可以使用通配符。比如:/a/*。 第一个*是通配域名。 3 举个自己写的apple-app-site-association例子: { "applinks": { "apps": [], "details
会检查存储在Web服务器上的文件,以验证您的网站是否允许您的应用程序代表其处理URL 在这里插入图片描述 I 、Adding support for universal links Create an apple-app-site-association Upload the apple-app-site-association file to your HTTPS web server. search.developer.apple.com/appsearch-validation-tool/ https://oia.zhihu.com/apple-app-association https://oia.zhihu.com/apple-app-site-association iOS只会在 App 第一次启动时请求一次 apple-app-site-association 文件,服务器上该文件的更新不会让 iOS 本地的文件同步更新。
4.2 配置Universal Links 1.创建一个名字叫做apple-app-site-association,包含固定格式的json文件 2.将这个文件上传到你的服务器,可以将这个文件放到服务器的根目录下 文件 https://wxtest1.cmfchina.com/apple-app-site-association 文件配置完成之后,将其上传到你的服务器根目录或者.well-known这个子目录下 1.确保使用https://域名.com/apple-app-site-association这个链接可以访问到。 2.也可以使用苹果的验证网站,验证文件是否能被苹果请求到。 如果是未上线的应用,使用验证网站时可能出现如下提示: 出现该提示为apple-app-site-association文件配置正确。 出现404错误码提示,则为apple-app-site-association文件未上传成功,或者使用 https://域名.com/apple-app-site-association路径无法访问。
> </intent-filter></activity>iOS配置要点:在Info.plist中配置URL Types配置Associated Domains entitlement上传apple-app-site-association fallback跨平台一致性:统一深度链接处理逻辑使用Branch.io等第三方SDK简化实现iOS限制问题:对于传参安装,使用Keychain持久化数据对于Universal Links,确保apple-app-site-association
[iOSUniversalLink-14.jpeg] 安全性:只有开发者自己的网络域名配置了 apple-app-site-association,才能调用对应的 App。 Universal Link 配置 只支持 iOS 9+ 拥有一个域名 通过 SSL 访问域名(即支持HTTPS) 上传一个 JSON 文件到域名下(名为 apple-app-site-association [iOSUniversalLink-36.jpeg] 原来的 Universal Link 默认是用户安装应用时就通过 App 里配置的 URL 请求 apple-app-site-association 但可能因为开发者网站的部署距离用户远近不同,导致访问速度无法保障,所以,苹果改为通过 Apple CDN 来请求 apple-app-site-association 配置文件并缓存起来,来针对不用地区的用户 [iOSUniversalLink-46.jpeg] 去年苹果推出的小程序 App Clips(轻 App)也是使用 apple-app-site-association 来配置权限。
放到你域名下,确保访问 “<https://example.com/.well-known/apple-app- site-association>“ 或者 “https://example.com/apple-app-site-association 比如,我的域名是 “https://tjfa.github.io“, 我选择后者的域名,那么我访问 “https://tjfa.github.io /apple-app-site-association
一切配置正确就是不显示 主要说一下问题: 必须是HTTPS,而且证书合规(我们虽然是HTTPS但是证书不合规) 检查apple-app-site-association文件是否放在根目录或者根目录新建.
配置 apple-app-site-association(AASA)文件。 示例: // https://example.com/.well-known/apple-app-site-association { "applinks": { "apps": [],
2951528363703_.pic.jpg 7、我们的App在设备上第一次运行时,如果支持Associated Domains功能,那么iOS会自动去GET定义的Domain下的apple-app-site-association
10.01.11.png] 自己的链接地址生成规则如下, 参考Associating Your App Clip with Your Website 类似于之前配置Universal Link的逻辑,在那个apple-app-site-association
allowing_apps_and_websites_to_link_to_your_content 检查Universal link是否能够唤起App:如不能请查看Universal link配置方法文档,检查能否在浏览器内直接访问apple-app-site-association 以后除非App更新或重新安装,否则不会在每次打开时请求apple-app-site-association 配置Universal link:https://developer.umeng.com/docs
安全性高:Universal Links绑定开发者拥有的域名,通过上传并验证apple-app-site-association文件确保调用权限的唯一性,防止冒用。
要完成数据解析,需要同时在对应Web Server和App Clips分别做配置 image Web Server 需要在网站的 apple-app-site-association file中,添加如下代码段 NSURLComponents(url: incomingURL, resolvingAgainstBaseURL: true) else { return } } 这里,为了更好的支持Clips,apple-app-site-association