ios umeng 添加微信及朋友圈

2016-06-07  本文已影响663人  babybus_break

1、使用微信分享首先需要在微信开放平台(点击链接)申请, 按照要求填写应用信息,审核通过后获取到微信APPID和APPsecret

在APPdelegate.m文件中增加对应下面的配置

#import "UMSocial.h" 
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
     //设置友盟社会化组件appkey 
     [UMSocialData setAppKey:UmengAppkey]; 
     //设置微信AppId、appSecret,分享url 
     [UMSocialWechatHandler  setWXAppId:@"wxd930ea5d5a258f4f" appSecret:@"db426a9829e4b49a0dcac7b4162da6b6" url:@"http://www.umeng.com/social"]; 
}

1.2 配置系统回调
在APPdelegate.m中增加下面的系统回调配置,注意如果同时使用微信支付、支付宝等其他需要改写回调代理的SDK,请在if分支下做区分,否则会影响 分享、登录的回调

- (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;
}

1.3 配置URL scheme
在你的工程设置项,targets 一栏下,选中自己的 target,在 Info->URL Types 中添加 URL Schemes。如果使用的是Xcode3或更低版本,则需要在plist文件中添加。获取各个平台appkey或者appid的方法可以参考分享详细文档绑定各个平台部分,各个平台的url scheme格式如下表:

0E3FA2A7-BC18-48AC-AF9D-88DA6393D274.png 0654C854-B9D7-416C-B86E-92619E4E3ED8.png

1.4 设置分享文本、图片
1.4.1 使用默认UI风格
打开需要集成分享功能的视图源码UIViewController.m
,把如下代码复制并粘贴到你将弹出一个分享列表的位置,例如到响应分享按钮的方法中。并且修改下面的友盟appkey,你要分享的文字、图片,你要分享到的微博平台,例如下面写的是新浪微博、QQ、微信。

            //UMShareToWechatSession(微信好友),UMShareToWechatTimeline(微信朋友圈),UMShareToWechatFavorite(微信收藏)
            [[UMSocialDataService defaultDataService] postSNSWithTypes:@[UMShareToWechatSession] content:@""内容 image:[UIImage imageNamed:@"图片"] location:位置 urlResource:资源链接 presentedController:(UIViewController *)app.rootViewController completion:^(UMSocialResponseEntity *shareResponse){
                if (shareResponse.responseCode == UMSResponseCodeSuccess) {
                    NSLog(@"分享成功!");
                }
            }];

这里只介绍这种分享,还有其他的类型的分享,
UMSocialDataService.h中有,详细的介绍。

注意: 1. 支持分享编辑页和授权页面横屏,必须要在出现列表页面前设置:

[UMSocialConfig setSupportedInterfaceOrientations:UIInterfaceOrientationMaskLandscape];

默认为竖屏的。

实现回调方法。

-(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response{ 
        //根据`responseCode`得到发送结果,如果分享成功          
        if(response.responseCode == UMSResponseCodeSuccess) { //得到分享到的平台名     
                  NSLog(@"share to sns name is %@",[[response.data allKeys] objectAtIndex:0]);
         } 
}

处理分享错误
用下面的代码打开我们SDK在控制台的输出后能看到相应的错误码。

[UMSocialData openLog:YES];

2.0 添加相关文件

2.1在UMSocial_Sdk_Extra_Frameworks目录下,添加Wechat文件夹到工程

添加SDK依赖的系统库文件。

在Xcode中打开工程配置文件,选择“summary”一栏。在“summary”中选择“Linked Frameworks and Libraries”一栏,点击“+”图标添加下面八个库文件,分别是:
Security.framework
libiconv.dylib
SystemConfiguration.framework
CoreGraphics.Framework
libsqlite3.dylib
CoreTelephony.framework
libstdc++.dylib
libz.dylib

2.2 设置点击分享内容跳转链接
当分享消息类型为图文时,点击分享内容会跳转到预设的链接,设置方法如下

[UMSocialData defaultData].extConfig.wechatSessionData.url = @"http://baidu.com";

如果是朋友圈,则替换平台参数名即可

[UMSocialData defaultData].extConfig.wechatTimelineData.url = @"http://baidu.com";

注意设置的链接必须为http或https链接

2.3 设置title
设置微信好友title方法为

[UMSocialData defaultData].extConfig.wechatSessionData.title = @"微信好友title";

设置微信朋友圈title方法替换平台参数名即可

[UMSocialData defaultData].extConfig.wechatTimelineData.title = @"微信朋友圈title";

2.4 设置分享消息类型
微信分享消息类型分为图文、纯图片、纯文字、应用三种类型,默认分享类型为图文分享,即展示分享文字及图片缩略图,点击后跳转到预设链接

纯图片分享类型方法为

[UMSocialData defaultData].extConfig.wxMessageType = UMSocialWXMessageTypeImage;

纯图片分享类型没有文字,点击图片可以查看大图

纯文字分享类型方法为

[UMSocialData defaultData].extConfig.wxMessageType = UMSocialWXMessageTypeText;

纯文字分享类型没有图片,点击不会跳转

应用分享类型方法

[UMSocialData defaultData].extConfig.wxMessageType = UMSocialWXMessageTypeApp;

应用分享类型如果用户已经安装应用,则打开APP,如果为安装APP,则提示未安装或跳转至微信开放平台

上一篇下一篇

猜你喜欢

热点阅读