iOS 微信QQ友盟分享 通用链接配置

由于苹果iOS 13系统版本安全升级,微信SDK的openSDK1.8.6版本进行了适配。 1.8.6版本支持Universal Links方式跳转,对openSDK分享进行合法性校验,来提升使用过程中的安全性。如果你的app不做适配,那么有可能在分享的时候会出现“未验证应用”字样。当然,不是所有机型都会出现这个提示,这个和微信的灰度提醒策略有关。

踩过坑的人,为您解答。

1.通用链接文件格式书写

注意看解释


这个图应该很清晰显示填写格式了

如果有多个应用 不能在paths里直接写一个"paths":["*"]    因为有可能应用A调起微信分享后,返回的时候有可能会造成混乱,本来是应用A 调起的微信分享,分享完成之后,点击返回 有可能会调起应用B(当然这要在手机里同时安装应用A和应用B).

参数解释

A、其中 app1app2 代表微信的路径(每个APP的这个字段值互斥,不然分享出错,就会出现上面 的情况)。 

B、/qq_conn/QQ互联key/    代表qq的路径

1.  假如说你的域名为www.xxx.com  那你的bundleID1对应的APP  :

在微信开放平台配置的路径是:https://www.xxx.com/app1/

在QQ互联上配置的路径是:https://www.xxx.com/qq_conn/QQ互联1/(应该只需要填域名就好了,QQ互联网站上填写的时候下面有标注,具体看下标注)   在QQ互联里按要求配置了之后要点击验证,验证通过才能使用。重新配置了通用链接文件, APP应删除重装。重装是为了让APP重新下载最新的配置文件。微信开放平台,QQ互联上配置了,也删除下应用,重装吧,如果重装了还有问题,那就等会儿,可能会好。等的这个时间大概不到半小时,有可能十分钟就能好。我这边试了下,10分钟才好。

2.  注意这里一定是QQ互联上的key。而且在应用中代码里注册的key 也应该是QQ互联的key。

如下图:

#define UniversalLinksWX @"https://域名/app1/"

#define UniversalLinksQQ @"https://域名/qq_conn/QQ互联id"

#define LKQQAppID @"1018xxxxxx"  //应用QQ互联ID

#define LKQQAppKey @"f126xxxxxxxxxxxxxxxxxxxxxxxc7" //应用QQ互联Secret

#define LKWXAppID @"wxe3d1xxxxxxxxxxxxxx56" //微信 AppID

#define LKWXAppKey @"218edefac6cb328fxxxxxxxxxxxxxxxx" //微信 Secret

#define LKSinaKey @"38xxxxxxxxx9" //微博App Key

#define  LKSinaID @"2ba83exxxxxxxxxxxxxxxxxxxxxxxc91d"   //微博App Secret

友盟的主要配置代码

另外微信有个自检函数,一共有六步 如果都正确那就说明配置的基本上没啥问题了。

//    [WXApi checkUniversalLinkReady:^(WXULCheckStep step, WXCheckULStepResult * _Nonnull result) {

//        NSLog(@"分享==wechatSdkre %@, %u, %@, %@", @(step), result.success, result.errorInfo, result.suggestion);

//    }];

3.在info.plist文件里配置的 URL Types QQ 要用腾讯开放平台的ID 不然QQ分享完成之后 返回会有问题。我配置了QQ互联的key 结果每次分享完点击返回 就有个弹框提示 这个是不对的,如果配置了腾讯开放平台申请的key 点击返回就直接能回到应用里。(这里在强调一下,这里的配置是为了分享完成之后 能正确返回你的应用,这里配置tencentxxxxxxx一定是腾讯开放平台的ID,如果配置错了,分享完成点击返回 按钮就返回不了应用。其实也不能讲返回不了,前面说的配置的qq互联的id 也能返回,只不过会多一个弹框询问。具体提示下你可以配置试下)

Xcode info.plist配置

4.下面的链接 是会出现的一些问题 腾讯整理的解答,你可以看看。我之前分享一直提示“未验证应用” 一直好不了,最后才发现确实是它上面说的,要保证今天的正确的分享率要达标,明天才能正确显示。所以做好了应用,就尽早上线。链接地址,可以看看

https://docs.qq.com/doc/DZHNvSGJLS3pqbHNl?tdsourcetag=s_macqq_aiomsg&jumpuin=544037042

5.补充一步:还要把域名在这里 设置,applinks:www.xxx.com   

6.APPdelegate.m 添加回调协议方法 这个具体看下微信文档。

```

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary *)options

{

    //6.3的新的API调用,是为了兼容国外平台(例如:新版facebookSDK,VK等)的调用[如果用6.2的api调用会没有回调],对国内平台没有影响

    BOOL result = [[UMSocialManager defaultManager]  handleOpenURL:url options:options];

    if(!result) {

        // 其他如支付等SDK的回调

    }

    returnresult;

}

- (BOOL)application:(UIApplication*)applicationcontinueUserActivity:(NSUserActivity*)userActivityrestorationHandler:(nonnullvoid(^)(NSArray> *_Nullable))restorationHandler

{

    if (![[UMSocialManager defaultManager] handleUniversalLink:userActivity options:nil]) {

        // 其他SDK的回调

    }

     BOOL ret = [WXApi handleOpenUniversalLink:userActivity delegate:self];

    returnret;

}

```

7.有啥不正确的欢迎指正,有啥不懂的欢迎留言。如果该文章帮到您,动动您的金手指,点个赞。

结束!

你可能感兴趣的:(iOS 微信QQ友盟分享 通用链接配置)