分享微信及朋友圈(基于友盟)

 添加微信及朋友圈

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

版权声明:本文为博主原创文章,未经博主允许不得转载。

分享微信及朋友圈(基于友盟)

上一篇:判断是否微信浏览器访问并得到微信版本号


下一篇:微信公众平台开发模式 自定义菜单 指南与菜单新建错误代码分析