商务服务
移动共享开发(二)各平台SSO(免登录)配置 微信和微信朋友圈、QQ、QQ空间、新浪微博、腾讯微博、人人...
2024-10-31 21:38

SSO名词解释 : SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。
例如用户已经登录新浪微博客户端,使用SSO授权登录时则不需要用户手动输入用户名、密码,直接点击登录即可, 因此可成为免登录.

移动共享开发(二)各平台SSO(免登录)配置  微信和微信朋友圈、QQ、QQ空间、新浪微博、腾讯微博、人人...


转载请注明出处:http://blog.csdn.net/lindonglian

实现SSO授权必须自己在第三方平台注册应用,获取appkey及secret

如果有使用任一平台的SSO授权或者集成了facebook平台, 则必须在对应的activity中实现onActivityResult方法, 并添加如下代码

添加微信和朋友圈所依赖的jar文件
1.解压已下载的zip文件,将platforms/weixin/libs目录中SocialSDK_WeiXin_1.jar,SocialSDK_WeiXin_2.jar拷贝到工程的libs(如果没有此目录,新建libs目录)目录中。
2.在libs目录中找到SocialSDK_WeiXin_1.jar,SocialSDK_WeiXin_2.jar文件,鼠标右键-->Add to Build Path。
3 将解压目录中platforms/weixin/res拷贝至你工程的res目录。

微信和朋友圈支持纯文字,纯图片(点击查看大图,图文,音乐,视频分享。
注意
此版本兼容了微信支付的功能,请更新SocialSDK_WeiXin_1.jar文件。

如果在您的项目中集成了微信或者微信朋友圈,并且您需要准确的分享回调,则需要在AndroidManifest.xml中下注册下面的回调Activity。直接复制到Android manifest XML 即可,不需要进行修改

然后将SDK包中platforms/weixin目录下的wxapi文件夹拷贝到您的工程的包目录下, 然后修改WXEntryActivity的完整路径即可。
例如social_sdk_example的包名为com.umeng.soexample,因此将wxapi文件夹拷贝到com.umeng.soexample下,最终WXEntryActivity的 完整路径为com.umeng.soexample.wxapi.WXEntryActivity。

注册微信回调代码

其中分享的回调接口SnsPostListener的onComplete方法的第二个参数代表分享的状态码,当值为200时表示分享成功;其余的值则为分享失败。

微信集成相关说明

微信集成注意以下几点

Demo中集成的微信无法使用

原因:Demo中使用的微信AppID绑定的签名信息和你打包时所用的签名信息不一致,导致无法响应. 解决办法有两个,您任选其一

这一步很麻烦

使用微信分享首先需要在微信开放平台申请, 按照要求填写应用信息,审核通过后获取到微信AppID,AppSecret


由于微信的签名过程跟验证流程较多,出错的可能性较大,这里将对微信的签名过程跟验证做详细的说明。

获取应用签名方式有两种

方式一
1:用eclipse导出带签名的apk文件,注意此时选择的签名文件是你发布app时的签名文件。在导出的最后一步,eclipse会显示一个Certificate fingerprints(证书指纹),如下图。此时找到MD5值,将该MD5值复制出来,按照“去掉冒号(:),大写转小写”的规则装换,此时字符串就是签名。


方式二
导出带签名的apk文件,将该apk文件安装至手机中。安装微信的签名工具,打开GenSignature应用程序,填写你App的包名,点击“Get Signature”即可得到签名。

通过微信签名工具获取签名

填写App的相关信息,注意确保包名跟签名填写正确,填写完成提交微信审核。

在进行微信集成测试时,请填写你申请App的AppID。测试时需要导出带签名的apk文件测试,否则将不能正常分享。

如果直接使用demo源码进行编译,需要使用SDK包中附带的debug.keystore(keystore密码为android)进行编译,否则会由于签名验证不一致导致微信分享功能异常,并且由于demo工程提供的微信APPID不具备微信登录权限,因此无法进行微信登录功能测试

微信分享功能使用了微信原生的jar包,如果你的应用中也引用了微信原生SDK,会出现jar冲突Unable to execute dex: Multiple dex files define

注意以上代码必须在弹出分享面板前调用,否则第一次分享时面板中无法出现微信及朋友圈图标

接口说明

设置分享消息类型

微信分享支持图文分享、纯图片及纯文字分享,其中图文分享点击会跳转到设置的URL,纯图片分享可以点击查看大图

图文分享方法参考上文,纯图片分享方法只需要去掉文本内容设置即可,代码如下

纯文本分享方法与纯图片类似,去掉分享图片即可

分享到微信朋友圈将平台参数替换即可

在腾讯开放平台 http://open.qq.com/注册自己的应用,按照QQ官方要求填写,获取APPID及appkey,并且将APPID及appkey绑定在友盟主站后台, 同时注意在应用审核通过前必须添加测试账号,否则会出现110406报错。


添加QQ分享所依赖的jar文件

  1. 解压已下载的zip文件,将platforms/qq_zone/libs目录中SocialSDK_QQZone_1.jar,SocialSDK_QQZone_2.jar,SocialSDK_QQZone_3.jar拷贝到工程的libs(如果没有此目录,新建libs目录)目录中。

  2. 在libs目录中找到SocialSDK_QQZone_1.jar,SocialSDK_QQZone_2.jar,SocialSDK_QQZone_3.jar文件,鼠标右键-->Add to Build Path。

  3. 将解压目录中platforms/qq_zone/res文件拷贝至你工程res目录。

  4. 在AndroidManifest.xml中注册AuthActivity,QQ空间和QQ共用该授权Activity,具体配置参考上文的AndroidManifest.xml文件。

1.此版本集成了QQ的最新jar文件,请更新SocialSDK_QQZone_1.jar,SocialSDK_QQZone_2.jar,SocialSDK_QQZone_3.jar文件.

2.QQ分享内容为音乐,视频的时候,其形式必须为url;图片支持url和本地图片类型.

3.QQ SSO授权不会在onActivityResult方法内被调用。

4.未安装手机QQ客户端的情况下,QQ不支持纯图片分享.

5.未安装手机QQ客户端的情况下,QQ取消授权不执行相关回调。

6.QQ和QQ空间授权,对于同一个应用同一个账号返回的uid,openid相同。

添加QQ空间所依赖的jar文件跟资源文件

如果已经添加了SocialSDK_QQZone_1.jar,SocialSDK_QQZone_2.jar,SocialSDK_QQZone_3.jar文件,则不需要再次添加。

1.1 解压已下载的zip文件,将platforms/qq_qzone/libs中 SocialSDK_QQZone_1.jar,SocialSDK_QQZone_2.jar,SocialSDK_QQZone_3. jar拷贝到工程的libs(如果没有此目录,新建libs目录)目录中。

1.2 在libs目录中找到SocialSDK_QQZone_1.jar,SocialSDK_QQZone_2.jar,SocialSDK_QQZone_3.jar文件,鼠标右键-->Add to Build Path。

1.3 将解压目录中platforms/qq_zone/res文件拷贝至你工程res目录。

1.4 在AndroidManifest.xml中注册AuthActivity,QQ空间和QQ共用该授权Activity,具体配置参考上文的AndroidManifest.xml文件。

在集成代码中添加如下代码

注意

1.本次集成了QZone的最新jar包,升级时请注意更新SocialSDK_QQZone_1.jar,SocialSDK_QQZone_2.jar,SocialSDK_QQZone_3.jar文件。
2.在进行QZone SSO授权时,请在AndroidManifest.xml中配置相应的Activity。具体参加上文AndroidManifest.xml文件配置。
3.QZone不支持纯图片分享。
4.无手机QQ客户端的情况下,QQ取消授权不执行相关回调。
5.QQ和QQ空间授权,对于同一个应用同一个账号返回的uid,openid相同。

设置QQ分享文字及图片

设置QQ分享内容

QQ支持分享文字、图片、网页形式以及视频音乐等多媒体资源,但是分享音乐等多媒体资源必须要跳转到网页,然后点击播放。

设置QQ分享内容使用下面的代码

设置Qzone分享文字及内容

设置Qzone分享内容

Qzone分享只支持图文形式分享,并且点击图文消息会跳转到预设的链接,图文分享只展示缩略图,**无法查看大图**

设置Qzone分享内容使用下面的代码

设置QQ分享消息类型

QQ好友分享支持纯文字、纯图片、图文分享及音乐等多媒体资源,其中图文分享点击会跳转到预设URL,无法查看大图,需要点击查看大图需要设置为纯图片类型,方法如下

使用纯图片分享必须使用本地图片,不可以使用URL网络图片

使用友盟默认的分享面板,只需在分享按钮中添加如下代码

自定义分享面板主要针对希望自定义分享列表选择界面的开发者,开发者需要自行实现分享列表的选择页,在分享到QQ的按钮中实现下面的方法

在Android manifest XML中直接复制下面的代码

添加QQ在分享列表页中

添加Qzone在分享列表页中

集成注意

为了保证引用友盟Social SDK jar文件以及腾讯jar文件被混淆,请在proguard.cfg文件中添加以下代码避免被混淆.

注意一定保证在新浪微博上填写应用签名,参考文档

添加SSO必须的文件

将platforms/sina/libs中的SocialSDK_Sina.jar添加到工程libs中并将该jar加入到build path中,由于4.2版本将remoteSSO文件打入SocialSDK_Sina.jar中,因此老版本升级过程中需要删除旧版本中的remoteSSO文件,否则会出现文件冲突

在代码中添加如下代码

添加腾讯微博SSO所依赖的jar文件
1.解压已下载的zip文件,将platforms/tencentweibo/libs中SocialSDK_tencentWB_1.jar,SocialSDK_tencentWB_2.jar,,SocialSDK_tencentWB_3.jar拷贝到工程的libs(如果没有此目录,新建libs目录)目录中.
2.在libs目录中找到SocialSDK_tencentWB_1.jar,SocialSDK_tencentWB_2.jar,,SocialSDK_tencentWB_3.jar文件,鼠标右键-->Add to Build Path.

1.手机中必须安装微博客户端V3.8.1及以上的版本才支持SSO功能.
2.腾讯微博的SSO没有回调。由于腾讯微博SSO没有提供回调,因此腾讯微博SSO不会在onActivityResult方法内被调用(腾讯微博授权流程不经过onActivityResult方法).

添加人人SSO所依赖的jar文件

1.解压已下载的zip文件,将platforms/renren/libs/SocialSDK_renren_1.jar,SocialSDK_renren_2.jar,拷贝到你工程libs目录中。
2.在libs工程找到SocialSDK_renren_1.jar,SocialSDK_renren_2.jar文件,鼠标右键-->Add to Build Path。

在SDK中的OAuth授权部分包含了Activity,为了程序能正常允许,请将以下Activity信息在您的应该工程Androidmanefest.xml中注册

转载请注明出处http://blog.csdn.net/lindonglian

    以上就是本篇文章【移动共享开发(二)各平台SSO(免登录)配置 微信和微信朋友圈、QQ、QQ空间、新浪微博、腾讯微博、人人...】的全部内容了,欢迎阅览 ! 文章地址:http://syank.xrbh.cn/news/9494.html 
     资讯      企业新闻      行情      企业黄页      同类资讯      首页      网站地图      返回首页 迅博思语资讯移动站 http://kaire.xrbh.cn/ , 查看更多   
最新新闻
《中国大百科全书》中的“语料库翻译学”
以语料库为基础,以真实的双语语料或翻译语料为研究对象,以数据统计和理论分析为研究方法,依据语言学、文学和文化理论及翻译学
人生价值的名言
人生价值的名言(精选155句)  在学习、工作乃至生活中,说到名言,大家肯定都不陌生吧,名言是人们在实践中的经验教训的提炼
“90后”创业者宁伟:雪域高原写青春
很多年前,在四川省甘孜藏族自治州巴塘县万花盛开的季节,这里还只能看到遍地的格桑花。如今不论是田间地头还是屋落墙角,朵朵雪
何为特殊美容秘密武器?小红书携手海蓝之谜点破美丽关键题
  为了变美,你都付出过哪些努力?  积极健身,认真护肤,学习穿搭,提升内涵……追寻美好是再寻常不过的愿望,接近美的方式也总是
公司防泄密软件哪个好?2024年7款超好用企业防泄密软件排行榜
在某知名制造企业,内部一名员工利用工作权限,将公司核心技术文档拷贝到个人设备,并试图将其出售给竞争对手。虽然员工行为隐秘
《电子商务数据分析》复习题
1、一、单选题1.下列说法正确的是(B )。A、客户数据是企业所处市场发展的相关数据B、产品数据包括行业产品数据与企业产品数据C
js中百度地图API获取本地搜索全部结果自定义显示效果
最近碰到一个关于百度地图api的问题: 1、首先我需要获取到一个本地搜索的全部结果; 2、然后需要对获取的结果信息
不算难! 编辑教你如何升级Windows 8.1?
  Windows8.1已经全面更新,目前完整版的Windows8.1普通版为988元人民币,专业版为1988元。但如果目前你正在使用的操作系统是W
抖音巨量千川怎么收费?怎么做好自己的账号?
目前,流量投放在抖音电商中所占的比重并不低,甚至催生了行业焦虑和投放依赖,现在商家都比较喜欢在抖音上进行直播销售商品,观
抖音良心干货美妆博主推荐
许多网友刚接触抖音不知道有哪些高质量的博主可以关注,今天就给大家整理了个干货美妆博主的合集,有兴趣的不妨关注看看能否让自
本企业新闻
推荐企业新闻

点击拨打: