添加微信及朋友圈
2.1 注册应用
使用微信分享首先需要在微信开放平台(点击链接)申请, 按照要求填写应用信息,审核通过后获取到微信APPID和APPsecret
2.2 添加相关文件
在UMSocial_Sdk_Extra_Frameworks
目录下,添加Wechat
文件夹到工程
2.3 添加微信
2.3.1 添加微信及朋友圈到分享列表
在你的程序APPdelegate入口方法添加下面的代码
#import "UMSocialWechatHandler.h"
//设置微信AppId、appSecret,分享url
[UMSocialWechatHandler setWXAppId:@"wxd930ea5d5a258f4f" appSecret:@"db426a9829e4b49a0dcac7b4162da6b6" url:@"http://www.umeng.com/social"];
- 如果不添加上面的代码,则分享列表中不会出现微信及朋友圈图标
- URL必须为http链接,如果设置为nil则默认为友盟官网链接
2.3.2 配置URL schemes
在你的工程设置项,targets 一栏下,选中自己的 target,在 Info->URL Types 中添加 URL Schemes,添加xcode的url scheme为微信应用appId,例如“wxd9a39c7122aa6516”
2.3.3 添加系统回调
在APPdelegate中实现下面两个系统回调方法:
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
return [UMSocialSnsService handleOpenURL:url];
}
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation
{
return [UMSocialSnsService handleOpenURL:url];
}
2.4 设置分享内容
2.4.1 默认分享样式
使用友盟默认分享UI页面,分享到微信好友、微信朋友圈、微信收藏
[UMSocialSnsService presentSnsIconSheetView:self
appKey:你的友盟应用Appkey
shareText:@"友盟社会化分享让您快速实现分享等社会化功能,www.umeng.com/social"
shareImage:[UIImage imageNamed:@"icon.png"]
shareToSnsNames:@[UMShareToWechatSession,UMShareToWechatTimeline,UMShareToWechatFavorite]
delegate:self];
//实现回调方法(可选):
-(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response
{
//根据`responseCode`得到发送结果,如果分享成功
if(response.responseCode == UMSResponseCodeSuccess)
{
//得到分享到的微博平台名
NSLog(@"share to sns name is %@",[[response.data allKeys] objectAtIndex:0]);
}
}
2.4.2 自定义分享样式
使用自定义分享面板,则在对于的微信分享按钮中实现下面的方法
//使用UMShareToWechatSession,UMShareToWechatTimeline,UMShareToWechatFavorite分别代表微信好友、微信朋友圈、微信收藏
[[UMSocialDataService defaultDataService] postSNSWithTypes:@[UMShareToWechatSession] content:@"分享内嵌文字" image:nil location:nil urlResource:nil presentedController:self completion:^(UMSocialResponseEntity *response){
if (response.responseCode == UMSResponseCodeSuccess) {
NSLog(@"分享成功!");
}
}];
2.4.3 设置点击分享内容跳转链接
当分享消息类型为图文时,点击分享内容会跳转到预设的链接,设置方法如下
[UMSocialData defaultData].extConfig.wechatSessionData.url = @"http://baidu.com";
如果是朋友圈,则替换平台参数名即可
[UMSocialData defaultData].extConfig.wechatTimelineData.url = @"http://baidu.com";
注意设置的链接必须为http链接
2.4.4 设置title
设置微信好友title方法为
[UMSocialData defaultData].extConfig.wechatSessionData.title = @"微信好友title";
设置微信朋友圈title方法替换平台参数名即可
[UMSocialData defaultData].extConfig.wechatTimelineData.title = @"微信朋友圈title";
微信朋友圈分享消息只显示title
2.4.5 设置分享消息类型
微信分享消息类型分为图文、纯图片、纯文字、应用三种类型,默认分享类型为图文分享,即展示分享文字及图片缩略图,点击后跳转到预设链接
纯图片分享类型方法为
[UMSocialData defaultData].extConfig.wxMessageType = UMSocialWXMessageTypeImage;
纯图片分享类型没有文字,点击图片可以查看大图
纯文字分享类型方法为
[UMSocialData defaultData].extConfig.wxMessageType = UMSocialWXMessageTypeText;
纯文字分享类型没有图片,点击不会跳转
应用分享类型方法
[UMSocialData defaultData].extConfig.wxMessageType = UMSocialWXMessageTypeApp;
应用分享类型点击分享内容后跳转到应用下载页面,下载地址自动抓取开发者在微信开放平台填写的应用地址,如果用户已经安装应用,则打开APP
版权声明:本文为博主原创文章,未经博主允许不得转载。