"> Android集成文档-个推文档中心

Android集成文档

Android集成文档

1、SDK下载

请联系技术支持 QQ:3007288470

2、获取并配置个推应用参数

2.1、获取应用参数

说明:进入个推开发者中心(dev.getui.com),在应用管理中添加”实名认证“服务,获取对应的APPID。



2.2、配置应用参数

app/build.gradle文件中的android.defaultConfig下添加manifestPlaceholders配置个推相关的应用参数,如下图所示:

manifestPlaceholders = [
        GETUI_APPID       : "你的应用GETUI_APPID"
]

在 AndroidManifest.xml 文件中的 \ 标签下,增加如下代码:

 <meta-data
            android:name="GETUI_APPID"
            android:value="${GETUI_APPID}" />                    

在工程的根目录下的build.gradle文件中的 allprojects { } 中,添加如下代码:

maven {
    url "http://mvn.gt.igexin.com/nexus/content/repositories/releases/"
}

在app所在module的build.gradle文件中的 dependencies { } 中,添加如下代码:

compile 'com.getui:gtc:3.0.1.0'     

3、接口列表

API类名:com.getui.ctid.CTIDManager

方法名 功能说明
init 初始化ctid SDK
auth 唤起验证页面,进行验证流程
getVersion 返回ctid SDK的版本号

3.1、初始化SDK

通过调用init接口进行SDK初始化。

接口说明

added in version 1.0.0.0

/**
* 初始化接口
* @param context
* @param callBack
*/
CTIDManager.getInstance().init(Context context, CTIDCallBack callback);
参数
参数名称 是否必填 类型 描述
context 必填 Context context 上下文
callback 必填 CTIDCallBack 用于接受初始化结果回调
代码示例
CTIDManager.getInstance().init(context, new CTIDCallBack() {
    @Override
    public void onSuccess(String gtcid) {
        Log.d(TAG, "gtcid:"+gtcid );
    }

    @Override
    public void onFailure(String error) {
        //返回失败的原因
        Log.d(TAG, "init onFailure:"+error );
    }
});

sdk初始化后回调onSuccess即代表 SDK 初始化成功,否则会在onFailure中回调失败的原因。

3.2、验证接口

通过调用auth接口唤起身份信息验证页面,进行验证的流程。

接口说明
/**
* 唤起验证页
* @param name
* @param idNum
* @param imageStr
* @param context
* @param callBack
*/
CTIDManager.getInstance().auth(String name, String idNum, String imageStr, Context context, AuthCallBack callback);
参数
参数名称 是否必填 类型 描述
name 必填 String 用户的身份证姓名
idNum 必填 String 用户的身份证号码
imageStr 可选 String 用户的头像图片所对应字节数组的Base64编码(图片数据base64,建议使用jpg格式,大小5K-50K)
context 必填 Context 当前唤起验证页面的context
callback 必填 AuthCallBack 用于接受验证的结果回调
代码示例
CTIDManager.getInstance().auth(name, idNum, imageStr, context, new AuthCallBack() {
        @Override
    public void onSuccess(JSONObject jsonObject) {
        // 成功或失败,均会返回一个 JSONObejct
        Log.e("auth success", jsonObject.toString());
    }

    @Override
    public void onFailure(JSONObject jsonObject) {
        // 成功或失败,均会返回一个 JSONObejct
        Log.e("auth failure", jsonObject.toString());
    }
});
返回示例

说明:pid为互联网身份标识

{
"code":200,
"errorCode":"0XXX",
"msg":"身份信息正确",
"pid":"CfKc1kaX5QZ6oY8qiBuM91POQIUtH2zLNhUXHJPtzuJNMjAyMDA0MjYxNTM3MDEwRAIgTMGGk7pSZ7jSpRwcdGUwJyJQsCcWAiNOmI9U+qloBCQCIFviGPujRdqroIf8zdzrsZRN+uaY05XX4dcH9Dh0GtM2AAA="
}

调用身份验证接口,用户输入身份证上的姓名、身份证号码、照片对应的字符串(可选),在完成身份验证流程后,无论成功或失败,开发者均可在onSuccess和onFailure 回调方法中获取一个 JSONObejct 实例,其格式如下所示:

字段 字段说明
code 状态码,200验证正确,500验证失败
errorCode 错误码,具体含义如下表所示
msg 错误信息
pid 服务器返回的pid

错误码errorCode的具体含义:

字段 字段说明
1001 SDK初始化失败
1002 参数校验失败
1003 appId为空
1004 网络请求异常
1005 接口调用频率过高
1006 服务器返回数据异常
详细说明:若errorCode不为1开头,则为中盾业务标识,一般为4位数字
第一位数字为姓名身份证匹配结果,第二位数字为人像匹配结果,第三位与第四位暂时不用关注。
例如51XX,第一位字符为5,代表身份信息无效;第二位字符为1,代表人像不匹配,非同一人。
具体规则如下:
第一位字符:身份信息匹配比对 含义
0 身份信息有效
5 身份信息无效
6 参数错误
7 系统错误
9 公安接口访问次数用尽
A 穿网调用超时
E 公安接口调用异常
T 公安接口调用超时
X 未执行
Z 该业务站点配置的公安网访问次数耗尽
第二字符:人像比对 含义
0 同一人(人像加密)
1 非同一人(人像加密)
2 疑似(人像加密)
A 人像比对数据库操作异常
B 人像比对异常
C 输入参数错误
D 无人像信息
E 非 JPEG 格式的图像
F 待比对图像建模失败
1. 照片可能有角度、光线过暗、脸部 区域有亮斑、模糊
2. 照片尺寸太小
G 客户方上传照片质量不合格
H 活体检测控件版本过期
I 加密的人像图像数据校验失败
J 现场照片小于 5K 字 节
K 公安制证照片质量不 佳
T 人像引擎超时
W 该笔认证超时
X 未执行
第三字符:网证及认证码匹配比对 含义
0 网证状态正常
1 该居民身份证网证已被注销
2 该身份证没有申请居 民身份证网证
3 网证不匹配
4 认证码异常
5 该网证已经被冻结
6 身份信息不匹配
7 业务流水号为空
8 该网证已过期
9 ID 验证数据为空
J 网证信息有误
B 下载设备 ID 不匹配
C 系统异常
D 该身份证已失效
G 数据库异常
E 系统异常
X 不执行
第四字符:保留字段

3.3、获取SDK版本号

通过调用getVersion接口获取SDK的版本号。

接口说明

added in version 1.0.0.0

/**
* 获取SDK版本号
*/
CTIDManager.getInstance().getVersion();
参数

代码示例
String version = CTIDManager.getInstance().getVersion();

文档中心搜索