Android对接指南

[隐藏]

交互流程

Group 25.png


1、接入说明

 (1)接入前请先确认

   A.   已申请appId、appSecret。

   B.   正确配置包名与签名(签名指纹MD5值)。

   

(2)选择SDK包,SDK 含有so库,请根据您项目的so目录(若有),选择包含对应ABI目录的aar包。

   A.  CTAccountSdk_HY_v3.7.x_armeabi.aar ,只包含了armeabi的so库(若您项目无so库或只有armeabi目录,建议使用该aar包);

   B.  CTAccountSdk_HY_v3.7.x_all.aar,包含多个so库目录(分别armeabi,armeabi-v7a,arm64-v8a,x86,x86_64,请根据您项目so库目录,过滤多余的so库)

     安卓SDK文档流程图1013-江映繁2.jpg

2、导入aar包

(1)将AAR包导入到libs目录下

分组 2.png       


( 2 )build.gradle配置aar依赖

dependencies {

       //name为libs目录下.aar文件名称,ext为.aar的扩展名

     compile(name: 'CTAccountSdk_v3.6.0_armeabi', ext: 'aar')

}

3、配置权限清单             

(1) 在AndroidManifest.xml配置权限

<uses-permission android:name="android.permission.INTERNET" />

<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<uses-permission android:name="android.permission.WRITE_SETTINGS" />

<uses-permission android:name="android.permission.GET_TASKS" />

(2)配置权限说明

权限用途
INTERNET允许应用程序联网
CHANGE_NETWORK_STATE允许程序改变网络连接状态
ACCESS_WIFI_STATE允许程序访问WiFi网络状态信息
ACCESS_NETWORK_STATE允许程序访问联网状态,区分用户设备是移动网络或WiFi
WRITE_SETTINGS允许读写系统设置项
GET_TASKS允许访问task

(3)Activity组建配置

<activity

    android:name="cn.com.chinatelecom.account.sdk.ui.AuthActivity"

    android:exported="false"

    android:theme="@style/authActivityTheme"

    android:screenOrientation="portrait" />

<activity

    android:name="cn.com.chinatelecom.account.sdk.ui.PrivacyWebviewActivity"

    android:exported="false"

    android:theme="@style/authActivityTheme"

    android:screenOrientation="portrait" />


4、配置混淆规则    

在混淆配置文件末尾添加如下:

-keep class cn.com.chinatelecom.account.**{*;}


5、SDK接口调用说明

 5.1 初始化SDK

    【接口说明】

      在使用天翼账号SDK接口之前,必须先调用初始化方法。建议在Application或Activity的onCreate()调用。


    【调用示例】

CtAuth.getInstance().init(context, APPID , APPSECRET, false);

  

    【请求参数】

参数名
类型必填说明
contextContext上下文环境
appIdString向天翼账号平台申请的应用ID
appSecretString向天翼账号平台申请的应用密钥
 isDebugModeboolean

调试模式(上线前需置为false)

false:不输出SDK日志

true:输出SDK日志


   【响应参数】

     无 


 5.2 预登录接口

   【接口说明】

     使用SDK登录前,需要提前调用预登录接口,获取预登录结果、过期时间戳、运营商类型等信息,其中预登录结果默认有效期为10分钟。


   【调用示例】

CtAuth.getInstance().requestPreLogin (null ,new ResultListener() {

    @Override

    public void onResult(String result) {

        Log.i(TAG, "requestPreLogin ---> result : " + result);

    }

});


   【请求参数】  

参数名
类型必填说明
ctSettingCtSetting

超时时间设置,可传null。

也可传入自定义的ctSetting。传null默认为

CtSetting ctSetting =CtSetting(3000,3000 ,1000);

三个参数分别为连接超时时间、读取超时时间、总超时时间。
resultListenerResultListener预登录回调接口,接口方法onResult(String result)用于接收请求结果。其中result为返回结果json格式字符串。


   【响应参数】

     返回结果result的json格式说明:

参数名
类型字段含义说明
resultint结果码


返回参数结果码,0表示成功


msgString结果说明结果码对应详细说明
dataString响应数据json格式的响应数据


     data格式说明:   

参数名
类型字段含义说明
operatorTypeString运营商标识


CT电信,CU联通,CM移动,UN其他

expiredTimeint预登录结果失效时间预登录结果失效时间
accessCodeString授权码天翼账号授权码(可用于登录/校验,一次性有效,有效期60min)


 5.3 打开登录界面

   【接口说明】

     使用该接口前,必须先完成调用初始化和预登录接口。该接口用于打开登录界面,用户点击一键登录按钮,将返回登录结果。

   (注意:打开登录界面后,需确保该Activity在屏幕的最顶部,由用户点击授权一键登录)


   【调用示例】

CtAuth.getInstance().openAuthActivity(context ,authPageConfig,new ResultListener() {

    @Override

    public void onResult(String result) {

         Log.i(TAG, "login ---> result : " + result);

    }

});


   【请求参数】  

参数名
类型必填说明
contextContext


上下文环境
authPageConfigAuthPageConfigAuthPageConfig为登录界面配置类,用于设置登录界面的布局文件及控件ID,并传入SDK。 详细说明见Demo
resultListenerResultListener登录回调接口,接口方法onResult(String result)用于接收请求结果。其中result为返回结果json格式字符串。


   【响应参数】

     返回结果result的json格式说明:

参数名
类型字段含义说明
resultint结果码


返回参数结果码,0表示成功


msgString结果说明结果码对应详细说明
dataString响应数据json格式的响应数据


     data格式说明:   

参数名
类型字段含义说明
accessCodeString授权码


天翼账号授权码,用于获取信息接口传参,默认时效性10分钟

authCodeString校验码天翼账号校验码,用于获取信息接口传参
operatorTypeString运营商标识CT电信,CU联通,CM移动,UN其他
expiredTimeint失效时间预登录结果失效时间戳


 5.4 关闭登录界面

   【接口说明】

     当返回登录结果后,合作方APP可以调用该接口关闭登录界面。


   【调用示例】

CtAuth.getInstance().finishAuthActivity();


   【请求参数】

     无 


   【响应参数】

     无