JGCertificate

概述

JGCertificate简介

JGCertificate插件封装了极光认证SDK,为开发者提供了一键登录功能,优化用户注册/登录、号码验证的体验,提高安全性

注意

此插件为 noidfa 版本。App在提交苹果审核时不需要勾选广告标识符(IDFA)

插件使用攻略

1.进入极光官网注册开发者账号; 2.进入管理控制台,创建应用程序,得到 AppKey(SDK与服务器端通过AppKey互相识别); 3.完成开发者认证; 4.选择要开通极光认证的应用程序,在应用设置中点击左侧的[极光认证]按钮。在应用介绍中填写[应用分类] 、[应用简介]。Android应用需要填写[应用包名]和[应用签名],iOS应用需要填写[Bundle ID],填写完成后点击[提交审核],如果应用程序同时具有Android和iOS版本,需要在此页面分别提交申请; 5.若开发者需要使用一键登录功能,待步骤4完成后,请在[一键登录设置]中选择要开通一键登录的平台,并填写RSA加密公钥,点击[提交审核]按钮 6.若开发者需要使用获取验证码功能,需要在Portal控制台中极光短信插件添加短信签名和验证码短信模版,或者使用默认的签名或模版。通过此接口获得到短信验证码后,需要调用极光验证码验证API来进行验证。

Androidconfig.xml中配置

<meta-data name="JPUSH_APPKEY" value="您应用的Appkey"/>
<meta-data name="JPUSH_CHANNEL" value="developer-default"/>

字段描述:

· JPUSH_APPKEY:通过极光推送网站获得
· JPUSH_CHANNEL:目前默认‘developer-default’

插件接口

init

初始化

init({params}, callback(ret))

params

key:

  • 类型:字符串
  • 描述:appkey(仅iOS有效)

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
}

示例代码

var demo = api.require('JGCertificate');
demo.init({
    key : '',
}, function(ret){
    api.alert({msg: JSON.stringify(ret)});
});

可用性

Android系统,iOS系统

可提供的1.0.0及更高版本

isInitSuccess

获取sdk是否整体初始化成功的标识

isInitSuccess(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status:true		//布尔类型;true||false
}

示例代码

var demo = api.require('JGCertificate');
demo.isInitSuccess(function(ret){
    api.alert({msg: JSON.stringify(ret)});
});

可用性

Android系统,iOS系统

可提供的1.0.0及更高版本

checkVerifyEnable

判断网络环境是否支持

checkVerifyEnable(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
}

示例代码

var demo = api.require('JGCertificate');
demo.checkVerifyEnable({
}, function(ret){
    api.alert({msg: JSON.stringify(ret)});
});

可用性

Android系统,iOS系统

可提供的1.0.0及更高版本

getToken

获取认证token

getToken(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
    token:''        //字符串类型;
}

示例代码

var demo = api.require('JGCertificate');
demo.getToken({
}, function(ret){
    api.alert({msg: JSON.stringify(ret)});
});

可用性

Android系统,iOS系统

可提供的1.0.0及更高版本

preLogin

登录预取号

preLogin(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    code:,   //数字类型;
}

示例代码

var demo = api.require('JGCertificate');
demo.preLogin({
}, function(ret){
    api.alert({msg: JSON.stringify(ret)});
});

可用性

Android系统,iOS系统

可提供的1.0.0及更高版本

clearPreLoginCache

清除预取号缓存

clearPreLoginCache(callback(ret))

示例代码

var demo = api.require('JGCertificate');
demo.clearPreLoginCache({
}, function(ret){
    api.alert({msg: JSON.stringify(ret)});
});

可用性

Android系统,iOS系统

可提供的1.0.0及更高版本

getAuthorization

请求授权一键登录

getAuthorization({params}, callback(ret))

params

type:

  • 类型:数字类型
  • 描述:一键登录页面类型(仅iOS支持)
  • 默认:0
    • 0:全屏
    • 1:弹窗

autoFinish

  • 类型:布尔类型
  • 描述:(可选项)授权完成是否自动关闭授权页(仅Android支持)
  • 默认:true

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    code:,   //数字类型;
    content:, //字符串类型;事件描述
    type:,   //数字类型;事件类型
       - 1 授权页被关闭
       - 2 授权页面被拉起
       - 3 运营商协议被点击
       - 4 自定义协议1被点击
       - 5 自定义协议2被点击
       - 6 checkBox变为选中
       - 7 checkBox变为未选中
       - 8 登录按钮被点击
}

示例代码

var demo = api.require('JGCertificate');
demo.getAuthorization({
}, function(ret){
    api.alert({msg: JSON.stringify(ret)});
});

可用性

Android系统,iOS系统

可提供的1.0.0及更高版本

dismissLoginController

取消、返回

dismissLoginController(callback(ret))

param

isneedCloseAnim:

  • 类型:布尔类型
  • 描述:(选填项)是否需要展示默认授权页关闭的动画(如果有)
  • 取值:
    • true:需要
    • false:不需要
  • 默认值:false

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    code:""		//数字类型;code码,0标识成功关闭授权页
    msg:""		//字符串类型;返回码的描述信息
}

示例代码

var demo = api.require('JGCertificate');
demo.dismissLoginController({
}, function(ret){
    api.alert({msg: JSON.stringify(ret)});
});

可用性

Android系统,iOS系统

可提供的1.0.0及更高版本

# verificationCode

获取短信验证码

verificationCode({param},callback(ret))

param

phonenum:

  • 类型:数字类型
  • 描述:电话号码

signid:

  • 类型:字符串类型
  • 描述:(选填项)短信签名 id ,如果为 null,则为默认短信签名id

tempid:

  • 类型:字符串类型
  • 描述:(选填项)短信模板 id,如果为 null,则为默认短信模板id

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    "status":true		//布尔类型
    "msg":""			//数字类型;此次获取的唯一标识码(uuid)
}

示例代码

var demo = api.require('JGCertificate');
var param = {
    "phonenum":"159xxxxxxxx",
    "signid":"您在官网验证成功后得到的短信签名id",
    "tempid":"您在官网验证成功后得到的短信模板id"
}
demo.dismissLoginController(param,function(ret){
    api.alert({msg: JSON.stringify(ret)});
});

可用性

Android系统,iOS系统

可提供的1.0.0及更高版本

# setCodeInterval

设置前后两次获取验证码的时间间隔

setCodeInterval({param})

param

intervalTime:

  • 类型:数字类型
  • 描述:设置前后两次获取验证码的时间间隔
  • 默认值:30000,有效范围(0,300000),单位为毫秒(ms)

示例代码

var demo = api.require('JGCertificate');
var param = {
    "intervalTime":60000,
}
demo.dismissLoginController(param);

可用性

Android系统,iOS系统

可提供的1.0.0及更高版本

# CustomizeUI

自定义一键登录页面UI。该方法需在loginAuth接口之前调用

CustomizeUI({param})

param

navText:

  • 类型:字符串类型
  • 描述:(选填项)标题栏文字内容
  • 默认值:登录

navColor:

  • 类型:数字类型
  • 描述:(选填项)标题栏背景颜色
  • 默认值:0xff0086d0

isNavHidden:

  • 类型:布尔类型
  • 描述:(选填项)导航栏是否隐藏
  • 取值:
    • true:导航栏隐藏
    • false:导航栏不隐藏(默认值)

logBtnText:

  • 类型:字符串类型
  • 描述:(选填项)登录按钮文字
  • 默认值:"本机号码一键登录"

numberColor:

  • 类型:数字类型
  • 描述:(选填项)电话号码文字颜色
  • 默认值:0xff333333

logoSize:

  • 类型:数字类型
  • 描述:(选填项)logo图标大小,该参数同时设置logo的长度和宽度
  • 默认值:70

privacySize:

  • 类型:数字类型
  • 描述:隐私文字和确认隐私政策勾选框大小
  • 默认值:10

privacyOffsetX:

  • 类型:数字类型
  • 描述:隐私政策同意勾选框距离页面左侧的距离
  • 默认值:50

示例代码

var demo = api.require('JGCertificate');
var param = {
    "navText":"登录",
    "navColor":0xff0086d0,
    "isNavHidden":false,
    "logBtnText":"本机号码一键登录",
    "numberColor":0xff333333,
    "logoSize":70,
    "privacySize":12,
    "privacyOffsetX":60
}
demo.dismissLoginController(param);

可用性

Android系统,iOS系统

可提供的1.0.0及更高版本

# popupMode

设置授权页为弹窗模式

popupMode({param})

param

dialogWidth:

  • 类型:数字类型
  • 描述:弹出框宽度,单位dp

dialogHeight:

  • 类型:数字类型
  • 描述:弹出框高度,单位dp

offsetX:

  • 类型:数字类型
  • 描述:窗口相对屏幕中心的 X 轴偏移量,单位dp

offsetY:

  • 类型:数字类型
  • 描述:窗口相对屏幕中心的 Y 轴偏移量,单位dp

isBottom:

  • 类型:布尔类型
  • 描述:窗口是否居屏幕底部。设置后offsetY将失效

示例代码

var demo = api.require('JGCertificate');
var param = {
    "dialogWidth":390,
    "dialogHeight":390,
    "offsetX":0,
    "offsetY":20
}
demo.popupMode(param);

可用性

Android系统,iOS系统

可提供的1.0.0及更高版本

code码列表

  • 1000 verify consistent 手机号验证一致
  • 1001 verify not consistent 手机号验证不一致
  • 1002 unknown result 未知结果
  • 1003 token expired token 失效
  • 1004 sdk verify has been closed SDK发起认证未开启
  • 1005 AppKey 不存在 请到官网检查 Appkey 对应的应用是否已被删除
  • 1006 frequency of verifying single number is beyond the maximum limit 同一号码自然日内认证消耗超过限制
  • 1007 beyond daily frequency limit appKey自然日认证消耗超过限制
  • 1008 AppKey 非法 请到官网检查此应用详情中的 Appkey,确认无误
  • 1009 当前的 Appkey 下没有创建 iOS 应用;你所使用的 JCore 版本过低 请到官网检查此应用的应用详情;更新应用中集成的 JCore 至最新。
  • 1010 verify interval is less than the minimum limit 同一号码连续两次提交认证间隔过短
  • 2000 token request success 获取token 成功
  • 2001 fetch token error 获取token失败
  • 2002 sdk init failed sdk初始化失败
  • 2003 netwrok not reachable 网络连接不通
  • 2004 get uid failed 极光服务注册失败
  • 2005 request timeout 请求超时
  • 2006 fetch config failed 获取配置失败
  • 2008 Token requesting, please wait 正在获取token中,稍后再试
  • 2009 verifying, please try again later 正在认证中,稍后再试
  • 2014 internal error while requesting token 请求token时发生内部错误
  • 2015 rsa encode failed rsa加密失败
  • 2016 network type not supported 当前网络环境不支持认证
  • 2017 carrier config invalid 运营商配置无效
  • 3000 get code sucess. 获取uuid成功
  • 3001 SDK is not initial yet 没有初始化
  • 3002 invalided phone number 无效电话号码
  • 3003 request frequent in Minimum Time Interval 两次请求超过最小设置的时间间隔
  • 3004 请求错误,具体查看错误信息msg
  • 4001 参数错误。请检查参数,比如是否手机号格式不对
  • 4009 解密rsa失败
  • 4014 appkey is blocked 功能被禁用
  • 4018 没有足够的余额
  • 4031 不是认证用户
  • 4032 获取不到用户配置
  • 4033 Login feature is not available 未开启一键登录
  • 6000 loginToken request success 获取loginToken成功
  • 6001 fetch loginToken failed 获取loginToken失败
  • 6002 login cancel 用户取消登录
  • 6003 UI load error UI加载异常
  • 6004 authorization requesting, please try again later 正在登录中,稍候再试
  • 6006 prelogin scrip expired 预取号信息过期,请重新预取号
  • 7000 preLogin success 预取号成功
  • 7001 preLogin failed 预取号失败
  • 7002 preLogin requesting, please try again later 取号中
  • 8000 init success 初始化成功
  • 8004 init failed 初始化失败
  • 8005 init timeout 初始化超时
是否仍需要帮助? 请保持联络!
最后更新于 2024/02/22