最近项目中有使用到友盟第三方登录:下面我就把使用友盟第三方登录的步骤分享给大家:

1.第一步:去友盟+官网创建应用,申请获取到appkey。有账号的话直接登录创建即可,无账号注册一个创建应用。

官网链接:https://www.umeng.com/

2.第二步:确定可以使用第三方登录的平台。(我这里实现QQ、微信和新浪微博)。

3.第三步:去腾讯开放平台申请APP ID 和 APP KEY。步骤和第一步一样的,创建应用。

官网链接:http://open.qq.com/

4.第四步:去微信开放平台申请AppID 和 AppSecret。(他这里有个坑,就是一定要是管理员身份的微信扫描二维码才能生成)。

官网链接:https://open.weixin.qq.com/

5.第五步:去新浪微博开放平台申请App Key 和 App Secret在高级信息中设置回调url。

官网链接:http://open.weibo.com/

这些步骤全部完成之后,开始初始化友盟sdk的步骤了。

6.下载友盟社会化分享的sdk:把jar包全部导入工程中去。

下载链接:http://mobile.umeng.com/custom_sdk 
点击了链接会出现如下所示:点击一键下载。 

下载完成解压后出现如下所示: 

双击中间的share文件夹:

双击友盟集成工具:

点击OK,弹出框点击是:

会发现多出来一个文件夹:

如上所示把lib中的jar包全部导入项目中去

7.在app中的build.gradle中添加依赖:

compile 'com.umeng.sdk:common:latest.integration'

还需要加入:

allprojects {repositories {mavenCentral()}}

(混淆规则)

-keep class com.umeng.commonsdk.** {*;}

8.在工程的Application中的onCreate()方法中加入以下代码:

UMConfigure.init(this, "友盟+的appkey", "Shutang", UMConfigure.DEVICE_TYPE_PHONE, "");//最后一个参数为推送时需要用到的UMShareAPI.get(this);Config.DEBUG = true;QueuedWork.isUseThreadPool = false;//三方获取用户资料时是否每次都要进行授权UMShareConfig config = new UMShareConfig();config.isNeedAuthOnGetUserInfo(true);UMShareAPI.get(this).setShareConfig(config);PlatformConfig.setWeixin("微信的AppID", "微信的AppSecret");PlatformConfig.setQQZone("腾讯的APP ID", "腾讯的APP KEY");PlatformConfig.setSinaWeibo("新浪微博的App Key", "新浪微博的App Secret", "新浪微博的回调url");

9.在项目的清单文件中添加权限:

<!--友盟的权限 --><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.INTERNET" /><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /><uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

10.在包名的文件夹直属目录下创建一个wxapi包,然后在包中创建一个:

例子: 

package com.stinfo.app.wxapi;import com.umeng.socialize.weixin.view.WXCallbackActivity;/*** Created by DFF on 2018/3/31.*/public class WXEntryActivity extends WXCallbackActivity{
}

11.在清单文件中注册回调的Activity:

<!-- 微信 --><activityandroid:name=".wxapi.WXEntryActivity"android:configChanges="keyboardHidden|orientation|screenSize"android:exported="true"android:screenOrientation="portrait"android:theme="@android:style/Theme.Translucent.NoTitleBar" /><!--新浪--><activityandroid:name="com.umeng.socialize.media.WBShareCallBackActivity"android:configChanges="keyboardHidden|orientation"android:theme="@android:style/Theme.Translucent.NoTitleBar"android:exported="false"android:launchMode="singleTask"android:screenOrientation="portrait" ></activity><activityandroid:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"android:launchMode="singleTask"android:name="com.sina.weibo.sdk.share.WbShareTransActivity"><intent-filter><action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" /><category android:name="android.intent.category.DEFAULT" /></intent-filter></activity><!-- qq精简版 --><activityandroid:name="com.tencent.tauth.AuthActivity"android:launchMode="singleTask"android:noHistory="true"><intent-filter><action android:name="android.intent.action.VIEW" /><category android:name="android.intent.category.DEFAULT" /><category android:name="android.intent.category.BROWSABLE" /><data android:scheme="tencentappid" /></intent-filter></activity><activityandroid:name="com.tencent.connect.common.AssistActivity"android:configChanges="orientation|keyboardHidden|screenSize"android:screenOrientation="portrait"android:theme="@android:style/Theme.Translucent.NoTitleBar" /><!-- 分享编辑页 --><activityandroid:name="com.umeng.socialize.editorpage.ShareActivity"android:excludeFromRecents="true"android:theme="@android:style/Theme.Translucent.NoTitleBar" /><activity android:name=".StartActivity"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity>

12.在登录界面,也就是去获取授权的界面中重写onActivityResult()方法:

@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data);
}

以上初始化就基本上完成了:

现在是使用阶段:

此处是我登录界面的点击事件:

case R.id.other_weibo_login://新浪微博登录UMSharePlatform.loginThirdParty(this, SHARE_MEDIA.SINA, new UMSharePlatform.LoginSuccessCallback() {@Overridepublic void getLoginData(String uid) {mLoginPresenter.thirdPartyLoad(uid, "3");}});break;case R.id.other_qq_login://QQ登录UMSharePlatform.loginThirdParty(this, SHARE_MEDIA.QQ, new UMSharePlatform.LoginSuccessCallback() {@Overridepublic void getLoginData(String uid) {mLoginPresenter.thirdPartyLoad(uid, "2");}});break;case R.id.other_weixin_login://微信登录UMSharePlatform.loginThirdParty(this, SHARE_MEDIA.WEIXIN, new UMSharePlatform.LoginSuccessCallback() {@Overridepublic void getLoginData(String uid) {mLoginPresenter.thirdPartyLoad(uid, "1");}});break;

这是我封装得回调逻辑:

public class UMSharePlatform {/*** 第三方登录** @param activity* @param media* @param callback*/public static void loginThirdParty(Activity activity, SHARE_MEDIA media, final LoginSuccessCallback callback) {UMShareAPI.get(activity).getPlatformInfo(activity, media, new UMAuthListener() {@Overridepublic void onStart(SHARE_MEDIA share_media) {Log.e("lee", "onStart授权开始: ");}@Overridepublic void onComplete(SHARE_MEDIA share_media, int i, Map<String, String> map) {callback.getLoginData(map.get("uid"));//在该回调的map中可以拿到第三方返回的好多信息:比如昵称,头像,性别等等,由于我这里只需要uid所以就只取了uid。Log.e("lee", "onComplete授权成功: ");}@Overridepublic void onError(SHARE_MEDIA share_media, int i, Throwable throwable) {Log.e("lee", "onError授权异常: ");}@Overridepublic void onCancel(SHARE_MEDIA share_media, int i) {Log.e("lee", "onCancel授权取消: ");}});}/*** 回调接口*/public interface LoginSuccessCallback {/*** @param uid 第三方平台返回的唯一标识*/void getLoginData(String uid);}
}

mLoginPresenter.thirdPartyLoad(uid, "1");这些代码就是调用我们自己的服务器的登录接口。

以上就完成了友盟+的第三方登录。

原文转载自:https://blog.csdn.net/qq77485042/article/details/79792489

我自己做的项目流程与该文章所述流程大同小异,只是有些细节不一样,如有问题可以留言讨论。

使用友盟+实现第三方登录(QQ、微信、微博)相关推荐

  1. 友盟集成第三方登录--微信、QQ实现

    友盟集成了第三方登录,本给我们带来便利,但是文档只描述了集成方式,出现问题,发现还得自己各种baidu,这里总结自己遇到的一些坑,以防下次再踩. 友盟集成第三方微信登录: 友盟集成方案参考:http: ...

  2. android使用友盟实现第三方登录、分享以及微信回调无反应问题解决办法

    这里介绍微信和新浪登录.微信登录和新浪登录都需要申请第三方账号.可以参考官方文档http://dev.umeng.com/social/android/operation#2还是很清晰的. 新浪微博开 ...

  3. iOS:友盟SDK第三方登录 分享及友盟统计的使用

    本文转载至 http://www.it165.net/pro/html/201503/37101.html Tag标签:第三方   view sourceprint? 01.#import " ...

  4. iOS 第三方登录(QQ 微信 新浪微博)

    一.QQ登录 1.登录腾讯开放平台,创建一个应用,获取APP_KEY和APP_ID 2.下载对应的SDK 3.下载 iOS SDK环境搭建 1.导入SDK,配置工程 1.下载SDK到本地后,将SDK拖 ...

  5. 集成友盟第三方实现QQ微信登录遇到的坑

    最近项目集成友盟第三方实现QQ微信登录,在集成实现过程中遇到了一些问题,也对这些问题提出一些自己的解决办法: 集成的过程不就提了,直接上问题: 一.微信登录提示"授权失败,请查看log&qu ...

  6. CAS单点登录-第三方登录[QQ、微信、CSDN、GitHub](十四)

    CAS单点登录-第三方登录[QQ.微信.CSDN.GitHub](十四) 注: 目前博文使用cas版本为5.1.5,由于5.2.x与5.1.x构建模式有差异,所以部分配置会有些偏差. 本章内容 简答介 ...

  7. iOS开发集成友盟,腾讯QQ登录授权失败

    在项目中集成友盟,腾讯QQ登录,登录授权失败110406. 原因: app在测试阶段(未上线),授权的QQ账号和腾讯开放平台的QQ账号不是同一账号. 解决办法: 在腾讯开放平台中,应用接入--应用管理 ...

  8. 安卓三方登录趟坑,QQ,微信,微博,Twitter,Facebook,Instagram

    前言 最近给app加入三方登录,由于比较多,所以就用的友盟统一登录,会比一个一个配置方便点 正文 先说QQ,微信,微博: 国内QQ,微信,微博三方登录其实还行,并没有太多坑,文档也挺完善的. 但是需要 ...

  9. Oauth2.0 QQ微信微博实现第三方登陆

    一.写在前面 目前对于大多数的App或Web网站都支持有第三方登陆这个功能,用户可使用 QQ/ 微信/ 微博 帐号快速登录你的网站,降低注册门槛,为你的网站带来海量新用户.最近在新项目上刚好用到了,在 ...

  10. Spring Boot集成第三方登录之微信登录

    Spring Boot集成第三方登录之微信登录 准备工作 注册 创建网站应用 网站应用开发指南 授权流程 请求CODE 获取access_token 使用access_token调用接口 获取用户个人 ...

最新文章

  1. mendix归还界面如何只显示登录人自己借阅的书籍,而不显示全部人借阅的书籍
  2. img下出现几像素空白的问题
  3. md5模块(Python内置模块)和hashlib模块
  4. 大数据量下的sort
  5. 最新数据显示,全国有580万人被限制乘坐高铁,大家怎么看?
  6. mysql xtrabackup 遭遇严重bug
  7. python模块下载过程_常用的python模块及安装方法
  8. 使用 Adobe AIR 管理 WordPress 评论
  9. 条件测试 linux,Linux的条件测试
  10. 实习成长之路:MySQL二 : 一条SQL更新语句是如何执行的?
  11. SurfaceView浅析
  12. excel如何隔行填充颜色
  13. 麒麟操作系统安装达梦数据库实战
  14. 银行业务中台和阿里中台的异曲同工之妙
  15. 小森生活服务器维护还要多久,小森生活暮夕深林材料刷新时间是多久_暮夕深林材料刷新时间位置汇总_3DM手游...
  16. 明星代言的商品一般都不便宜,为何还那么受青睐?
  17. Thread详解一(interrupt)
  18. 【QT实现TCP和UDP协议通信(一)】
  19. 如何使用爬虫分析Python岗位招聘情况
  20. 能上QQ但打不开网页

热门文章

  1. 苹果公司向中国征收30%苹果税
  2. elasticsearch 学习之 搭建简单的elasticsearch多节点服务器
  3. 巨杉数据库登榜互联网周刊“2022中国软件150强”及“2022大数据服务TOP150”
  4. python爬取网易云音乐评论并进行情感分析_使用python3爬取网易云音乐的评论
  5. android 设置组件背景图片,Android TextView背景颜色与背景图片设置
  6. ps快捷键及相关基础知识总结(持续ing)
  7. 百词斩不复习_百词斩怎么复习,学好英语的前提条件是?
  8. 白嫖亚马逊AWS服务器
  9. DNS服务器的安装与配置
  10. windows下的diskpart指令修复U盘分区