ios友盟分享4.3基本集成
来源:互联网 发布:阿根廷专利数据库 编辑:程序博客网 时间:2024/06/05 17:15
前几日看了下产品需求,下载了友盟sdk倒腾了下,所以下记录下来,以免时间长了也忘了,也希望和我差不多的新手得到一点帮助,快速集成友盟分享
1.1 设置友盟appkey
(1)官方下载友盟SDK包,将UMSocial_Sdk_4.4, UMSocial_Sdk_Extra_Frameworks文件夹导入项目.
(2)在代码中设置你的友盟Appkey,在 AppDelegate文件内设置你的AppKey:
#import "UMSocial.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[UMSocialData setAppKey:@"507fcab25270157b37000010"];
}
1.2 使用分享接口
因需求我采用的直接分享底层接口(自动检查授权)
适用人群:较深耕细作型开发者,希望自定义分享列表,希望授权和分享发生,使用分享底层API并自动授权。
直接发送微博到对应的微博平台,仅支持分享到一个平台,可以传入文字、图片、地理位置、url资源。图片、地理位置和url资源可以设为nil。
只发送到一个微博平台,且该平台没有先授权,SDK会自动打开授权页面,授权完成之后再发送微博。
//注意:分享到微信好友、微信朋友圈、微信收藏、QQ空间、QQ好友、来往好友、来往朋友圈、易信好友、易信朋友圈、Facebook、Twitter、Instagram等平台需要参考各自的集成方法
[[UMSocialDataService defaultDataService] postSNSWithTypes:@[UMShareToSina] content:@"分享内嵌文字" image:nil location:nil urlResource:nil presentedController:self completion:^(UMSocialResponseEntity *response){
if (response.responseCode == UMSResponseCodeSuccess) {
NSLog(@"分享成功!");
}
}];
1.3 各平台SSO(免登录)配置
注意:使用各平台SSO分享,需要到各个微博平台申请自己的应用
(1)添加URL scheme
(2)在AppDelegate文件集成相应的开关方法:
//设置友盟社会化组件appkey
[UMSocialData setAppKey:DDshareKey];
//设置微信AppId、appSecret,分享url
//设置微信AppId,设置分享url,默认使用友盟的网址
[UMSocialWechatHandler setWXAppId:@"wxdc1e388c3822c80b" appSecret:@"a393c1527aaccb95f3a4c88d6d1455f6" url:@"http://www.umeng.com/social"];
// 打开新浪微博的SSO开关
// 将在新浪微博注册的应用appkey、redirectURL替换下面参数,并在info.plist的URL Scheme中相应添加wb+appkey,如"wb3921700954",详情请参考官方文档。
[UMSocialSinaSSOHandler openNewSinaSSOWithAppKey:@"3921700954"
RedirectURL:@"http://sns.whalecloud.com/sina2/callback"];
(3)在AppDelegate文件里面实现下面的系统回调方法
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
BOOL result = [UMSocialSnsService handleOpenURL:url];
if (result == FALSE) {
//调用其他SDK,例如支付宝SDK等
}
return result;
}
(4)添加系统库文件(不使用QQ及微信功能可以忽略此步骤)
在Xcode中打开工程配置文件,选择“summary”一栏。在“summary”中选择“Linked Frameworks and Libraries”一栏,点击“+”图标添加下面八个库文件,分别是
Security.framework
libiconv.dylib
SystemConfiguration.framework
CoreGraphics.Framework
libsqlite3.dylib
CoreTelephony.framework
libstdc++.dylib
libz.dylib
2.1 添加微信
2.2新浪微博分享
微信和新浪分享我都使用的原生分享,所以大致步骤相同,就不一一列出:
(1)注册应用
(2)添加相关文件
(1)添加微信及朋友圈到分享列表
#import "UMSocialWechatHandler.h"
//设置微信AppId、appSecret,分享url
[UMSocialWechatHandler setWXAppId:@"wxd930ea5d5a258f4f" appSecret:@"db426a9829e4b49a0dcac7b4162da6b6" url:@"http://www.umeng.com/social"];
(2)配置URL schemes
(3)添加系统回调
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
BOOL result = [UMSocialSnsService handleOpenURL:url];
if (result == FALSE) {
//调用其他SDK,例如支付宝SDK等
}
return result;
}
(4)自定义分享样式
//使用UMShareToWechatSession,UMShareToWechatTimeline,UMShareToWechatFavorite分别代表微信好友、微信朋友圈、微信收藏
[[UMSocialDataService defaultDataService] postSNSWithTypes:@[UMShareToWechatSession] content:@"分享内嵌文字" image:nil location:nil urlResource:nil presentedController:self completion:^(UMSocialResponseEntity *response){
if (response.responseCode == UMSResponseCodeSuccess) {
NSLog(@"分享成功!");
}
}];
(5)设置点击分享内容跳转链接
[UMSocialData defaultData].extConfig.wechatSessionData.url = @"http://baidu.com";
(6)设置title
[UMSocialData defaultData].extConfig.wechatSessionData.title = @"微信好友title";
(7)设置分享消息类型
微信分享消息类型分为图文、纯图片、纯文字、应用三种类型,默认分享类型为图文分享,即展示分享文字及图片缩略图,点击后跳转到预设链接
纯图片分享类型方法为
[UMSocialData defaultData].extConfig.wxMessageType = UMSocialWXMessageTypeImage;
完成收工,微博和微信差不多,如有什么问题欢迎大家一起交流.
Dome下载地址:http://download.csdn.net/detail/qpc2015/9379023
- ios友盟分享4.3基本集成
- iOS 集成友盟分享
- iOS集成友盟分享
- ios 分享功能 集成友盟分享
- ios 分享功能 集成友盟分享
- ios 友盟集成分享 细节
- iOS 友盟分享 <小白集成>
- iOS集成友盟第三方分享
- 友盟分享集成
- 友盟分享集成
- iOS集成友盟分享时的一些问题
- iOS集成分享--友盟
- iOS 分享 sharesdk集成
- 分享功能 集成友盟分享
- 集成友盟分享SDK
- 集成友盟社会化分享
- 集成友盟分享总结
- 友盟分享集成问题
- 黑马程序员——java基础之继承、抽象、接口
- linux里查看mysql的一些命令
- 51NOD 1083 矩阵取数问题
- Struts2 服务器端验证流程
- 九九乘法表
- ios友盟分享4.3基本集成
- 一点感悟
- Java基础学习总结(2)——接口
- 【NYOJ】[34]韩信点兵
- Spark on Yarn遇到的几个问题
- RateLimit--使用guava来做接口限流
- C#_List<T>的使用
- Java基础学习总结(3)——抽象类
- JavaWeb学习遇到的几个小问题