分享微信及朋友圈(基于友盟)
加入微信及朋友圈
2.1 注冊应用
使用微信分享首先须要在微信开放平台(点击链接)申请, 依照要求填写应用信息,审核通过后获取到微信APPID和APPsecret
2.2 加入相关文件
在UMSocial_Sdk_Extra_Frameworks
文件夹下,加入Wechat
文件夹到project
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
在你的project设置项,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 自己定义分享样式
使用自己定义分享面板,则在对于的微信分享button中实现以下的方法
//使用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