前言
友盟能實現分享功能,友盟+申請第三方賬號的目的:
進行分享、授權操作需要在第三方平臺創建應用并提交審核,友盟默認提供了大多數平臺的測試賬號,但如果需要將分享、授權來源、分享到QQ、Qzone的icon更改為自己APP的應用,就需要自己申請第三方賬號。
友盟分享必須設置appKey,如果不設置appKey,分享也能成功,只不過你在友盟網站后臺查看不到分享數量而已。因為appKey是和友盟網站后臺關聯的。你把這個連接給斷了,怎么能統計分享數量等后臺信息呢
(友盟分享一)基本功能集成
1.登錄友盟
2.點擊U-Share
Snip20160830_66.png
3.點擊SDK及文檔,選擇蘋果設備
Snip20160830_67.png
4.點擊SDK下載
Snip20160830_69.png
5.選擇你需要的版本,進行下載
Snip20160830_71.png
6.然后利用CocoaPods集成或手動集成,我們采取手動集成,而CocoaPods集成簡單。
Snip20160830_89.png
7.創建xcode項目文件
8.解壓SDK壓縮包,將形如UMSocial_Sdk_x.x.x的文件夾拖入工程目錄:
Snip20160830_72.png
9.添加系統需要的framework
Snip20160830_73.png
10.登錄友盟
Snip20160830_74.png
11.找到U-Share,然后選擇立即使用
Snip20160830_76.png
12.選擇添加新應用
Snip20160830_77.png
13.填寫應用基本信息。目的:獲取AppKey
Snip20160830_78.png
14.獲取了CoderZb-Share應用對應的唯一的AppKey
Snip20160830_79.png
15.在xcode的AppDelegate文件內設置你的AppKey
Snip20160830_80.png
16.在ViewController設置顯示的默認UI,運行看效果
界面UI.png
101.56.gif
17.處理分享的信息.例如錯誤信息
處理錯誤信息.png
18.運行
101.57.gif
(友盟分享二)利用友盟單獨集成微信分享
1.登錄友盟
2.點擊U-Share
Snip20160830_66.png
3.點擊SDK及文檔,選擇蘋果設備
Snip20160830_67.png
4.點擊SDK下載
Snip20160830_69.png
5.選擇你需要的版本,進行下載
Snip20160830_71.png
6.然后利用CocoaPods集成或手動集成,我們采取手動集成,CocoaPods集成簡單。
Snip20160830_89.png
7.創建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依賴的系統庫文件
Snip20160830_94.png
10.登錄友盟
Snip20160830_74.png
11.找到U-Share,然后選擇立即使用
Snip20160830_76.png
12.選擇添加新應用
Snip20160830_96.png
13.填寫應用基本信息。目的:獲取AppKey
Snip20160830_97.png
14.獲取了CoderZb-WeChat應用對應的唯一的AppKey
Snip20160830_98.png
15.申請第三方賬號
Snip20160831_180.png
16.登錄微信開放平臺,并點擊管理中心
Snip20160831_187.png
17.創建移動應用。由于有7天的審核時間,所以暫時無法獲取到微信AppID及AppSecret。所以下面代碼中用到的微信AppID及AppSecret就用友盟官方提供AppID及AppSecret。效果有什么不一樣呢?分享的內容下面顯示的平臺不是微信,而是友盟給我們自定義的平臺。
Snip20160831_183.png
Snip20160831_184.png
18.在xcode的AppDelegate文件內設置友盟的AppKey
#import"UMSocial.h"http:// 友盟的基本授權[UMSocialData setAppKey:@"57c5128467e58e23f5003d16"];// 處理分享錯誤[UMSocialData openLog:YES];
Snip20160831_189.png
19.設置微信AppId、appSecret.目的:添加微信及朋友圈到分享列表,如果不添加下面的代碼,則分享列表中不會出現微信及朋友圈圖標
#import"UMSocialWechatHandler.h"http://設置微信AppId、appSecret,分享url[UMSocialWechatHandler setWXAppId:@"wxd930ea5d5a258f4f"appSecret:@"db426a9829e4b49a0dcac7b4162da6b6"url:@"http://www.umeng.com/social"];
Snip20160831_190.png
添加系統回調方法
- (BOOL)application:(UIApplication*)application openURL:(NSURL*)url sourceApplication:(NSString*)sourceApplication annotation:(id)annotation{BOOLresult = [UMSocialSnsService handleOpenURL:url];if(result ==FALSE) {//調用其他SDK,例如支付寶SDK等}else{NSLog(@"分享成功");? ? ? ? ? ? }returnresult;}
Snip20160831_193.png
21.設置分享的內容
#import"UMSocialData.h"#import"UMSocialSnsService.h"-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent*)event{//如果需要分享回調,請將delegate對象設置self,并實現下面的回調方法// shareToSnsNames:設置為nil,會把所有的分享平臺顯示出來。[UMSocialData defaultData].extConfig.title =@"分享的title";? ? [UMSocialData defaultData].extConfig.qqData.url =@"http://baidu.com";? ? [UMSocialSnsService presentSnsIconSheetView:selfappKey:@"57c5480de0f55a8c5b001f32"shareText:@"友盟社會化分享讓您快速實現分享等社會化功能,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設置url scheme,這樣跳轉到別的頁面之后,點擊某個按鈕返回到最初的app時,才會通過代理方法拿到返回的信息,不設置url scheme,返回時,拿不到任何信息.
Snip20160830_108.png
23.運行程序,點擊微信好友,提示錯誤
-canOpenURL: failedforURL:"weixin://app/wxd930ea5d5a258f4f/"- error:"This app is not allowed to query for scheme weixin"
錯誤原因:如果你的應用使用了如SSO授權登錄或跳轉分享功能,在iOS9下就需要增加一個可跳轉的白名單,指定對應跳轉App的URL Scheme,否則將在第三方平臺判斷是否跳轉時用到的canOpenURL時返回NO,進而只進行webview授權或授權/分享失敗。同樣在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及文檔,選擇蘋果設備
Snip20160830_67.png
4.點擊SDK下載
Snip20160830_69.png
5.選擇你需要的版本,進行下載
Snip20160830_71.png
6.然后利用CocoaPods集成或手動集成,我們采取手動集成,CocoaPods集成簡單。
Snip20160830_89.png
7.創建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依賴的系統庫文件m并在other linker flags增加-ObjC 選項
Snip20160830_116.png
Snip20160830_117.png
10.登錄友盟
Snip20160830_74.png
11.找到U-Share,然后選擇立即使用
Snip20160830_76.png
12.選擇添加新應用
Snip20160830_118.png
13.填寫應用基本信息。目的:獲取AppKey
Snip20160830_120.png
14.獲取了CoderZb-Sina應用對應的唯一的AppKey
Snip20160830_121.png