使用友盟社会化分享组件实现第三方登录
来源:互联网 发布:知乎日报api接口 编辑:程序博客网 时间:2024/06/05 03:46
- 产品概述
Android U-share 6.0sdk是在5.0+的基础上做了进一步的优化,降低了包的大小,对于三方的jar提供了更多选择(精简版,原生版),并提供了更多实用的接口,方便了用户的集成和升级。同时6.0的版本兼容5.0+的版本,老用户,只要替换对应的jar就可以了。 特别提示:之后我们会针对6.0+的版本提供更多方便个性的功能,所以建议用户升级,并留意我们接下来的新功能。
2. 获取友盟Appkey
如果你之前已经在友盟注册了应用,并获取到了Appkey,可以继续使用它.
如果你尚未在友盟注册开发者账号,需要先注册,注册之后登录你的账号,点击添加新应用,填写完应用基本信息后,将进入”下载SDK并添加代码”页面,此页面即可得到Appkey。
3. 下载并安装SDK
下载地址
下载SDK最新版 如下图所示:
在解压后的\social_sdk_example\libs目录下选择自己项目需要使用到的SDK
不太清楚可以全选导入自己项目的libs目录
然后将解压后的\main目录下的res内的文件全部导入自己的项目
到自己项目的清单配置文件中添加权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name="android.permission.READ_PHONE_STATE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.READ_LOGS" /><uses-permission android:name="android.permission.CALL_PHONE"/><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /><uses-permission android:name="android.permission.GET_TASKS" /><uses-permission android:name="android.permission.SET_DEBUG_APP" /><uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /><uses-permission android:name="android.permission.GET_ACCOUNTS" /><uses-permission android:name="android.permission.USE_CREDENTIALS" /><uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
在application节点内添加如下配置
<meta-data android:name="UMENG_APPKEY" android:value="自己在友盟中申请的appkey" > </meta-data>
申请及绑定第三方账号
登录新浪微博开放平台(点击链接),填写相关应用信息并上传icon图片。注意修改安全域名为sns.whalecloud.com 同时设置授权回调页为http://sns.whalecloud.com/sina2/callback 安全域名设置在应用信息–>基本信息,具体位置参考下图
授权回调页、取消授权回调页设置在应用信息–>高级信息,具体位置参考下图
安全域名的修改需要二次审核通过才生效,授权回调页修改即时生效
新浪填写签名参照下面的方法
导出带签名的apk文件并安装到手机,同时安装签名工具(点击下载)在签名工具中输入apk的包名,将获取到的签名填写到新浪微博开放平台,注意签名和包名填写错误会导致新浪微博SSO授权异常。
注意使用签名工具前请确保你的项目已经安装到手机
需要在友盟后台进行配置,如下图所示:
目前需要在友盟后台绑定的第三方账号为:新浪微博、腾讯微博、人人网、豆瓣、Qzone,其余平台如微信、QQ直接在代码中设置
绑定地址:http://umeng.com/apps
登录友盟网站->左上角选择你们的产品->组件->社会化组件->设置
在activity中调用
public class MainActivity extends Activity { private UMShareAPI mShareAPI; private SHARE_MEDIA platform = SHARE_MEDIA.SINA; private UMAuthListener umAuthListener = new UMAuthListener() { @Override public void onComplete(SHARE_MEDIA platform, int action, Map<String, String> data) { Toast.makeText( getApplicationContext(), "Authorize succeed", Toast.LENGTH_SHORT).show(); mShareAPI.getPlatformInfo(MainActivity.this, platform, new UMAuthListener() { @Override public void onError(SHARE_MEDIA arg0, int arg1, Throwable arg2) { // TODO Auto-generated method stub } @Override public void onComplete(SHARE_MEDIA arg0, int arg1, Map<String, String> arg2) { //转换为set Set<String> keySet = arg2.keySet(); //遍历循环,得到里面的key值----用户名,头像.... for (String string : keySet) { //打印下 Log.d("TAG", string); } //得到key值得话,可以直接的到value String name = arg2.get("screen_name"); String url = arg2.get("profile_image_url"); Log.d("TAG", "**"+name+"/"+"url"); } @Override public void onCancel(SHARE_MEDIA arg0, int arg1) { // TODO Auto-generated method stub } }); } @Override public void onError(SHARE_MEDIA platform, int action, Throwable t) { Toast.makeText( getApplicationContext(), "Authorize fail", Toast.LENGTH_SHORT).show(); } @Override public void onCancel(SHARE_MEDIA platform, int action) { Toast.makeText( getApplicationContext(), "Authorize cancel", Toast.LENGTH_SHORT).show(); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mShareAPI = UMShareAPI.get(this); //mShareAPI.doOauthVerify(this, platform, umAuthListener); //SHARE_MEDIA platform = SHARE_MEDIA.QQ;第三方软件是什么,SHARE_MEDIA.第三方软件名称) //PlatformConfig.setWeixin("wx967daebe835fbeac", "5bb696d9ccd75a38c8a0bfe0675559b3"); //微信 appid appsecret PlatformConfig.setSinaWeibo("582436437f2c7462d2003112","7f0bc46ac7efba060ac3f7610cb5f789");//新浪微博 appkey appsecret /*PlatformConfig.setQQZone("100424468", "c7394704798a158208a74ab60104f0ba"); // qq qzone appid appkey PlatformConfig.setAlipay("2015111700822536");//alipay appid */ } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub super.onActivityResult(requestCode, resultCode, data); mShareAPI.onActivityResult(requestCode, resultCode, data); } public void login(View v){ mShareAPI.doOauthVerify(this, platform, umAuthListener); }}
实例源码地址
https://github.com/MaxPanda0/-penid-auth
- 使用友盟社会化分享组件实现第三方登录
- 友盟社会化Android组件之第三方登录
- 友盟社会化Android组件之第三方登录
- 友盟社会化Android组件之第三方登录
- 友盟社会化Android组件之第三方登录
- 【转载】 友盟社会化Android组件之第三方登录
- 第三方集成之社会化分享组件
- 友盟的社会化分享和第三方登录集成步骤
- web 第三方社会化分享插件使用
- Android 友盟社会化组件-分享实现
- Android 友盟社会化组件-分享实现
- Android 友盟社会化组件-分享实现
- Android 友盟社会化组件-分享实现
- Android 友盟社会化组件-分享实现
- android 分享------使用友盟社会化组件
- 基于友盟的第三方社会化分享:
- 友盟第三方QQ登录,报错注意,使用友盟社会化组件的微博SSO功能,需要按照文档要求在xcode设置url scheme!
- Android记录16-友盟第三方登录、分享实现
- 如何找出标有"App Store 精华","Essentials"的所有软件?
- 376. Wiggle Subsequence
- windows 10 启动MYSQL
- Linux编译和安装boost库
- mybatis中使用Java8的日期LocalDate、LocalDateTime
- 使用友盟社会化分享组件实现第三方登录
- 伪随机生成算法(线性同余算法)
- strut2接收参数的三种方式(属性驱动\对象驱动\模型驱动)说明
- 第11周OJ实践 判断三角形形状
- DeepRebirth——通过融合加速网络
- java--获取数据库元数据
- VistualSvnServer安装错误
- SQL代码-创建DeskInfo表
- 太阳能电池暗时特性