前言
友盟能實現(xiàn)分享功能,友盟+申請第三方賬號的目的:
進行分享坪它、授權(quán)操作需要在第三方平臺創(chuàng)建應(yīng)用并提交審核骤竹,友盟默認提供了大多數(shù)平臺的測試賬號,但如果需要將分享往毡、授權(quán)來源蒙揣、分享到QQ、Qzone的icon更改為自己APP的應(yīng)用开瞭,就需要自己申請第三方賬號懒震。
友盟分享必須設(shè)置appKey罩息,如果不設(shè)置appKey,分享也能成功,只不過你在友盟網(wǎng)站后臺查看不到分享數(shù)量而已个扰。因為appKey是和友盟網(wǎng)站后臺關(guān)聯(lián)的瓷炮。你把這個連接給斷了,怎么能統(tǒng)計分享數(shù)量等后臺信息呢
(友盟分享一)基本功能集成
1.登錄友盟
2.點擊U-Share
Snip20160830_66.png
3.點擊SDK及文檔,選擇蘋果設(shè)備
Snip20160830_67.png
4.點擊SDK下載
Snip20160830_69.png
5.選擇你需要的版本递宅,進行下載
Snip20160830_71.png
6.然后利用CocoaPods集成或手動集成,我們采取手動集成,而CocoaPods集成簡單娘香。
Snip20160830_89.png
7.創(chuàng)建xcode項目文件
8.解壓SDK壓縮包,將形如UMSocial_Sdk_x.x.x的文件夾拖入工程目錄:
Snip20160830_72.png
9.添加系統(tǒng)需要的framework
Snip20160830_73.png
10.登錄友盟
Snip20160830_74.png
11.找到U-Share,然后選擇立即使用
Snip20160830_76.png
12.選擇添加新應(yīng)用
Snip20160830_77.png
13.填寫應(yīng)用基本信息办龄。目的:獲取AppKey
Snip20160830_78.png
14.獲取了CoderZb-Share應(yīng)用對應(yīng)的唯一的AppKey
Snip20160830_79.png
15.在xcode的AppDelegate文件內(nèi)設(shè)置你的AppKey
Snip20160830_80.png
16.在ViewController設(shè)置顯示的默認UI,運行看效果
界面UI.png
101.56.gif
17.處理分享的信息.例如錯誤信息
處理錯誤信息.png
18.運行
101.57.gif
(友盟分享二)利用友盟單獨集成微信分享
1.登錄友盟
2.點擊U-Share
Snip20160830_66.png
3.點擊SDK及文檔,選擇蘋果設(shè)備
Snip20160830_67.png
4.點擊SDK下載
Snip20160830_69.png
5.選擇你需要的版本烘绽,進行下載
Snip20160830_71.png
6.然后利用CocoaPods集成或手動集成,我們采取手動集成,CocoaPods集成簡單。
Snip20160830_89.png
7.創(chuàng)建xcode項目文件
8.1解壓SDK壓縮包土榴,將形如UMSocial_Sdk_Extra_Frameworks
目錄下的Wechat文件夾拖到工程中
Snip20160830_93.png
8.2解壓SDK壓縮包诀姚,將形如UMSocial_Sdk_x.x.x的文件夾拖入工程目錄:
Snip20160830_99.png
9.添加SDK依賴的系統(tǒng)庫文件
Snip20160830_94.png
10.登錄友盟
Snip20160830_74.png
11.找到U-Share,然后選擇立即使用
Snip20160830_76.png
12.選擇添加新應(yīng)用
Snip20160830_96.png
13.填寫應(yīng)用基本信息。目的:獲取AppKey
Snip20160830_97.png
14.獲取了CoderZb-WeChat應(yīng)用對應(yīng)的唯一的AppKey
Snip20160830_98.png
15.申請第三方賬號
Snip20160831_180.png
16.登錄微信開放平臺,并點擊管理中心
Snip20160831_187.png
17.創(chuàng)建移動應(yīng)用玷禽。由于有7天的審核時間,所以暫時無法獲取到微信AppID及AppSecret呀打。所以下面代碼中用到的微信AppID及AppSecret就用友盟官方提供AppID及AppSecret矢赁。效果有什么不一樣呢?分享的內(nèi)容下面顯示的平臺不是微信,而是友盟給我們自定義的平臺贬丛。
Snip20160831_183.png
Snip20160831_184.png
18.在xcode的AppDelegate文件內(nèi)設(shè)置友盟的AppKey
#import"UMSocial.h"http:// 友盟的基本授權(quán)[UMSocialData setAppKey:@"57c5128467e58e23f5003d16"];// 處理分享錯誤[UMSocialData openLog:YES];
Snip20160831_189.png
19.設(shè)置微信AppId撩银、appSecret.目的:添加微信及朋友圈到分享列表,如果不添加下面的代碼,則分享列表中不會出現(xiàn)微信及朋友圈圖標(biāo)
#import"UMSocialWechatHandler.h"http://設(shè)置微信AppId豺憔、appSecret额获,分享url[UMSocialWechatHandler setWXAppId:@"wxd930ea5d5a258f4f"appSecret:@"db426a9829e4b49a0dcac7b4162da6b6"url:@"http://www.umeng.com/social"];
Snip20160831_190.png
添加系統(tǒng)回調(diào)方法
- (BOOL)application:(UIApplication*)application openURL:(NSURL*)url sourceApplication:(NSString*)sourceApplication annotation:(id)annotation{BOOLresult = [UMSocialSnsService handleOpenURL:url];if(result ==FALSE) {//調(diào)用其他SDK,例如支付寶SDK等}else{NSLog(@"分享成功");? ? ? ? ? ? }returnresult;}
Snip20160831_193.png
21.設(shè)置分享的內(nèi)容
#import"UMSocialData.h"#import"UMSocialSnsService.h"-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent*)event{//如果需要分享回調(diào)恭应,請將delegate對象設(shè)置self抄邀,并實現(xiàn)下面的回調(diào)方法// shareToSnsNames:設(shè)置為nil,會把所有的分享平臺顯示出來。[UMSocialData defaultData].extConfig.title =@"分享的title";? ? [UMSocialData defaultData].extConfig.qqData.url =@"http://baidu.com";? ? [UMSocialSnsService presentSnsIconSheetView:selfappKey:@"57c5480de0f55a8c5b001f32"shareText:@"友盟社會化分享讓您快速實現(xiàn)分享等社會化功能昼榛,http://umeng.com/social"shareImage:[UIImageimageNamed:@"icon"]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? shareToSnsNames:nildelegate:nil];UIView*view = [[UIViewalloc]init];? ? view.frame =CGRectMake(100,150,200,200);? ? view.backgroundColor = [UIColorredColor];? ? [self.view addSubview:view];? ? ? ? }
Snip20160831_192.png
22.使用友盟社會化組件的SSO功能境肾,需要按照文檔要求在xcode設(shè)置url scheme,這樣跳轉(zhuǎn)到別的頁面之后,點擊某個按鈕返回到最初的app時,才會通過代理方法拿到返回的信息胆屿,不設(shè)置url scheme,返回時奥喻,拿不到任何信息.
Snip20160830_108.png
23.運行程序,點擊微信好友,提示錯誤
-canOpenURL: failedforURL:"weixin://app/wxd930ea5d5a258f4f/"- error:"This app is not allowed to query for scheme weixin"
錯誤原因:如果你的應(yīng)用使用了如SSO授權(quán)登錄或跳轉(zhuǎn)分享功能,在iOS9下就需要增加一個可跳轉(zhuǎn)的白名單非迹,指定對應(yīng)跳轉(zhuǎn)App的URL Scheme环鲤,否則將在第三方平臺判斷是否跳轉(zhuǎn)時用到的canOpenURL時返回NO,進而只進行webview授權(quán)或授權(quán)/分享失敗憎兽。同樣在info.plist增加:
LSApplicationQueriesSchemeswechatweixinsinaweibohdsinaweibosinaweibossoweibosdkweibosdk2.5mqqapimqqmqqOpensdkSSoLoginmqqconnectmqqopensdkdatalinemqqopensdkgrouptribesharemqqopensdkfriendmqqopensdkapimqqopensdkapiV2mqqopensdkapiV3mqzoneopensdkwtloginmqqwtloginmqq2mqqwpamqzonemqzonev2mqzonesharewtloginqzonemqzonewxmqzoneopensdkapiV2mqzoneopensdkapi19mqzoneopensdkapimqqbrowsermttbrowseralipayalipaysharerenreniosrenrenapirenrenrenreniphonelaiwangssoyixinyixinopenapiinstagramwhatsapplinefbapifb-messenger-apifbauth2fbshareextension
24.效果
// 通過一個紅色view冷离,用來驗證確實是否回到了app中UIView*view = [[UIViewalloc]init];? ? view.frame =CGRectMake(100,150,200,200);? ? view.backgroundColor = [UIColorredColor];? ? [self.view addSubview:view];
分享到微信好友
101.58.gif
分享到朋友圈
101.59.gif
分享到微信收藏
101.60.gif
(友盟分享三)利用友盟單獨集成新浪微博
1.登錄友盟
2.點擊U-Share
Snip20160830_66.png
3.點擊SDK及文檔,選擇蘋果設(shè)備
Snip20160830_67.png
4.點擊SDK下載
Snip20160830_69.png
5.選擇你需要的版本吵冒,進行下載
Snip20160830_71.png
6.然后利用CocoaPods集成或手動集成,我們采取手動集成,CocoaPods集成簡單。
Snip20160830_89.png
7.創(chuàng)建xcode項目文件
8.1解壓SDK壓縮包酒朵,將形如UMSocial_Sdk_Extra_Frameworks
目錄下的SinaSSO文件夾拖到工程中
Snip20160830_111.png
8.2解壓SDK壓縮包桦锄,將形如UMSocial_Sdk_x.x.x的文件夾拖入工程目錄:
Snip20160830_113.png
9.添加SDK依賴的系統(tǒng)庫文件m并在other linker flags增加-ObjC 選項
Snip20160830_116.png
Snip20160830_117.png
10.登錄友盟
Snip20160830_74.png
11.找到U-Share,然后選擇立即使用
Snip20160830_76.png
12.選擇添加新應(yīng)用
Snip20160830_118.png
13.填寫應(yīng)用基本信息。目的:獲取AppKey
Snip20160830_120.png
14.獲取了CoderZb-Sina應(yīng)用對應(yīng)的唯一的AppKey
Snip20160830_121.png