通用链接-Universal Link

前言

通用链接与URL Scheme的用途类似,主要是实现从外部唤醒App,并执行某些操作(如:打开指定页面)。

由于使用URL Scheme(wechat://path?quary)从当前App唤醒自己的应用时,需要添加应用的URL Scheme到当前App的白名单中,限制该方法的灵活性,使用Universal link刚好可以解决这样的问题 (https://域名/path)。

应用

链接必须是https协议,且在webView打开链接时为跨域的方式(与当前域名不同),才会被作为通用链接唤起。

在根目录或者.well-know目录中存放文件名为apple-app-site-association的文件。(https://域名/.well-know/apple-app-site-association 或 https://域名/apple-app-site-association)

m.iqiyi.com Universal Link 配置

m.qq.com Universal Link 配置

apple-app-site-association文件的内容格式如下:

{
   "applinks":{
       "apps":[],
       "detail":[
           {
               "appID": "TeamID.com.app.once",
               "paths": [ "/once/deeplink/*", "/once/download/*"]
           }, {
               "appID": "TeamID.com.app.second",
               "paths": [ "/second/deeplink/*", "/second/download/*"]
           }
        ]
   }
}

1、苹果开发者中心选中对应的Identifier,开启ASSociated Domains服务

2、在Xcode中,Target-Capabilities开启并设置Associated Domains

扫描二维码关注公众号,回复: 16991055 查看本文章

3、IOS回调处理

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(nonnull void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler {
    
    if ([userActivity.activityType isEqualToString:NSUserActivityTypeBrowsingWeb]) {
        NSURL *webUrl = userActivity.webpageURL;
        if ([webUrl.host isEqualToString:@"域名"]) {

        }  
    }
    return YES;
}

猜你喜欢

转载自blog.csdn.net/z119901214/article/details/89501314
今日推荐