Android淘宝第三方登录

首先要创建一个阿里百川应用 创建阿里百川应用打开这个网址,用淘宝号登录
Android淘宝第三方登录

创建完成之后,打开 阿里百川开发文档进行项目配置
添加gradle

 repositories {
        google()
        jcenter()
        maven {
            url "http://mvnrepo.alibaba-inc.com/mvn/repository"
        } 
    }
    
allprojects {
     repositories {
       google()
       jcenter()
       maven {
            url "http://repo.baichuan-android.taobao.com/content/groups/BaichuanRepositories/"
        }
    }
}

添加依赖 把compile替换成implementation

//fastjson
    compile 'com.alibaba:fastjson:1.2.9'
 
    //支付
    compile 'com.alibaba.alipay:alipaySingle:[email protected]'
 
    //登陆
    compile 'com.ali.auth.sdk:alibabauth_core:[email protected]'
    compile 'com.ali.auth.sdk:alibabauth_ui:[email protected]'
    compile 'com.ali.auth.sdk:alibabauth_ext:[email protected]'
    //【可选】仅供特殊合作伙伴使用
    compile 'com.ali.auth.sdk:alibabauth_accountlink:[email protected]'
 
    //安全基础
    compile 'com.taobao.android:securityguardaar3:[email protected]'
    //【可选】安全高级,如使用了发放红包、优惠券高级功能,则必须引入
    compile 'com.taobao.android:securitybodyaar3:[email protected]'
 
    //Mtop网关
    compile 'com.taobao.android:mtopsdk_allinone_open:[email protected]'
 
    //applink
    compile 'com.taobao.android:alibc_applink:[email protected]'
 
    //UT
    compile 'com.taobao.android:utdid4all:[email protected]'
    compile 'com.alibaba.mtl:app-monitor-sdk:[email protected]'
 
    //电商SDK
    compile 'com.alibaba.sdk.android:alibc_trade_sdk:[email protected]'
 
}

获取安全图片,再次打开 创建阿里百川应用,找到 安全图片获取 这一项,一个是v4版本,一个是v5版本,如何选择v4还是v5,要看gradle中'com.taobao.android:securityguardaar3:[email protected]'版本号,5.1用v4版本5.1+以上用v5版本点击上传,可以是debuge版本,也可以是release版本,然后下载安全图片,把下载下来的安全图片放到项目中/res/drawable目录下(这是必须的),把名字命名为yw_1222.jpg
Android淘宝第三方登录

Android淘宝第三方登录

初始化,在你项目中需要登录的地方加上这段代码

 AlibcTradeSDK.asyncInit(this, new AlibcTradeInitCallback() {
                @Override
                public void onSuccess() {
                    //初始化成功,设置相关的全局配置参数
             
                    // ...
                }
 
                @Override
                public void onFailure(int code, String msg) {
                    //初始化失败,可以根据code和msg判断失败原因,详情参见错误说明
                }
            }); 

授权登录,在你项目中需要登录的地方加上这段代码

 final AlibcLogin alibcLogin = AlibcLogin.getInstance();
 
        alibcLogin.showLogin(MainActivity.this, new AlibcLoginCallback() {
 
            @Override
            public void onSuccess() {
                Toast.makeText(MainActivity.this, "登录成功 ",
                        Toast.LENGTH_LONG).show();
               //获取淘宝用户信息
                        Log.d("--获取淘宝用户信息", "获取淘宝用户信息: "+AlibcLogin.getInstance().getSession());
                        Gson gson = new Gson();
                        String s = gson.toJson(AlibcLogin.getInstance().getSession());
                        Log.d("--获取淘宝用户信息", "获取淘宝用户信息: "+AlibcLogin.getInstance().getSession());
                       String openid=AlibcLogin.getInstance().getSession().openId;
                       String name = AlibcLogin.getInstance().getSession().nick;
                       String imgurl = AlibcLogin.getInstance().getSession().avatarUrl;
                       Log.d("--淘宝名称图片:",name +imgurl);
            }
            @Override
            public void onFailure(int code, String msg) {
                Toast.makeText(MainActivity.this, "登录失败 ",
                        Toast.LENGTH_LONG).show();
            }
        });

在项目的res/values/styles.xml添加以下代码,如果不加这段代码,Android8.0以上系统会出现闪退,登录失败

<style name="AlibcLoginTheme" parent="android:Theme.NoTitleBar.Fullscreen">

        <item name="android:windowIsTranslucent">false</item>

        <item name="android:windowDisablePreview">true</item>

    </style>

AndroidManifest.xml中添加调起淘宝登录的页面

         <activity
            android:name="com.ali.auth.third.ui.LoginActivity"
            android:theme="@style/AlibcLoginTheme"
            tools:replace="android:theme" />

以上步骤都进行完了以后,一定要重新打包后再进行测试,不要直接运行,直接运行没有效果,会出现错误,登录失败

Android淘宝第三方登录