五分钟速通 AASA(apple-app-site-association)

1,496 阅读2分钟
  • [keyword]: React Native, 教程, 前端, iOS, Expo

前言

本文非系统性讲解, 旨在记录流程关键点, 本文主要面向用户是 Expo 开发者, 如果你是 iOS 开发者, 请使用 “Universal Links 教程” 之类的关键词.

app.config.json 配置

{
	"ios": {
		"associatedDomains": [
      "applinks:你的域名例如",
			"applinks:spotify.com"
    ],
	}
}

AASA 文件

AASA 用途自行谷歌, 这里提供一个示例的格式, 然后在本地创建一个 apple-app-site-association 文件, 确保不要有什么后缀.

{
    "applinks":{
        "apps":[],
        "details":[
            {
                "appID":"TeamID.BundleID",
                "paths":["*"]
            }
        ]
    }
}

需要修改的有两个地方

  1. appID: 由 TeamID + “.” + 包名组成, 例如 Spotify 这里填写是8W66MEA7DD.com.spotify.client
  2. paths: 这个文件将来要放在 associatedDomains 配置的域名根目录上, paths 表示 associatedDomains 配置的域名下那些路径可以打开 app, 这里我们配置为 “*”, 表示所有路径都行, 先跑起来再说.

经过上面两处修改, 接下来要做的就是将文件放到域名的根目录 或者根目录/.well-known

OK, 这时候你可能已经很急了, 但是你先别急, 先把这个文件校验一下, 看看 JSON 格式是否合法, 如果 JSON 不合法就不会被正确识别.

成功了吗?

如果你运气很好, 一次就成功了, 那么, 恭喜这个 B, 但是这个概率很低, 所以建议先自我校验.

如果你和笔者一样, 配置好之后还是无法打开, 可以尝试两种验证方法.

  1. 手动访问你服务器的 apple-app-site-association 文件

    1. https://你的名字.com/apple-app-site-association 或者 https://你的名字.com/.well-known/apple-app-site-association 看看是否正确返回文件
  2. 访问 app-site-association.cdn-apple.com/a/v1/spotif… , 把 spotify.com 部分换成你自己的域名, 测试是否正确返回 apple-app-site-association 的内容

  3. 使用 yURL: Universal Links / App Links Validator (chayev.com) 验证, 例如 spotify.com 的验证结果为 yURL: Universal Links Validator (chayev.com)

如果你在验证过程中发现问题, 并且进行修正后 app-site-association.cdn-apple.com/a/v1/你的名字.com 还是没有正确返回结果, 别着急, 这是 apple 的问题, 你要做的就是耐心等待 3-4 小时, 等待 apple 刷新缓存.

OK, 到这里就结束了, 祝大家码上开心.