友盟分享

友盟分享是一款比较常用的社会化分享组件,基本上分享功能是每个APP的标配,所以总结一下自己的做法以便以后用到。


首先需要到友盟官网注册开发者账户并且下载SDK http://dev.umeng.com/social/ios/sdk-download

在正式开发之前,还需要登录账户创建应用,应用创建好后会得到一个appKey

拿到这个key后我们就可以开始为项目加入分享功能了。




正式开始  》》》》》》》》》》》》》》》》》》》


1. 把下载下来的SDK文件加入项目

友盟分享_第1张图片


友盟分享_第2张图片


2. 配置好之后打开 AppDelegate.m


导入头文件

#import "UMSocial.h"
#import "UMSocialWechatHandler.h"   //微信
#import "UMSocialQQHandler.h"       //QQ
#import "UMSocialSinaHandler.h"     //微博

 
 

//在 didFinishLaunchingWithOptions 这个方法里面写

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    //设置友盟的key
    [UMSocialData setAppKey:@"5615e576e0f55a99999999dd"];
    
#pragma mark - 根据需求选择是否设置下面的方法(各平台的appid需要到各平台去注册开发者来获得)

    //设置微信AppId、appSecret,需要分享的url
    [UMSocialWechatHandler setWXAppId:@"wx328cf0fe2199999f" appSecret:@"404b10ad9b3f6c8eb1e227999999cc8" url:@"http://123.123.123.123"];
    //设置QQ,QQ空间
    [UMSocialQQHandler setQQWithAppId:@"1104659999" appKey:@"dUZBM41d3Z3sKFCc" url:@"http://123.123.123.123"];
    //sina(url为新浪微博开发者后台设置的安全地址,此处可传nil)
    [UMSocialSinaHandler openSSOWithRedirectURL:nil];
    
    return YES;
}
 
 

//要使用各平台SSO的话要添加以下2个方法

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

3. 在要进行分享的ViewController对应的点击方法里开启分享

    //如果没安装QQ和微信需要隐藏
    [UMSocialConfig hiddenNotInstallPlatforms:@[UMShareToQQ, UMShareToQzone, UMShareToWechatSession, UMShareToWechatTimeline]];
    
    //弹出默认样式的分享页面
    [UMSocialSnsService presentSnsIconSheetView:self
                                         appKey:@"5615e576e0f55a99999999dd"
                                      shareText:@"你要分享的文字"
                                     shareImage:[UIImage imageNamed:@"icon.png"]
                                shareToSnsNames:[NSArray arrayWithObjects:UMShareToSina,UMShareToQQ,UMShareToQzone,UMShareToWechatSession,UMShareToWechatTimeline,nil]
                                       delegate:self];
 
 

友盟分享_第3张图片

分享之后的回调(可选)

-(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response
{
    //根据`responseCode`得到发送结果,如果分享成功
    if(response.responseCode == UMSResponseCodeSuccess) {
       NSLog(@"分享成功");
    }
}

 
 

4.  添加URL scheme

友盟分享_第4张图片

友盟分享_第5张图片

完成以上步骤后,恭喜你的项目应经具备基本的分享功能。

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

如果要自定义分享界面的样式可以用下面的方法

[[UMSocialControllerService defaultControllerService] setShareText:@"分享内嵌文字"
                                    shareImage:[UIImage imageNamed:@"icon"]
                              socialUIDelegate:self];
 
//设置分享内容和回调对象(UMShareToSina、UMShareToQQ、UMShareToQzone、UMShareToWechatSession、UMShareToWechatTimeline)
[UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToSina].snsClickHandler(self,[UMSocialControllerService defaultControllerService],YES);

自定义界面也需要判断有没有安装微信和QQ,所以用这2个方法来判断是否隐藏图标

[WXApi isWXAppInstalled] 
[TencentOAuth iphoneQQInstalled]

需要导入

#import <TencentOpenAPI/TencentOAuth.h>
#import "WXApi.h"

以上就是基本的使用方法,如果需要用到更高级的功能请查看官方文档
  http://dev.umeng.com/social/ios/detail-share



你可能感兴趣的:(ios,分享,友盟)