本文档仅适用于3.0以前的gysdk,3.0以后的版本已经删除了反欺诈相关的功能接口。
进行反欺诈接入前请先完成SDK的接入与初始化
反欺诈主要用于识别设备风险等级
提供两种接入方式,请业务方根据自身特点进行选择。
客户端主动触发模式
客户端在注册、登录时分别调用注册保护、登录保护接口。此种方式适合防范电商刷单、秒杀活动的防范。
服务端校验模式
客户端只需完成初始化操作,获取gyuid上传到服务端,服务端根据业务需要,定期根据gyuid获取设备风险等级。适用于新闻资讯类APP。(gyuid为设备标识,可在初始化时获取,详见初始化文档)
API 类名: com.getui.gysdk.GYManager
方法 | 功能说明 |
---|---|
checkRegister | 注册保护接口,在注册时调用(客户端主动触发模式) |
checkLogin | 登录保护接口,在登录时调用(客户端主动触发模式) |
checkRegister
开发者通过类 CheckBuilder.Builder
根据以下参数构造 CheckBuilder
对象,通过调用API public void checkRegister(CheckBuilder builder, GyCallBack callBack)
,注册风险等级在 GyCallBack
回调中。
参数名称 | 是否 必填 |
类型 | 描述 |
---|---|---|---|
account | 必选 | String | 用户唯一标识,如果是手机号or邮箱,请提供 MD5 值 |
可选 | String | 用户的邮箱 | |
pn | 可选 | String | 用户的手机号MD5值 |
pwd | 可选 | String | 用户的密码 |
nickName | 可选 | String | 昵称 |
registerTime | 可选 | String | 注册时间戳,单位秒 |
runEnv | 可选 | String | 用户客户端运行环境,取值: 2: WEB,3: WAP,4: IOS_PHONE,5: ANDROID_PHONE, 6: WINDOWS_PHONE,7: IOS_TABLET,8: ANDROID_TABLET, 9: WINDOWS_TABLET,10: WINDOWS_DESKTOP,11: MAC_DESKTOP, 12: LINUX_DESKTOP |
moveCount | 可选 | String | 用户操作过程中的move类事件的次数,包括:mouseMove、touchMove等等 |
clickCount | 可选 | String | 用户操作过程中鼠标点击次数,包括:click、mousedown、touchStart等事件 |
keyCount | 可选 | String | 用户操作过程中键盘的摁键次数 |
operatingTime | 可选 | String | 注册操作耗时,单位秒 |
ip | 可选 | String | 注册来源的外网IP |
appVer | 可选 | String | APP版本 |
mac | 可选 | String | 设备mac地址 |
imei | 可选 | String | 设备的IMEI |
imsi | 可选 | String | 设备的IMSI |
referrer | 可选 | String | 用户http请求的Referrer头 |
userAgent | 可选 | String | 用户http请求的UserAgent |
xForwardFor | 可选 | String | 用户http请求的X-Forwarded-For头信息,或其他记录代理信息的http头信息 |
result | 可选 | String | 注册结果 0:失败1:成功 |
reason | 可选 | String | 失败原因 0:其他 1:参数错误 2:帐号冲突 3:验证错误 |
类 GYResponse
参数说明:
参数名称 | 类型 | 描述 |
---|---|---|
success | boolean | 接口成功与否 |
code | int | 状态码 |
msg | String | JSON数据 toString,示例:{"riskType":["3"],"level":"4","token":"GY-AF-20180918-yvQZCpNWFc8ma7rm1Qe3n2"} |
msg中包含信息说明:
参数名称 | 类型 | 描述 |
---|---|---|
level | String | 分为0-4五个等级。0为安全用户。1和2为怀疑用户。3和4为风险用户 |
riskType | Array | 1:账号风险 2:行为风险 3:环境风险 |
token | String | 服务端二次校验凭证(有效期一小时) |
CheckBuilder.Builder builder = new CheckBuilder.Builder("Appid");
builder.setImei("IMEI");
builder.setAccount("Account");
GYManager.getInstance().checkRegister(builder.build(), new GyCallBack() {
@Override
public void onSuccess(GYResponse response) {
Log.d(TAG, "onSuccess:" + response.toString());
}
@Override
public void onFailed(GYResponse response) {
Log.d(TAG, "onFailed:" + response.toString());
}
});
{
gyuid='null',
reqId='null',
success=true,
code=20000,
msg='{
"riskType"[],
"level":"0",
"ip":"192.168.5.17",
"ipType":"",
"token":"GY-AF-20180918-3K2VLXkLvk5nl7JsJxHZQ6"
}',
validate='null'
}
checkLogin
开发者通过类 CheckBuilder.Builder
根据以下参数构造 CheckBuilder
对象,通过调用API public void checkLogin(CheckBuilder builder, GyCallBack callBack)
,注册风险等级在 GyCallBack
回调中。
参数名称 | 是否 必填 |
类型 | 描述 |
---|---|---|---|
account | 必选 | String | 用户唯一标识,如果是手机号or邮箱,请提供 MD5 值 |
可选 | String | 用户的邮箱 | |
pn | 可选 | String | 用户的手机号MD5值 |
pwd | 可选 | String | 用户的密码 |
nickName | 可选 | String | 昵称 |
registerTime | 可选 | String | 注册时间戳,单位秒 |
loginTime | 可选 | String | 登录时间戳,单位秒 |
runEnv | 可选 | String | 用户客户端运行环境,取值: 2: WEB,3: WAP,4: IOS_PHONE,5: ANDROID_PHONE, 6: WINDOWS_PHONE,7: IOS_TABLET,8: ANDROID_TABLET, 9: WINDOWS_TABLET,10: WINDOWS_DESKTOP,11: MAC_DESKTOP, 12: LINUX_DESKTOP |
moveCount | 可选 | String | 用户操作过程中的move类事件的次数,包括:mouseMove、touchMove等等 |
clickCount | 可选 | String | 用户操作过程中鼠标点击次数,包括:click、mousedown、touchStart等事件 |
keyCount | 可选 | String | 用户操作过程中键盘的摁键次数 |
operatingTime | 可选 | String | 注册操作耗时,单位秒 |
ip | 可选 | String | 注册来源的外网IP |
appVer | 可选 | String | APP版本 |
mac | 可选 | String | 设备mac地址 |
imei | 可选 | String | 设备的IMEI |
imsi | 可选 | String | 设备的IMSI |
referrer | 可选 | String | 用户http请求的Referrer头 |
userAgent | 可选 | String | 用户http请求的UserAgent |
xForwardFor | 可选 | String | 用户http请求的X-Forwarded-For头信息,或其他记录代理信息的http头信息 |
result | 可选 | String | 注册结果 0:失败1:成功 |
reason | 可选 | String | 失败原因 0:其他 1:参数错误 2:帐号冲突 3:验证错误 |
loginType | 可选 | String | 登录方式 0:账号密码登录 1:扫码登录 2:短信验证码登录 3:其他 |
类 GYResponse
参数说明:
参数名称 | 类型 | 描述 |
---|---|---|
success | boolean | 接口成功与否 |
code | int | 状态码 |
msg | String | JSON数据 toString,示例:{"riskType":["3"],"level":"4","token":"GY-AF-20180918-yvQZCpNWFc8ma7rm1Qe3n2"} |
msg中包含信息说明:
参数名称 | 类型 | 描述 |
---|---|---|
level | String | 分为0-4五个等级。 0为安全用户。1和2为怀疑用户。3和4为风险用户 |
riskType | Array | 1:账号风险 2:行为风险 3:环境风险 |
token | String | 服务端二次校验凭证 |
CheckBuilder.Builder builder = new CheckBuilder.Builder("Appid");
builder.setImei("IMEI");
builder.setAccount("Account");
GYManager.getInstance().checkLogin(builder.build(), new GyCallBack() {
@Override
public void onSuccess(GYResponse response) {
Log.d(TAG, "onSuccess:" + response.toString());
}
@Override
public void onFailed(GYResponse response) {
Log.d(TAG, "onFailed:" + response.toString());
}
});
{
gyuid='null',
reqId='null',
success=true,
code=20000,
msg='{
"riskType"[],
"level":"0",
"token":"GY-AF-20180918-3K2VLXkLvk5nl7JsJxHZQ6"
}',
validate='null'
}
public interface GyCallBack {
/**
* description:请求成功.
*/
void onSuccess(GYResponse response);
/**
* description:请求失败.
*/
void onFailed(GYResponse response);
}
属性 | 类型 | 属性说明 |
---|---|---|
success | boolean | 验证是否成功 |
code | int | 状态码 |
msg | String | 状态描述信息 |
gyuid | String | 个验用户唯一标识 |
reqId | String | 调用验证接口和短信验证接口时返回的请求唯一id,错误不返回 |
请参考状态码汇总说明
以上文档对您是否有帮助?