登录 快速集成

1 产品概述

通过登录控件,用户可以指定社交平台账号作为应用内账号,您可以获取此账号信息来识别用户身份,例如在界面中显示用户头像和昵称等信息。登录组件利用社交平台简化了用户的登录过程,也为用户身份识别提供了更通用的方法。

2 下载并安装SDK

Step1

下载 最新版SDK

Step2

确认你使用的XCode版本在4.4以上,工程的Base SDK和iOS Deployment Target在iOS4.3以上

Step3

解压SDK压缩包,将其中形如UMSocial_Sdk_x.x.x的文件夹拖入工程目录:

alt text

Step4

确认勾选了“Copy items to destination's group folder”选项,并选择你要添加到的Target:

alt text

现在应该是这样的效果:

alt text

3 集成代码

设置友盟Appkey

#import "UMSocial.h"
……
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [UMSocialData setAppKey:@"507fcab25270157b37000010"];
}

打开各个微博平台的授权页面

#import "UMSocial.h"
……
//`snsName` 代表各个支持云端分享的平台名,有`UMShareToSina`,`UMShareToTencent`等五个。    
    UMSocialSnsPlatform *snsPlatform = [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToSina];
    snsPlatform.loginClickHandler(self,[UMSocialControllerService defaultControllerService],YES,^(UMSocialResponseEntity *response)
    {
        NSLog(@"response is %@",response);
    });

授权之后获取各个微博账号数据,可以在上面的回调Block方法内实现下面的代码,

{
    //如果是授权到新浪微博,SSO之后如果想获取用户的昵称、头像等需要再次获取一次账户信息
    if ([platformName isEqualToString:UMShareToSina]) {
        [[UMSocialDataService defaultDataService] requestSocialAccountWithCompletion:^(UMSocialResponseEntity *accountResponse){
            NSLog(@"SinaWeibo's user name is %@",[[[accountResponse.data objectForKey:@"accounts"] objectForKey:UMShareToSina] objectForKey:@"username"]);
        }];
    }

    //这里可以获取到腾讯微博openid,Qzone的token等
    /*
    else if ([platformName isEqualToString:UMShareToTencent]) {
        [[UMSocialDataService defaultDataService] requestSnsInformation:UMShareToTencent completion:^(UMSocialResponseEntity *respose){
            NSLog(@"get openid  response is %@",respose);
        }];
    }
     */
}

这个方法是强制弹出授权,你可以根据已经授权情况来判断是否调用,,例如有没有授权到新浪微博

BOOL isOauth = [UMSocialAccountManager isOauthWithPlatform:UMShareToSina];

4 进阶使用

如果上述文档不能满足你的需求,请移步至“详细集成文档”。