ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

umeng(友盟)实现第三方登录和分享详解之登录详解,flutter页面跳转

2022-01-31 16:34:08  阅读:147  来源: 互联网

标签:name 登录 umeng 平台 platform 详解 跳转 android com


main是核心库

lib里面有三个jar,copy到工程libs下面

umeng_social_api.jar

umeng_social_net.jar

umeng_social_tool.jar

res里面文件全选copy到工程res下面

这里写图片描述

这里写图片描述

platforms是平台库

和核心库一样,copy里面的libs和res里面的文件,但对于平台来说可能会有回调activity,

支付宝: 把apshare这个文件(里面包含activity)直接copy到项目的包名下,com.xxx.xxx下面。

微信 :把wxapi这个文件(包含activity,精简版和完整版不同)放到copy项目包名下

钉钉与微信相似,钉钉需要在包名目录下创建ddshare文件夹,然后建立一个DDShareActivity的类,DingCallBack。

新浪和QQ 不需要回调activity,但是需要在登录分享的activity内加入回调

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

super.onActivityResult(requestCode, resultCode, data);

UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data);

}

3、配置Android Manifest XML

这些权限都是必要的,已经存在的不需要再次添加。

4、Android Manifest XML中配置activity

加上umeng的appkey

<meta-data

android:name=“UMENG_APPKEY”

android:value=“561cae6ae0f55abd990035bf” >

新浪:

<activity

android:name=“com.umeng.socialize.media.WBShareCallBackActivity”

android:configChanges=“keyboardHidden|orientation”

android:theme="@android:style/Theme.Translucent.NoTitleBar"

android:exported=“false”

android:screenOrientation=“portrait” >

<activity android:name=“com.sina.weibo.sdk.web.WeiboSdkWebActivity”

android:configChanges=“keyboardHidden|orientation”

android:exported=“false”

android:windowSoftInputMode=“adjustResize”>

<activity

android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"

android:launchMode=“singleTask”

android:name=“com.sina.weibo.sdk.share.WbShareTransActivity”>

微信:不需要

支付宝:

<activity

android:name=".apshare.ShareEntryActivity"

android:configChanges=“keyboardHidden|orientation|screenSize”

android:exported=“true”

android:screenOrientation=“portrait”

android:theme="@android:style/Theme.Translucent.NoTitleBar" />

钉钉:

<activity

android:name=".ddshare.DingCallBack"

android:configChanges=“keyboardHidden|orientation|screenSize”

android:exported=“true”

android:screenOrientation=“portrait”

android:theme="@android:style/Theme.Translucent.NoTitleBar" />

qq精简版:

<activity

android:name=“com.umeng.qq.tencent.AuthActivity”

android:launchMode=“singleTask”

android:noHistory=“true” >

<activity

android:name=“com.umeng.qq.tencent.AssistActivity”

android:screenOrientation=“portr
ait”

android:theme="@android:style/Theme.Translucent.NoTitleBar"

android:configChanges=“orientation|keyboardHidden|screenSize”/>

qq完整版:

<activity

android:name=“com.tencent.tauth.AuthActivity”

android:launchMode=“singleTask”

android:noHistory=“true” >

<activity

android:name=“com.tencent.connect.common.AssistActivity”

android:screenOrientation=“portrait”

android:theme="@android:style/Theme.Translucent.NoTitleBar"

android:configChanges=“orientation|keyboardHidden|screenSize”/>

5、配置友盟key及三方key

建立一个application文件,注意要在AndroidManifest文件中配置(如果本身已有,不需要重新建立):

<application

android:allowBackup=“true”

android:icon="@mipmap/ic_launcher"

android:label="@string/app_name"

android:supportsRtl=“true”

android:name=".App"

android:theme="@style/AppTheme">

在application里面进行umeng的第三方key配置

这里作为示例,只配置了微信、QQ/Qzone、新浪的三方appkey,如果使用其他平台,在这里增加对应平台key配置

把前面在其他平台获取的key

public class App extends Application{

{

PlatformConfig.setWeixin(“wx967daebe835fbeac”, “5bb696d9ccd75a38c8a0bfe0675559b3”);

PlatformConfig.setQQZone(“100424468”, “c7394704798a158208a74ab60104f0ba”);

PlatformConfig.setSinaWeibo(“3921700954”, “04b48b094faeb16683c32669824ebdad”, “http://sns.whalecloud.com“);

}

}

当然初始化操作也放在application里面进行@Override

public void onCreate() {

super.onCreate();

UMShareAPI.get(this);

}

6、 将文件夹中的签名文件放入到工程中,这个不再赘述。

四,登录集成

1、登录的集成很简单,直接调用方法即可

第三方登录包含两种使用场景:

获取用户资料的授权接口,使用该接口可以获取该三方平台返回的所有资料(包括姓名,性别,头像等)

三方授权,开发者调用授权接口,可以获取accesstoken相关的信息,但是没有用户资料(姓名,性别,头像等),需要开发者根据token自己去请求用户资料,对于保密性要求较高的用户可以使用。 目前支持第三方登录的平台包括:

国内平台(微信、新浪微博、QQ、豆瓣、人人)

国外平台(Facebook、Twitter、linkedIn、kakao、VKontakte、Dropbox)

这里推荐直接使用第一种方式实现,因为本质上三方登录最终都需要拉取三方平台的用户资料,从这点来说,直接调用SDK和通过后台服务器请求,安全性是一样的

mShareAPI.getPlatformInfo(UserinfoActivity.this, SHARE_MEDIA.SINA, umAuthListener);

SHARE_MEDIA.SINA写入你需要的平台,umAuthListener是回调方法

UMAuthListener authListener = new UMAuthListener() {

/**

  • @desc 授权开始的回调

  • @param platform 平台名称

*/

@Override

public void onStart(SHARE_MEDIA platform) {

}

/**

  • @desc 授权成功的回调

  • @param platform 平台名称

  • @param action 行为序号,开发者用不上

  • @param data 用户资料返回

*/

@Override

public void onComplete(SHARE_MEDIA platform, int action, Map<String, String> data) {

);

SHARE_MEDIA.SINA写入你需要的平台,umAuthListener是回调方法

UMAuthListener authListener = new UMAuthListener() {

/**

  • @desc 授权开始的回调

  • @param platform 平台名称

*/

@Override

public void onStart(SHARE_MEDIA platform) {

}

/**

  • @desc 授权成功的回调

  • @param platform 平台名称

  • @param action 行为序号,开发者用不上

  • @param data 用户资料返回

*/

@Override

public void onComplete(SHARE_MEDIA platform, int action, Map<String, String> data) {

标签:name,登录,umeng,平台,platform,详解,跳转,android,com
来源: https://blog.csdn.net/wq221aas/article/details/122760466

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有