前言
最近更新了友盟share SDK后發(fā)現(xiàn)分享到微博豫柬、微信告希、QQ全部不能用了,通過各種查閱資料烧给、查看SDK說明燕偶,最終一個個填坑了,在這里記錄一下填坑過程础嫡!
填坑
微博
之前分享到微博用的是UMShareWebpageObject
這個類指么,但是升級到6.9.8之后,用這個就不起作用了榴鼎,一直提示網(wǎng)絡(luò)連接失敗伯诬,百度半天也沒找到啥原因,最后通過觀察其他APP分享到微博巫财,發(fā)現(xiàn)分享后下面都有一張圖片盗似,于是就想到是不是分享的圖片,所以就把分享類改成了UMShareImageObject
平项,真的成功了赫舒。但是分享出來后只有一個圖片,沒有文字闽瓢,title
和descr
都沒有接癌,后來又看到UMSocialMessageObject
這個類中有個text
屬性,說明是非純文本分享文本扣讼,把分享的文字和鏈接都設(shè)置到text
里面扔涧,終于成功了,下面貼下代碼
// 判斷分享類型届谈,如果是微博枯夜,單獨處理
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
這個類不起作用了,還是我使用的姿勢不對艰山,如果有人知道可以分享下湖雹。
微信
關(guān)于微信的更新友盟SDK上有說明
1、SSO白名單中額外增加了weixinULAPI
2曙搬、增加設(shè)置universalLink的API摔吏,需要在初始化SDK的時候設(shè)置,同時需要在微信開放平臺配置universalLink
//配置微信平臺的Universal Links
[UMSocialGlobal shareInstance].universalLinkDic = @{@(UMSocialPlatformType_WechatSession):
@"https://umplus-sdk-download.oss-cn-shanghai.aliyuncs.com/"};
設(shè)置之后試了一下纵装,發(fā)現(xiàn)跳轉(zhuǎn)到微信后顯示正在連接中征讲,之后又跳回APP就沒反應(yīng)了,后來通過查詢微信的SDK發(fā)現(xiàn)需要設(shè)置Universal Links系統(tǒng)回調(diào)橡娄,后來看了看友盟的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;
}
通過上面的三步挽唉,微信分享成功了滤祖,但是在首次分享的時候會出現(xiàn)“正在連接”的提示筷狼,并跳轉(zhuǎn)返回app后再打開微信出現(xiàn)聯(lián)系人列表,第二次分享就沒問題了匠童,這應(yīng)該是微信升級Universal Links的一個坑吧埂材。
更新友盟SDK6.9.8之后分享到QQ會提示一個錯誤,具體是什么忘記了汤求,更新步驟跟微信差不多
1俏险、需要額外增加SSO白名單mqqopensdklaunchminiapp和mqqopensdkminiapp
2、增加設(shè)置universalLink的API
3扬绪、設(shè)置Universal Links系統(tǒng)回調(diào)
第2步略有不同竖独,具體是需要在QQ互聯(lián)的官網(wǎng),找到對應(yīng)的APP勒奇,設(shè)置universalLink预鬓,具體可查看填寫及校驗universallinks,然后更新apple-app-site-association文件
最后
通過上面的步驟赊颠,友盟分享6.9.8的坑最終都解決了格二,如果你有疑問或者建議,歡迎在下面留言竣蹦,我們一起交流學(xué)習(xí)顶猜。