iOS開發之快速集成友盟社會化分享功能(v6.1.1)

1. U-Share SDK集成

1.1 下載U-Share SDK

通過iOS社會化組件選擇所需的社交平臺后進行下載,下載鏈接

SDK目錄介紹
  • Document - U-Share SDK文檔
  • UMSocialDemo - U-Share SDK Demo(如點選下載)
    UMSocial - U-Share SDK核心目錄
    UMSocialSDK - U-Share SDK核心framework
    UMSocialUI - U-Share 分享UI資源、分享面板framework
  • SocialLibraries - 所選擇下載的第三方平臺SDK及U-Share鏈接庫

1.2 加入U-Share SDK

將U-Share SDK添加到工程
添加項目配置

在Other Linker Flags加入-ObjC

加入依賴系統庫
選中項目Target -> Linked Frameworks and Libraries列表中添加依賴庫
SystemConfiguration.framework
CoreTelephony.framework
ImageIO.framework
libsqlite3.tbd
libc++.tbd
libz.tbd

2. U-Share SDK平臺配置

從這一步驟就開始需要第三方appKey和appSecret等信息,可參考鏈接申請所需的平臺賬號。

2.1 配置各平臺URL Scheme

2.1.1 添加URL Types

URL Scheme是通過系統找到并跳轉對應app的一類設置,通過向項目中的info.plist文件中加入URL types可使用第三方平臺所注冊的appkey信息向系統注冊你的app,當跳轉到第三方應用授權或分享后,可直接跳轉回你的app。

添加URL Types有如下幾處,都可進行設置
  • 1 通過工程設置面板


  • 2 通過info.plist文件編輯


  • 3 直接編輯info.plist中XML代碼


2.1.2 配置第三方平臺URL Scheme(未列出則不需設置)
平臺 格式 舉例 備注
微信 appKey wxdc1e388c3822c80b
QQ/Qzone 以下兩項都需添加:1、"tencent"+騰訊QQ互聯應用appID 2、“QQ”+騰訊QQ互聯應用appID轉換成十六進制(不足8位前面補0) appID:1004244681、tencent100424468 2、QQ05fc5b14 100424468轉十六進制為5fc5b14,因不足8位向前補0,結果為05fc5b14,加"QQ"前綴QQ05fc5b14
新浪微博 “wb”+新浪appKey wb3921700954
釘釘 釘釘appkey dingoalmlnohc0wggfedpk URL Type中的identifier填"dingtalk"
支付寶 “ap”+appID ap2015111700822536 URL Type中的identifier填"alipayShare"
易信 易信appkey yx35664bdff4db42c2b7be1e29390c1a06
點點蟲 點點蟲appID 8112117817424282305 URL Type中的identifier填"Laiwang"

2.2 適配iOS9/10系統

iOS9系統后Apple對HTTP請求及訪問外部應用做了更加嚴格的要求,包括HTTP白名單、跳轉第三方應用白名單等,適配iOS9/10系統

3.初始化設置

3.1 初始化U-Share及第三方平臺

app啟動后進行U-Share和第三方平臺的初始化工作 以下代碼將所有平臺初始化示例放出,開發者根據平臺需要選取相應代碼,并替換為所屬注冊的appKey和appSecret。
在AppDelegate.m中設置如下代碼

-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions {
      [[UMSocialManager defaultManager] openLog:YES];
      //設置友盟appkey
      [[UMSocialManager defaultManager] setUmSocialAppkey:@"57b432afe0f55a9832001a0a"];
      //NSLog(@"UMeng social version: %@", [UMSocialGlobal umSocialSDKVersion]);
      //設置微信的appId和appKey
      [[UMSocialManager defaultManager] setPlaform:UMSocialPlatformType_WechatSession appKey:@"wxf84eca1790791ae0"appSecret:@"3baf1193c85774b3fd9d18447d76cab0" redirectURL:@"http://mobile.umeng.com/social"];
      //設置分享到QQ互聯的appId和appKey
      [[UMSocialManager defaultManager] setPlaform:UMSocialPlatformType_QQ appKey:@"100424468"  appSecret:@"100424468" redirectURL:@"http://mobile.umeng.com/social"];
      //設置新浪的appId和appKey
      [[UMSocialManager defaultManager] setPlaform:UMSocialPlatformType_SinaappKey:@"3921700954"  appSecret:@"04b48b094faeb16683c32669824ebdad" redirectURL:@"http://sns.whalecloud.com/sina2/callback"];
      // 如果不想顯示平臺下的某些類型,可用以下接口設置
      [[UMSocialManager defaultManager] removePlatformProviderWithPlatformTypes:@[@(UMSocialPlatformType_WechatFavorite),@(UMSocialPlatformType_QQ)]];   
      return YES;
 } 

3.1.2 設置系統回調
- (BOOL)application:(UIApplication *)application openURL:(NSURL )url sourceApplication:(NSString)sourceApplication annotation:(id)annotation
{
BOOL result = [[UMSocialManager defaultManager] handleOpenURL:url];
if (!result) {

}
return result;
}

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{
BOOL result = [[UMSocialManager defaultManager] handleOpenURL:url];
if (!result) {
    
}
return result;
}

4. 第三方平臺分享

4.1 彈出分享面板

- (IBAction)share:(id)sender {    
    [UMSocialUIManager addCustomPlatformWithoutFilted:UMSocialPlatformType_UserDefine_Begin+2
                                 withPlatformIcon:[UIImage imageNamed:@"二維碼圖標"]
                                 withPlatformName:@"二維碼"];

   [UMSocialShareUIConfig shareInstance].sharePageGroupViewConfig.sharePageGroupViewPostionType =   UMSocialSharePageGroupViewPositionType_Bottom;
   [UMSocialShareUIConfigshareInstance].sharePageScrollViewConfig.shareScrollViewPageItemStyleType =   UMSocialPlatformItemViewBackgroudType_None;
   [UMSocialUIManager showShareMenuViewInWindowWithPlatformSelectionBlock:^(UMSocialPlatformType  platformType, NSDictionary *userInfo) {
      if (platformType == UMSocialPlatformType_UserDefine_Begin+2) {
          //自定義圖標的點擊事件
      }
      else{
          [self shareWebPageToPlatformType:platformType];
      }
  }];
}
網頁分享
- (void)shareWebPageToPlatformType:(UMSocialPlatformType)platformType{
    //創建分享消息對象
    UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject];
    //創建網頁內容對象
    NSString* thumbURL = IMGAPI(self.imageStr);
    NSString *url = [NSString stringWithFormat:SHARE(self.msIdStr)];
    UMShareWebpageObject *shareObject =     [UMShareWebpageObject shareObjectWithTitle:self.topic descr:url thumImage:thumbURL];
    //設置網頁地址
    shareObject.webpageUrl =url;
    //分享消息對象設置分享內容對象
    messageObject.shareObject = shareObject;
    //調用分享接口
    [[UMSocialManager defaultManager] shareToPlatform:platformType messageObject:messageObject currentViewController:selfcompletion:^(id data, NSError *error) {
    if (error) {
        UMSocialLogInfo(@"************Share fail with error %@*********",error);
    }else{
        if ([data isKindOfClass:[UMSocialShareResponse class]]) {
            UMSocialShareResponse *resp = data;
            //分享結果消息
            UMSocialLogInfo(@"response message is %@",resp.message);
            //第三方原始返回的數據
            UMSocialLogInfo(@"response originalResponse data is %@",resp.originalResponse);
        }else{
            UMSocialLogInfo(@"response data is %@",data);
        }
    }
  }];
}
其他類型請參考文檔

介紹就到這里了,至于其他的一些分享大家可以好好看看友盟的官方文檔
謝謝!!!

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

推薦閱讀更多精彩內容