iOS集成友盟分享

友盟分享文檔傳送門:https://developer.umeng.com/docs/66632/detail/66825

文章目錄結構:

---1、集成SDK

-----1.1 自動集成(cocoapods)

-----1.2 手動集成

-------1.2.1 下載對應的SDK(我用的只有分享SDK)

-------1.2.2 導入SDK到項目中

-------1.2.3 添加項目配置

-------1.2.4?加入依賴系統庫

---2、配置SSO白名單:設置白名單為的是能夠獲取第三方平臺的授權

---3、配置URL Scheme:目的是能夠在分享結束后跳回到自己的app中

---4、初始化設置

---5、調用分享方法

---6、集成友盟分享遇到的問題以及解決方案


1、集成SDK

1.1 自動集成(cocoapods)

? ? ? ?見文檔。

1.2 手動集成

? ? 1.2.1 下載對應的SDK(我用的只有分享SDK)

1.2.2 導入SDK到項目中

1.2.3 添加項目配置

在Other Linker Flags加入-ObjC ,注意不要寫為-Objc

-ObjC屬于鏈接庫必備參數,如果不加此項,會導致庫文件無法被正確鏈接,SDK無法正常運行

1.2.4?加入依賴系統庫

加入以下系統庫:

libsqlite3.tbd

CoreGraphics.framework

(注意:第三方平臺庫添加,根據集成的不同平臺加入相關的依賴庫,具體可看文檔)

2、配置SSO白名單:設置白名單為的是能夠獲取第三方平臺的授權

在項目中的info.plist中加入應用白名單,右鍵info.plist選擇source code打開,加入以下代碼(可根據自身需要進行刪減):

<key>LSApplicationQueriesSchemes</key>

<array>

? ? <!-- 微信 URL Scheme 白名單-->

? ? <string>wechat</string>

? ? <string>weixin</string>

? ? <!-- 新浪微博 URL Scheme 白名單-->

? ? <string>sinaweibohd</string>

? ? <string>sinaweibo</string>

? ? <string>sinaweibosso</string>

? ? <string>weibosdk</string>

? ? <string>weibosdk2.5</string>

? ? <!-- QQ、Qzone URL Scheme 白名單-->

? ? <string>mqqapi</string>

? ? <string>mqq</string>

? ? <string>mqqOpensdkSSoLogin</string>

? ? <string>mqqconnect</string>

? ? <string>mqqopensdkdataline</string>

? ? <string>mqqopensdkgrouptribeshare</string>

? ? <string>mqqopensdkfriend</string>

? ? <string>mqqopensdkapi</string>

? ? <string>mqqopensdkapiV2</string>

? ? <string>mqqopensdkapiV3</string>

? ? <string>mqqopensdkapiV4</string>

? ? <string>mqzoneopensdk</string>

? ? <string>wtloginmqq</string>

? ? <string>wtloginmqq2</string>

? ? <string>mqqwpa</string>

? ? <string>mqzone</string>

? ? <string>mqzonev2</string>

? ? <string>mqzoneshare</string>

? ? <string>wtloginqzone</string>

? ? <string>mqzonewx</string>

? ? <string>mqzoneopensdkapiV2</string>

? ? <string>mqzoneopensdkapi19</string>

? ? <string>mqzoneopensdkapi</string>

? ? <string>mqqbrowser</string>

? ? <string>mttbrowser</string>

? ? <string>tim</string>

? ? <string>timapi</string>

? ? <string>timopensdkfriend</string>

? ? <string>timwpa</string>

? ? <string>timgamebindinggroup</string>

? ? <string>timapiwallet</string>

? ? <string>timOpensdkSSoLogin</string>

? ? <string>wtlogintim</string>

? ? <string>timopensdkgrouptribeshare</string>

? ? <string>timopensdkapiV4</string>

? ? <string>timgamebindinggroup</string>

? ? <string>timopensdkdataline</string>

? ? <string>wtlogintimV1</string>

? ? <string>timapiV1</string>

? ? <!-- 支付寶 URL Scheme 白名單-->

? ? <string>alipay</string>

? ? <string>alipayshare</string>

? ? <!-- 釘釘 URL Scheme 白名單-->

? ? ? <string>dingtalk</string>

? ? ? <string>dingtalk-open</string>

? ? <!--Linkedin URL Scheme 白名單-->

? ? <string>linkedin</string>

? ? <string>linkedin-sdk2</string>

? ? <string>linkedin-sdk</string>

? ? <!-- 點點蟲 URL Scheme 白名單-->

? ? <string>laiwangsso</string>

? ? <!-- 易信 URL Scheme 白名單-->

? ? <string>yixin</string>

? ? <string>yixinopenapi</string>

? ? <!-- instagram URL Scheme 白名單-->

? ? <string>instagram</string>

? ? <!-- whatsapp URL Scheme 白名單-->

? ? <string>whatsapp</string>

? ? <!-- line URL Scheme 白名單-->

? ? <string>line</string>

? ? <!-- Facebook URL Scheme 白名單-->

? ? <string>fbapi</string>

? ? <string>fb-messenger-api</string>

? ? <string>fb-messenger-share-api</string>

? ? <string>fbauth2</string>

? ? <string>fbshareextension</string>

? ? <!-- Kakao URL Scheme 白名單-->?

? ? <!-- 注:以下第一個參數需替換為自己的kakao appkey-->

? ? <!-- 格式為 kakao + "kakao appkey"-->? ?

? ? <string>kakaofa63a0b2356e923f3edd6512d531f546</string>

? ? <string>kakaokompassauth</string>

? ? <string>storykompassauth</string>

? ? <string>kakaolink</string>

? ? <string>kakaotalk-4.5.0</string>

? ? <string>kakaostory-2.9.0</string>

? <!-- pinterest URL Scheme 白名單-->?

? ? <string>pinterestsdk.v1</string>

? <!-- Tumblr URL Scheme 白名單-->?

? ? <string>tumblr</string>

? <!-- 印象筆記 -->

? ? <string>evernote</string>

? ? <string>en</string>

? ? <string>enx</string>

? ? <string>evernotecid</string>

? ? <string>evernotemsg</string>

? <!-- 有道云筆記-->

? ? <string>youdaonote</string>

? ? <string>ynotedictfav</string>

? ? <string>com.youdao.note.todayViewNote</string>

? ? <string>ynotesharesdk</string>

? <!-- Google+-->

? ? <string>gplus</string>

? <!-- Pocket-->

? ? <string>pocket</string>

? ? <string>readitlater</string>

? ? <string>pocket-oauth-v1</string>

? ? <string>fb131450656879143</string>

? ? <string>en-readitlater-5776</string>

? ? <string>com.ideashower.ReadItLaterPro3</string>

? ? <string>com.ideashower.ReadItLaterPro</string>

? ? <string>com.ideashower.ReadItLaterProAlpha</string>

? ? <string>com.ideashower.ReadItLaterProEnterprise</string>

? <!-- VKontakte-->

? ? <string>vk</string>

? ? <string>vk-share</string>

? ? <string>vkauthorize</string>

? <!-- Twitter-->

? ? <string>twitter</string>

? ? <string>twitterauth</string>

</array>


3、配置URL Scheme:目的是能夠在分享結束后跳回到自己的app中

·配置第三方平臺URL Scheme未列出則不需設置

4、初始化設置

4.1 在項目 AppDelegate.m 中引用#import <UMShare/UMShare.h>和#import?<UMCommon/UMCommon.h>

4.2 在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{}方法中,設置友盟appkey并調用-(void)confitUShareSettings方法:

- (void)configUSharePlatforms {

?? ?/* 設置微信的appKey和appSecret */

? ? [[UMSocialManager defaultManager] setPlaform:UMSocialPlatformType_WechatSession appKey:@"wxdc1e388c3822c80b" appSecret:@"3baf1193c85774b3fd9d18447d76cab0" redirectURL:@"http://mobile.umeng.com/social"];

? ? /*

? ? * 移除相應平臺的分享,如微信收藏

? ? */

? ? //[[UMSocialManager defaultManager] removePlatformProviderWithPlatformTypes:@[@(UMSocialPlatformType_WechatFavorite)]];

? ? /* 設置分享到QQ互聯的appID

? ? * U-Share SDK為了兼容大部分平臺命名,統一用appKey和appSecret進行參數設置,而QQ平臺僅需將appID作為U-Share的appKey參數傳進即可。

? ? */

? ? [[UMSocialManager defaultManager] setPlaform:UMSocialPlatformType_QQ appKey:@"1105821097"/*設置QQ平臺的appID*/? appSecret:nil redirectURL:@"http://mobile.umeng.com/social"];

? ? /* 設置新浪的appKey和appSecret */

? ? [[UMSocialManager defaultManager] setPlaform:UMSocialPlatformType_Sina appKey:@"3921700954"? appSecret:@"04b48b094faeb16683c32669824ebdad" redirectURL:@"https://sns.whalecloud.com/sina2/callback"];

? ? /* 釘釘的appKey */

? ? [[UMSocialManager defaultManager] setPlaform: UMSocialPlatformType_DingDing appKey:@"dingoalmlnohc0wggfedpk" appSecret:nil redirectURL:nil];

? ? /* 支付寶的appKey */

? ? [[UMSocialManager defaultManager] setPlaform: UMSocialPlatformType_AlipaySession appKey:@"2015111700822536" appSecret:nil redirectURL:@"http://mobile.umeng.com/social"];

? ? /* 設置易信的appKey */

? ? [[UMSocialManager defaultManager] setPlaform: UMSocialPlatformType_YixinSession appKey:@"yx35664bdff4db42c2b7be1e29390c1a06" appSecret:nil redirectURL:@"http://mobile.umeng.com/social"];

? ? /* 設置點點蟲(原來往)的appKey和appSecret */

? ? [[UMSocialManager defaultManager] setPlaform: UMSocialPlatformType_LaiWangSession appKey:@"8112117817424282305" appSecret:@"9996ed5039e641658de7b83345fee6c9" redirectURL:@"http://mobile.umeng.com/social"];

? ? /* 設置領英的appKey和appSecret */

? ? [[UMSocialManager defaultManager] setPlaform:UMSocialPlatformType_Linkedin appKey:@"81t5eiem37d2sc"? appSecret:@"7dgUXPLH8kA8WHMV" redirectURL:@"https://api.linkedin.com/v1/people"];

? ? /* 設置Twitter的appKey和appSecret */

? ? [[UMSocialManager defaultManager] setPlaform:UMSocialPlatformType_Twitter appKey:@"fB5tvRpna1CKK97xZUslbxiet"? appSecret:@"YcbSvseLIwZ4hZg9YmgJPP5uWzd4zr6BpBKGZhf07zzh3oj62K" redirectURL:nil];

? ? /* 設置Facebook的appKey和UrlString */

? ? [[UMSocialManager defaultManager] setPlaform:UMSocialPlatformType_Facebook appKey:@"506027402887373"? appSecret:nil redirectURL:@"http://www.umeng.com/social"];

? ? /* 設置Pinterest的appKey */

? ? [[UMSocialManager defaultManager] setPlaform:UMSocialPlatformType_Pinterest appKey:@"4864546872699668063"? appSecret:nil redirectURL:nil];

? ? /* dropbox的appKey */

? ? [[UMSocialManager defaultManager] setPlaform: UMSocialPlatformType_DropBox appKey:@"k4pn9gdwygpy4av" appSecret:@"td28zkbyb9p49xu" redirectURL:@"https://mobile.umeng.com/social"];

? ? /* vk的appkey */

? ? [[UMSocialManager defaultManager]? setPlaform:UMSocialPlatformType_VKontakte appKey:@"5786123" appSecret:nil redirectURL:nil];

}


5、調用分享方法

-(void)toShare {

/** 設置分享面板圖標的排序,可忽略使用默認排序 */

//? ? NSArray *baseDisplaySnsPlatforms = @[@(UMSocialPlatformType_WechatSession),

//? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? @(UMSocialPlatformType_QQ)

//? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ];

//? ? [UMSocialUIManager setPreDefinePlatforms:baseDisplaySnsPlatforms];

? ? //顯示分享面板

? ? [UMSocialUIManager showShareMenuViewInWindowWithPlatformSelectionBlock:^(UMSocialPlatformType platformType, NSDictionary *userInfo) { ? ? ? ?

????????//創建分享消息對象

? ? ? ? UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject];

? ? ? ? //創建網頁內容對象

? ? ? ? UMShareWebpageObject*shareObject = [UMShareWebpageObjectshareObjectWithTitle:@"挑戰你的記憶力"descr:@"魚的記憶有七秒,你的呢?"thumImage:[UIImage imageNamed:@"loginIcon"]];

? ? ? ? //設置網頁地址

? ? ? ? shareObject.webpageUrl=kUpdateLine;?

? ? ? ?//分享消息對象設置分享內容對象

? ? ? ? messageObject.shareObject= shareObject;

? ? ? ? //調用分享接口

? ? ? ? [[UMSocialManager defaultManager] shareToPlatform:platformType messageObject:messageObject currentViewController:nil completion:^(id data, NSError *error)

?? ? ? ? {

?? ? ? ? ? ? NSLog(@"%@",data);

?? ? ? ? ? ? if(error) {

?? ? ? ? ? ? ? ? UMSocialLogInfo(@"************Share fail with error %@*********",error);

?? ? ? ? ? ? }

?? ? ? ? ? ? if([dataisKindOfClass:[UMSocialShareResponseclass]]) {

?? ? ? ? ? ? ? ? UMSocialShareResponse*resp = data;

?? ? ? ? ? ? ? ? //分享結果消息

?? ? ? ? ? ? ? ? UMSocialLogInfo(@"response message is %@",resp.message);

?? ? ? ? ? ? ? ? //第三方原始返回的數據

?? ? ? ? ? ? ? ? UMSocialLogInfo(@"response originalResponse data is %@",resp.originalResponse);

?? ? ? ? ? ? }else{

?? ? ? ? ? ? ? ? UMSocialLogInfo(@"response data is %@",data);

?? ? ? ? ? ? }


?? ? ? ? }];

? ? }];

}


6、集成友盟分享遇到的問題以及解決方案

6.1 問:點擊分享后沒有彈出分享面板?

? ? ? 答:

6.2 問:分享面板沒有任何第三方平臺的圖標?

? ? ? 答:①確認真機已經安裝對應的應用;

? ? ? ? ? ? ? ②確認APPDelegate.m中調用了-(void)confitUShareSettings方法;

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,563評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,694評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,672評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,965評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,690評論 6 413
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,019評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,013評論 3 449
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,188評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,718評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,438評論 3 360
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,667評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,149評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,845評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,252評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,590評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,384評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,635評論 2 380