神剑若水哥:iOS开发微信登录的通用链接Univerasl Li

2020-04-08  本文已影响0人  神剑若水哥

博客时间:2020年 4月8日

软件:XCODE 11.3.1

1.后台文件配置 :

1.1 用命令建立一个文件,名字:apple-app-site-association。不要后缀名。

名字不能错:
名字不能错:
名字不能错:
touch apple-app-site-association

打开编译器,在这个文件中写入如下内容

{
"applinks": {
        "apps": [],
        "details": [
            {
                "appID": "TeamID.BundleID",
                "paths": ["/hehe/*"]
            },
        ]
    }
}
TeamID:你的开发者账号的的TeamID :
image-20200408110513538
BundleID:你App 的BundleID :
image-20200408110715947
/hehe/:是你的访问路径。比如说你的服务器的域名是 www.baidu.com .那么你访问的路径为 www.baidu.com/hehe/ 不要忘记后面的通配符。

1.2 把这个apple-app-site-association 文件放在服务器的根目录里。测试一下,是不是能访问。

注意:服务器要支持https

2 开发账号设置

2.1 开发账号bunldId 设置,选中 Associated Domains

image-20200408113447317

2.2 重新编辑profile:

找到对应的profie 编辑有一下,重新下载,打开

image-20200408113813763
重新编辑profile,下载以后编辑;
image-20200408114149132

3.工程设置

3.1 增加 Associated Domains
image-20200408114606496

3.2 配置链接:

前缀:是固定的applinks :
域名:是你服务器的域名,必须是https,

注意:Domains 配置的时候不能带https 。

如,正确为:applinks:www.baidu.com
错误写为:applinks:https://www.baidu.com
image

3.3 配置工程LSApplicationQueriesSchemes;

在工程的info.pist 加入如下三个键值

image-20200408115118201

3.4 配置工程 ”-ObjC -all_load“

image

4.增加代码

4.1 AppDelegate.m 增加代码

a.WX_LINKURL 是通用链接Univerasl Link:你的服务器域名+你配置的hehe
b.WXAPPID 是微信注册的AppID
比如:你的服务器域名为 https://www.baidu.com 在1.1 步骤,你的配置paths 为 /hehe/* 你的Univerasl Link为: https://www.baidu.com/hehe/
#import "AppDelegate.h"
[WXApi registerApp:WXAPPID universalLink:WX_LINKURL];

4.2 AppDelegate.m 回调方法

-(BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler{
    NSLog(@"userActivity : %@",userActivity.webpageURL.description);
    
     return [WXApi handleOpenUniversalLink:userActivity delegate:self];
}

5.微信Univerasl Link配置

就拿4.1 举例,Univerasl Link需要配置成为https://www.baidu.com/hehe/,既可以。
这个不需要审核,立刻生效。

6.测试代码

    DLog(@"微信当前SDK版本:%@",[WXApi getApiVersion]);
    //调用自检函数
    [WXApi checkUniversalLinkReady:^(WXULCheckStep step, WXCheckULStepResult* result) {
        DLog(@"%@, %u, %@, %@", @(step), result.success, result.errorInfo, result.suggestion);
        DLog(@"微信你好?");
    }];

结果:

0, 1, check passed,
1, 1, check passed, 
2, 1, check passed, 
3, 1, check passed, 
4, 1, check passed,
5, 1, Universal Link check passed. The application is launched by WeChat via Universal Link, 
6, 1, All Check Passed!, 

7.实际分享 出现了如下所示的问题:

image.png

--------------------------------------------------------------------------------------------------------待续---------------------------------------

目前正在微信平台提问题,反题。等待客服回答。

经过了快一周的等待,客服终于有了反馈,大致意思是我们虽然用了微信1.8.7的SDK,但是没有用户分享数据的记录,或者说是分享的记录不多,所以还是显示未验证的应用。下面是我们的回复记录。

image

但是我是2020年12月16日查看的App微信分享功能,已经没有未验证应用的问题了,应该是分享次数达到了要求。我感觉只要自检函数通过,多让用户分享一下,安心等待一下就可以了。

如果有喜欢的请点个赞吧。有疑问,请留言,

上一篇下一篇

猜你喜欢

热点阅读