前言
友盟能实现分享功能,友盟+申请第三方账号的目的:
进行分享、授权操作需要在第三方平台创建应用并提交审核,友盟默认提供了大多数平台的测试账号,但如果需要将分享、授权来源、分享到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"// 友盟的基本授权[UMSocialData setAppKey:@"57c5128467e58e23f5003d16"];// 处理分享错误[UMSocialData openLog:YES];
Snip20160831_189.png
19.设置微信AppId、appSecret.目的:添加微信及朋友圈到分享列表,如果不添加下面的代码,则分享列表中不会出现微信及朋友圈图标
#import"UMSocialWechatHandler.h"//设置微信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