升级旧项目支持Universal Links

通过对格言宝库进行升级测试,让其支持Universal Links,记录关键知识点。

1、配置并上传apple-app-site-association

创建文件apple-app-site-association,无后缀,上传至自己服务器.well-known目录下,阿里云虚拟机目录为/htdocs/.well-known

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

{
    "applinks":{
        "apps":[

        ],
        "details":[
            {
                "appID": "TeamID.com.awnlab.geyan",
                "paths": ["/geyan/*"]
            }
        ]
    }
}

上传完成后可通过自己的域名/.well-known/apple-app-site-association进行访问,如果可以访问成功且内容无误则可以进行下一步。

2、更新配置,并添加Associated Domains

在 “info”标签栏的“LSApplicationQueriesSchemes”新增weixinULAPI。

在Target –> Signing & Capabilities 中 +Capability,选择Associated Domains,然后新增一项applinks:域名

例如applinks:www.awnlab.com

3、微信开放平台设置Universal Links

登录开放平台,针对应用设置具体的Universal Links链接,格式为:请填写能唤起当前应用的Universal Links路径(https开头,以“/”结尾, 建议带path,比如“ https://your_domain/app/ ”),在实际调用SDK时,会校验Universal Links是否匹配。

微信使用第三方App的Universal Links唤起第三方App时,会在Universal Links末尾拼接路径和参数,因此开发者Universal Links配置必须加上通配符,并测试Universal Links拼接字符串能否唤起app建议Universal Links配置path,例如/app/*, 避免全域命中Universal Links跳转

微信对Universal Links配置要求:
a)Universal Links必须支持https
b)Universal Links配置的paths不能带query参数
c)微信使用Universal Links拉起第三方App时,会在Universal Links末尾拼接路径和参数,因此App配置的paths必须加上通配符/*

注:目前微信个人开发者无法申请上线应用,因为个人开发者无法认证主体。

您的应用审核被驳回。 驳回原因:关于个人开发者无法去认证主体,但需要申请上线应用的情况,符合两个条件即可: 1)提供软著,上面与上架链接主体一致 2)提供与上线链接开发一致的手持身份照片 。该应用仍以上次审核通过的状态在微信中正常运行

4、更新友盟

将UMCCommon改为UMCommon,UMCShare改为UMShare,并由精简版微信SDK改为完整版微信SDK,UMCShare/Social/ReducedWeChat改为UMShare/Social/WeChat,最后pod update对应类库即可。

代码设置微信的Universal Links:

[UMSocialGlobal shareInstance].universalLinkDic = @{
        @(UMSocialPlatformType_WechatSession):@"你的Universal Links链接,需要跟微信开放平台的保持一致"
    };

如果要开启微信自检,需设置以下代码:

    [WXApi startLogByLevel:WXLogLevelDetail logBlock:^(NSString *log) {
        NSLog(@"WeChatSDK: %@", log);
    }];

[WXApi checkUniversalLinkReady:^(WXULCheckStep step, WXCheckULStepResult* result) {
        NSLog(@"%@, %u, %@, %@", @(step), result.success, result.errorInfo, result.suggestion);
    }];

正确处理回调:

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler {
    if (![[UMSocialManager defaultManager] handleUniversalLink:userActivity options:nil]) {
        // 其他SDK的回调
    }
    return YES;
}

5、自己测试

重新安装应用,多试几次。

备忘录输入自己的链接地址,长按如果出现在“应用名称”中打开,即为成功。

或者在浏览器中输入链接地址,在页面上方出现应用信息和打开按钮,即为成功。

使用苹果网站检测https://search.developer.apple.com/appsearch-validation-tool/

如果确认自己的各项准备工作都已完毕并正确配置,但是长按链接未出现在应用打开,那么别着急,去休息一会再试吧,等待苹果更新Universal Links相关配置。

如果微信分享出现Universal Links验证不通过,请检查相关配置和微信开放平台应用是否已申请上线。


尊重原创内容,转载请注明出处
本文链接地址: https://www.awnlab.com/archives/707

为您推荐

发表评论

邮箱地址不会被公开。 必填项已用*标注