- initialize | preSetParams | startSdk
- gyuid | getCurrentCarrierCount | currentNetworkInfo
- preGetToken | isPreGettedTokenValidate | deletePreResultCache
- login | getPhoneVerifyToken | checkPhoneNumber | getVersion
-
在个推开放平台注册帐号,并创建应用,获取
APPID
参数。 -
在
APICloud Studio
中替换您APP应用参数
<meta-data name="GETUI_APPID" value="替换您在个推https://www.getui.com/注册的APPID"/>
<meta-data android:name="GT_INSTALL_CHANNEL" android:value=""/>
初始化个推SDK。
参数:
callback(ret, err)
: function,当获取到ret.type
为GTCountSDKDidReceiveGtcid
时,表示初始化成功。
功能: 初始化个推SDK,设置通用回调上下文。
示例:
var gy;
apiready = function () {
gy = api.require('GetuiGy');
gy.initialize(callback);
var params = {
debug: '1',
preLoginTimeout: '10',
loginTimeout: '10'
};
gy.preSetParams(params);
var startparam = {
appId: '个推平台申请'//仅iOS需要填写,android在meta-data中
};
gy.startSdk(startparam);
}
function callback(ret, err) {
alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err));
var log;
switch (ret.type) {
case 'GTCountSDKDidReceiveGtcid':
log = 'gtcid:' + ret.cid;
break;
}
if (log) {
console.log(log);
}
}
预设置参数。
参数:
debug
: String,是否开启调试模式("1" 表示开启)preLoginTimeout
: String,预登录超时时间(单位:秒)loginTimeout
: String,登录超时时间(单位:秒)
功能: 设置调试模式及预登录、登录的超时时间。
示例:
var params = {
debug: '1',
preLoginTimeout: '10',
loginTimeout: '10'
};
gy.preSetParams(params);
启动个推SDK。
参数:
appId
: String,仅 iOS 需要,例如'5xpxEg5qvI9PNGH2kQAia2'
功能:
初始化并启动个推SDK,设置回调以处理成功或失败的结果。成功时返回 gtcid
(个推用户ID)。
示例:
var startparam = {
appId: '5xpxEg5qvI9PNGH2kQAia2'
};
gy.startSdk(startparam);
获取个推用户ID。
参数: 无
功能:
获取当前用户的 gyuid
。若未预登录,返回错误提示“请先预登录”。
示例:
gy.gyuid(function (ret, err) {
alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err));
console.log('gyuid:' + ret.data);
});
获取运营商数据(仅限 iOS)。
参数: 无
功能: 在 Android 平台上不支持,返回错误提示“Android 不支持”。
示例:
function getCurrentCarrierCount() {
gy.getCurrentCarrierCount(function (ret, err) {
alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err));
console.log('getCurrentCarrierCount:' + ret.data);
});
}
获取当前网络信息(仅限 iOS)。
参数: 无
功能: 在 Android 平台上不支持,返回错误提示“Android 不支持”。
示例:
function currentNetworkInfo() {
gy.currentNetworkInfo(function (ret, err) {
alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err));
console.log('currentNetworkInfo:' + ret.data);
});
}
预获取认证 Token。
参数: 无
功能: 执行预登录操作,提前判定当前网络环境是否适合一键认证。
示例:
function preGetToken() {
gy.preGetToken(function (ret, err) {
alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err));
console.log('preGetToken:' + JSON.stringify(ret.data));
});
}
检查预登录 Token 是否有效。
参数: 无
功能: 检查预登录结果是否有效,返回布尔值。
示例:
function isPreGettedTokenValidate() {
gy.isPreGettedTokenValidate(function (ret, err) {
alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err));
console.log('isPreGettedTokenValidate:' + JSON.stringify(ret.data));
});
}
清理预登录数据。
参数: 无
功能: 在 Android 平台上不支持,返回错误提示“Android 不支持”。
示例:
function deletePreResultCache() {
gy.deletePreResultCache(function (ret, err) {
alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err));
console.log('deletePreResultCache:' + JSON.stringify(ret.data));
});
}
执行一键登录。
参数: 无
功能: 执行一键登录操作,返回登录结果。
示例:
function login() {
gy.login(function (ret, err) {
alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err));
console.log('login:' + JSON.stringify(ret.data));
});
}
获取手机验证 Token。
参数:
phone
: String,手机号timeout
: Integer,超时时间(单位:毫秒,默认 8000)
功能: 获取用于手机号码验证的 Token。
示例:
function getPhoneVerifyToken() {
gy.getPhoneVerifyToken(function (ret, err) {
alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err));
console.log('getPhoneVerifyToken:' + JSON.stringify(ret.data));
});
}
校验手机号码。
参数:
accessCode
: String,访问代码processId
: String,进程 IDpn
: String,待校验的手机号operatorType
: Integer,运营商类型
功能: 校验输入的手机号码是否与本机号码一致。
示例:
function checkPhoneNumber() {
var param = {
pn: "15258060511"
};
gy.checkPhoneNumber(param, function (ret, err) {
alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err));
console.log('checkPhoneNumber:' + JSON.stringify(ret.data));
});
}
获取 SDK 版本号。
参数: 无
功能: 获取当前个推 SDK 的版本号。若获取失败,返回错误提示“获取版本失败”。
示例:
function getVersion() {
gy.getVersion(function (ret, err) {
alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err));
console.log('version:' + ret.version);
});
}
“一键认证”产品整合了三大运营商的网关认证能力,支持 Android、iOS 和 H5 三大平台,实现三大运营商网络打通、常见机型全覆盖的效果。“一键认证”简化了登录流程,为用户首次登录 APP 提供畅通无阻的通道,有效减少等待时间,帮助用户快速建立与 APP 的连接。此外,个推“一键认证”能有效保障用户账号安全,降低因密码设置简单或多账号使用同一密码导致的密码破解或泄露风险,同时减少短信验证被劫持的风险,为用户账号提供安全的“保护伞”。
“一键认证”主要包括两种形式:
- 一键登录:具备授权页面,APP 开发者经用户授权后可获得号码,适用于注册、登录等场景。
- 本机号码校验:不返回号码,仅返回待校验号码与本机号码是否一致的结果,适用于基于手机号码的安全风控场景。
一键登录用户认证流程如下图所示:
注:预登录操作用于提前判定当前网络环境是否适合使用一键认证,建议在登录操作前调用,不影响登录流程,降低对用户体验的影响。例如:初次打开 APP、进入个人中心页(“我的”)等。
-
用户体验优化
秒级登录体验,提升用户转换率与留存率。 -
安全能力提升
采用运营商网关认证技术,避免短信被劫持。 -
风险场景识别
识别羊毛党、黄牛等风险设备,保障业务安全。 -
并发服务稳定
服务稳定高效,支持高并发处理认证请求。 -
全天候技术支持
专业技术支持团队 7x24 小时专人专线服务。
- 到个推开发者中心注册开发者账号;
- 登录进入开发者中心-应用管理页面,创建应用,设置应用名称、应用类型、Android 设置包名等;
- 下载 SDK 并集成到 App;
- 当出现问题时,建议:
- 仔细阅读集成文档,查看是否有遗漏;
- 阅读常见问题,查看是否能解决,Android 常见问题、iOS 常见问题;
- 扫码联系个推技术支持。