ios友盟分享4.3基本集成

来源:互联网 发布:阿根廷专利数据库 编辑:程序博客网 时间:2024/06/05 17:15


前几日看了下产品需求,下载了友盟sdk倒腾了下,所以下记录下来,以免时间长了也忘了,也希望和我差不多的新手得到一点帮助,快速集成友盟分享

1.1   设置友盟appkey
(1)官方下载友盟SDK包,将UMSocial_Sdk_4.4, UMSocial_Sdk_Extra_Frameworks文件夹导入项目.
(2)在代码中设置你的友盟Appkey,在 AppDelegate文件内设置你的AppKey:
#import "UMSocial.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [UMSocialData setAppKey:@"507fcab25270157b37000010"];
}

1.2   使用分享接口
因需求我采用的直接分享底层接口(自动检查授权)
适用人群:较深耕细作型开发者,希望自定义分享列表,希望授权和分享发生,使用分享底层API并自动授权。
直接发送微博到对应的微博平台,仅支持分享到一个平台,可以传入文字、图片、地理位置、url资源。图片、地理位置和url资源可以设为nil。
只发送到一个微博平台,且该平台没有先授权,SDK会自动打开授权页面,授权完成之后再发送微博。
//注意:分享到微信好友、微信朋友圈、微信收藏、QQ空间、QQ好友、来往好友、来往朋友圈、易信好友、易信朋友圈、Facebook、Twitter、Instagram等平台需要参考各自的集成方法
    [[UMSocialDataService defaultDataService]  postSNSWithTypes:@[UMShareToSina] content:@"分享内嵌文字" image:nil location:nil urlResource:nil presentedController:self completion:^(UMSocialResponseEntity *response){
        if (response.responseCode == UMSResponseCodeSuccess) {
            NSLog(@"分享成功!");
        }
    }];


1.3   各平台SSO(免登录)配置
注意:使用各平台SSO分享,需要到各个微博平台申请自己的应用
(1)添加URL scheme

(2)在AppDelegate文件集成相应的开关方法:
    //设置友盟社会化组件appkey
    [UMSocialData setAppKey:DDshareKey];
    //设置微信AppId、appSecret,分享url
    //设置微信AppId,设置分享url,默认使用友盟的网址
    [UMSocialWechatHandler setWXAppId:@"wxdc1e388c3822c80b" appSecret:@"a393c1527aaccb95f3a4c88d6d1455f6" url:@"http://www.umeng.com/social"];
    
    // 打开新浪微博的SSO开关
    // 将在新浪微博注册的应用appkey、redirectURL替换下面参数,并在info.plist的URL Scheme中相应添加wb+appkey,如"wb3921700954",详情请参考官方文档。
    [UMSocialSinaSSOHandler openNewSinaSSOWithAppKey:@"3921700954"
                                         RedirectURL:@"http://sns.whalecloud.com/sina2/callback"];

(3)在AppDelegate文件里面实现下面的系统回调方法
- (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;
}

(4)添加系统库文件(不使用QQ及微信功能可以忽略此步骤)
在Xcode中打开工程配置文件,选择“summary”一栏。在“summary”中选择“Linked Frameworks and Libraries”一栏,点击“+”图标添加下面八个库文件,分别是
Security.framework
libiconv.dylib
SystemConfiguration.framework
CoreGraphics.Framework
libsqlite3.dylib
CoreTelephony.framework
libstdc++.dylib
libz.dylib


2.1 添加微信
2.2新浪微博分享

微信和新浪分享我都使用的原生分享,所以大致步骤相同,就不一一列出:
(1)注册应用
(2)添加相关文件
(1)添加微信及朋友圈到分享列表
  #import "UMSocialWechatHandler.h"
    //设置微信AppId、appSecret,分享url
    [UMSocialWechatHandler setWXAppId:@"wxd930ea5d5a258f4f" appSecret:@"db426a9829e4b49a0dcac7b4162da6b6" url:@"http://www.umeng.com/social"];

(2)配置URL schemes
(3)添加系统回调
- (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;
}

(4)自定义分享样式
    //使用UMShareToWechatSession,UMShareToWechatTimeline,UMShareToWechatFavorite分别代表微信好友、微信朋友圈、微信收藏
    [[UMSocialDataService defaultDataService]  postSNSWithTypes:@[UMShareToWechatSession] content:@"分享内嵌文字" image:nil location:nil urlResource:nil presentedController:self completion:^(UMSocialResponseEntity *response){
        if (response.responseCode == UMSResponseCodeSuccess) {
            NSLog(@"分享成功!");
        }
    }];

(5)设置点击分享内容跳转链接
[UMSocialData defaultData].extConfig.wechatSessionData.url = @"http://baidu.com";

(6)设置title
[UMSocialData defaultData].extConfig.wechatSessionData.title = @"微信好友title";

(7)设置分享消息类型
微信分享消息类型分为图文、纯图片、纯文字、应用三种类型,默认分享类型为图文分享,即展示分享文字及图片缩略图,点击后跳转到预设链接
纯图片分享类型方法为
[UMSocialData defaultData].extConfig.wxMessageType = UMSocialWXMessageTypeImage;

完成收工,微博和微信差不多,如有什么问题欢迎大家一起交流.

Dome下载地址:http://download.csdn.net/detail/qpc2015/9379023

1 0