前言
最近更新了友盟share SDK后發(fā)現(xiàn)分享到微博、微信、QQ全部不能用了,通過(guò)各種查閱資料、查看SDK說(shuō)明,最終一個(gè)個(gè)填坑了,在這里記錄一下填坑過(guò)程!
填坑
微博
之前分享到微博用的是UMShareWebpageObject這個(gè)類,但是升級(jí)到6.9.8之后,用這個(gè)就不起作用了,一直提示網(wǎng)絡(luò)連接失敗,百度半天也沒(méi)找到啥原因,最后通過(guò)觀察其他APP分享到微博,發(fā)現(xiàn)分享后下面都有一張圖片,于是就想到是不是分享的圖片,所以就把分享類改成了UMShareImageObject,真的成功了。但是分享出來(lái)后只有一個(gè)圖片,沒(méi)有文字,title和descr都沒(méi)有,后來(lái)又看到UMSocialMessageObject這個(gè)類中有個(gè)text屬性,說(shuō)明是非純文本分享文本,把分享的文字和鏈接都設(shè)置到text里面,終于成功了,下面貼下代碼
// 判斷分享類型,如果是微博,單獨(dú)處理
if (platformType == UMSocialPlatformType_Sina) {
UMShareImageObject *shareObject = [UMShareImageObject shareObjectWithTitle:nil descr:nil thumImage:nil];
// 分享的圖片
shareObject.shareImage = thumbImage;
// 分享的文字和鏈接
messageObject.text = [NSString stringWithFormat:@"%@%@", data.share_title, data.web_url];
messageObject.shareObject = shareObject;
}
不知道是UMShareWebpageObject這個(gè)類不起作用了,還是我使用的姿勢(shì)不對(duì),如果有人知道可以分享下。
微信
關(guān)于微信的更新友盟SDK上有說(shuō)明
1、SSO白名單中額外增加了weixinULAPI

2、增加設(shè)置universalLink的API,需要在初始化SDK的時(shí)候設(shè)置,同時(shí)需要在微信開(kāi)放平臺(tái)配置universalLink
//配置微信平臺(tái)的Universal Links
[UMSocialGlobal shareInstance].universalLinkDic = @{@(UMSocialPlatformType_WechatSession):
@"https://umplus-sdk-download.oss-cn-shanghai.aliyuncs.com/"};
設(shè)置之后試了一下,發(fā)現(xiàn)跳轉(zhuǎn)到微信后顯示正在連接中,之后又跳回APP就沒(méi)反應(yīng)了,后來(lái)通過(guò)查詢微信的SDK發(fā)現(xiàn)需要設(shè)置Universal Links系統(tǒng)回調(diào),后來(lái)看了看友盟的SDK,也提供了方法
3、設(shè)置Universal Links系統(tǒng)回調(diào)
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray * __nullable restorableObjects))restorationHandler
{
if (![[UMSocialManager defaultManager] handleUniversalLink:userActivity options:nil]) {
// 其他SDK的回調(diào)
}
return YES;
}
通過(guò)上面的三步,微信分享成功了,但是在首次分享的時(shí)候會(huì)出現(xiàn)“正在連接”的提示,并跳轉(zhuǎn)返回app后再打開(kāi)微信出現(xiàn)聯(lián)系人列表,第二次分享就沒(méi)問(wèn)題了,這應(yīng)該是微信升級(jí)Universal Links的一個(gè)坑吧。
更新友盟SDK6.9.8之后分享到QQ會(huì)提示一個(gè)錯(cuò)誤,具體是什么忘記了,更新步驟跟微信差不多
1、需要額外增加SSO白名單mqqopensdklaunchminiapp和mqqopensdkminiapp
2、增加設(shè)置universalLink的API
3、設(shè)置Universal Links系統(tǒng)回調(diào)
第2步略有不同,具體是需要在QQ互聯(lián)的官網(wǎng),找到對(duì)應(yīng)的APP,設(shè)置universalLink,具體可查看填寫(xiě)及校驗(yàn)universallinks,然后更新apple-app-site-association文件

最后
通過(guò)上面的步驟,友盟分享6.9.8的坑最終都解決了,如果你有疑問(wèn)或者建議,歡迎在下面留言,我們一起交流學(xué)習(xí)。