微信 UniversalLink 详解

2020-08-11  本文已影响0人  小凡凡520
一、准备好一个文件名字叫做:apple-app-site-association

不要加后缀名,里面放的是标准的json。

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "9JA89QQLNQ.com.apple.wwdc",
                "paths": [ "/wwdc/news/", "/videos/wwdc/2015/*"]
            },
            {
                "appID": "ABCD1234.com.apple.wwdc",
                "paths": [ "*" ]
            }
        ]
    }
}

9JA89QQLNQ :这个玩意是teamID,可以在开发者中心的appid详情中看到

com.apple.wwdc:这个玩意是bundle id

paths:用来指定打开不同的APP或APP不同的页面。APP中能接收到这个参数,我们可以拿来判断要跳转到哪个页面

举例:
"域名/wwdc/news/", 这个链接就能吊起9JA89QQLNQ下边的‘com.apple.wwdc’ 这个bundleId对应的APP
如果直接点击"域名"这个链接,只能吊起ABCD1234下边的”com.apple.wwdc“这个APP。
但是一般我们自己的做法是,teamID是一样的,然后账号下不同的APP的bundle id是不同的,所以可以用path来配置打开我们不同的APP
二、找后端小伙把文件放入到一个域名下的根目录,必须支持HTTPS协议,让我们请求 "域名/apple-app-site-association"能请求到。因为没指定请求头的类型,所以请求下来的是个文件
三、需要使用UniversalLink的APPID需要打开通用链接功能
9041905-8617092a5934ba74.png
四、工程中添加Associated Domains
格式是:
applinks:+域名,例如[applinks:www.jianshu.com]

注意,域名前不需要加https://,后边也不需要加/

9041905-189bd19cecf1572a.png
五、代码修改
    func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
        return WXApi.handleOpenUniversalLink(userActivity, delegate: self)
    }
六、测试

一般只会在APP下载完后初次启动才会下载这个文件,所以如果修改了apple-app-site-association文件,请删除APP后重新下载。

在备忘录中,输入那个域名,拼上你设置的path,如果path是*,代表的域名本身链接即可吊起。如果点击连接能直接跳转到我们的APP,说明配置成功!

上一篇 下一篇

猜你喜欢

热点阅读