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

 加入微信及朋友圈

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

posted on 2016-03-22 18:55  gcczhongduan  阅读(398)  评论(0编辑  收藏  举报