您的位置:首页 > 其它

对比ShareSDK,友盟三方登录/三方分享

2016-07-06 16:52 666 查看

对比shareSDK和友盟

1.SDK大小对比:

集成平台友盟shareSDK
微信,QQ,新浪微博62.9M74M
微信,QQ37.5M44.8M
结论:友盟SDK相对较小

2.集成复杂度

登录,注册,创建应用获取key:

几乎没差别

添加sdk,链接库:

可以使用cocoapods集成,无需链接库等配置

手动集成SDK几乎没差别

代码配置

(1)设置AppKey,配置第三方平台:

友盟:

[UMSocialData setAppKey:UmengAppkey];
[UMSocialQQHandler setQQWithAppId:@"100424468"
appKey:@"c7394704798a158208a74ab60104f0ba"
url:@"http://www.umeng.com/social"];


shareSDK:

[ShareSDK registerApp: shareSDK Appkey
activePlatforms:@[@(SSDKPlatformTypeQQ)]
onImport:^(SSDKPlatformType platformType)
{
[ShareSDKConnector connectQQ:[QQApiInterface class]
tencentOAuthClass:[TencentOAuth class]];

}
onConfiguration:^(SSDKPlatformType platformType, NSMutableDictionary *appInfo)
{
[appInfo SSDKSetupQQByAppId:@"100371282"
appKey:@"aed9b0303e3ed1e27bae87c33761161d"
authType:SSDKAuthTypeBoth];
}];


(2)实现分享:

友盟:

[UMSocialData defaultData].extConfig.title = @"分享的title";
[UMSocialData defaultData].extConfig.qqData.url = @"http://baidu.com";
[UMSocialSnsService presentSnsIconSheetView:self
appKey:@"507fcab25270157b37000010"
shareText:@"友盟社会化分享让您快速实现分享等社会化功能,http://umeng.com/social"
shareImage:[UIImage imageNamed:@"icon"]
shareToSnsNames:@[UMShareToWechatSession,UMShareToWechatTimeline,UMShareToSina,UMShareToQQ,UMShareToQzone]
delegate:self];


shareSDK:

创建分享参数:图片可以为数组,可以网络图片,分享可以设置:内容,图片,url,title

分享方法:

NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
[shareParams SSDKSetupShareParamsByText:@"分享内容"
images:imageArray
url:[NSURL URLWithString:@"http://mob.com"]
title:@"分享标题"
type:SSDKContentTypeAuto];
[ShareSDK showShareActionSheet:nil
//要显示菜单的视图,可以传分享的按钮对象或者自己创建小的view 对象,iPhone可以传nil不会影响
items:nil
shareParams:shareParams
onShareStateChanged:^(SSDKResponseState state, SSDKPlatformType platformType, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error, BOOL end) {
switch (state) {
case SSDKResponseStateSuccess: {
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"分享成功"
message:nil
delegate:nil
cancelButtonTitle:@"确定"
otherButtonTitles:nil];
[alertView show];
break;
}
}
];}


总结:友盟的方法设置比较分散,例如可以忽略title,优点:更加灵活多选,方便自定义;缺点:较为分散,平台多时不易查找问题。shareSDK:方法多为block设置,代码多但易于检查,层次清晰

(3)系统回调:几乎没差别

(4)设置url Type :

如果设置qq url scheme

友盟:从集成文档跳转到qq文档,qq文档从注册到添加库一路向下,找到配置url Schemes



shareSDK



结论::这里可以看出来shareSDK开发文档更加容易理解,详细友好

自定义分享内容

自定义分享内容,title,url,分享样式的设置对比:两者类似,且都可以自定义分享样式

友盟可以:分享多媒体资源:音乐,视频,GIF图片及自定义平台:

shareSDK:



其他对比

对比点友盟shareSDK
安全
专业
sdk较小
文档简单
技术论坛

三方登录

Sharesdk

友盟

登录流程

1、用户触发第三方登录事件

2、请求授权用户的资料(这个过程中可能涉及授权操作)

3、如果回调成功代入你应用的Login流程

4、否则错误进行错误处理

5、Login时客户端发送用户资料中的用户ID给服务端

6、服务端判定用户是已注册用户,则引导用户进入系统,否则返回特定错误码

Sharesdk

一、Sharesdk官网注册获取AppKey



二、下载SDK

三、添加依赖库,头文件(Swift需要桥接文件来加入头文件),根据文档做相关设置,如新浪需要Build Settings中的Other Linker Flags添加”-ObjC”



四、实现其他平台登录

1.首先申请各平台APP key,由于不同平台有不同的申请官网及工程配置,需要单独集成

ShareSDK各社交平台申请APPkey 的网址及申请流程汇总

(QQ:腾讯平台需要上传手持身份证照片,完成注册后才可以创建应用;微信创建应用需要特定大小的应用icon,提交后7天内审核通过才有appkey;微博注册就会有appkey,secret,应用审核通过后才有授权)

2.代码注册,添加好需要的第三方登录按钮和对应的点击方法,方法中处理获取登录信息成功或失败的操作。

3.设置跳转客户端需要的配置:

(1)URL Scheme:target->info->url Types,注意不同平台格式不一定相同

(2) 配置info.plist同时加入白名单

info.plist
<array>
<string>sinaweibohd</string>
<string>sinaweibo</string>
<string>weibosdk</string>
<string>weibosdk2.5</string>
</array>


友盟

集成流程

一、注册友盟账号

登陆友盟官网,在我的产品页面添加新应用,即可获取到Appkey

管理应用

二、到第三方平台申请账号,创建应用并提交审核

三、绑定第三方账号到友盟后台

四、下载SDK,配置工程

导入SDK

适配iOS9

URL Scheme

URL Type

添加库:

framework(Security.framework,libiconv.dylib,SystemConfiguration.framework,CoreGraphics.Framework,libsqlite3.dylib,CoreTelephony.framework,libstdc++.dylib,libz.dylib)

五、代码实现点击登录方法,appID,appKey和url配置及Appdelegate中的URL回调方法。

友盟三方登录文档

友盟三方登录分享流程博客

以qq为例集成三方登录

友盟常见问答:

友盟技术论坛

三方分享

Sharesdk

友盟

Sharesdk

Sharesdk文档

一、Sharesdk官网注册获取AppKey,各个平台的key也要在各个平台申请

二、下载SDK添加到工程

三、添加依赖库

四、代码registerApp方法来初始化SDK并且初始化第三方平台,配置appKey,回调url

五、添加代码实现响应分享,设置title,images,url,分享文字等。

友盟

友盟集成文档

集成流程:

一、下载安装SDK

二、添加依赖库

三、获取友盟Appkey,各个平台的key也要在各个平台申请

四、代码setAppKey方法来初始化SDK

五、配置第三方平台APPID及scheme,回调url,系统回调

六、配置URL scheme,url type,设置分享文本、图片,点击分享内容跳转链接,title等

各种分享问题及解决

**注意:

1.防止多次引入库。如果在使用包含微信SDK的ShareSDK,同时还有其他三方包含微信SDK,例如:微信支付集成,要避免多次引入微信SDK而编译出错

2.注意顺序:在AppDelegate注册微信,需要先实现ShareSDK中微信的的注册方法**

封装友盟分享github
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: