应用调用此接口可以查询用户当前的实名认证信息,包括是否实名,用户是否成年。
如果游戏需要进行防沉迷处理,应用可以通过此接口与getCertificationIntent接口配合实现,具体的处理流程可参考游戏防沉迷。
● 本接口目前仅对中国大陆用户有效,非中国大陆用户将返回7006错误码。
● 只有2.6.3.300及以上版本的HMS SDK才支持本接口,2.6.3.300以下版本会直接返回907135002错误码。
- HMSAgent.Game.getCertificationInfo(GetCertificationInfoHandler handler);
| 参数名称 | 必选(M)/可选(O) | 类型 | 参数说明 |
handler | M | 接口调用后的回调结果,查询结束后通过此回调实例回调给应用。回调结果中包含的具体参数参见结果回调。 |
- public interface GetCertificationInfoHandler{
- /**
- * 结果回调
- * @param resultCode 返回码
- * @param certificationInfo 查询结果信息
- */
- void onResult(int resultCode, PlayerCertificationInfo certificationInfo);
- }
| 参数名称 | 必选(M)/可选(O) | 类型 | 参数说明 |
resultCode | M | int | 回调结果中查询结果的返回码,应用可以根据返回码判断查询是否成功或失败后如何处理,具体返回码处理参见返回码。 |
certificationInfo | M | 包含实名认证查询结果的对象信息。 |
| 参数名称 | 必选(M)/可选(O) | 类型 | 获取方法 | 参数说明 |
status | M | Status | certificationInfo.getStatus() | 包含查询结果业务返回码的对象,可通过certificationInfo.getStatus().getStatusCode()方式获取。 当有业务返回码时,HMS SDK会将此值赋值给resultCode,具体请参见返回码中的业务错误码。 |
hasAdult | O | int | certificationInfo.hasAdault() | 用户的实名认证情况。 ● -1:未实名认证。 ● 0:已实名认证,用户未成年。 ● 1:已实名认证,用户已成年。 |
| 类型 | 返回码常量 | 返回码值 | 返回码说明 | 处理建议 |
通用返回码 | 参见通用返回码。 | |||
业务返回码 | GameStatusCodes.GAME_STATE_SUCCESS | 0 | 查询成功。 | 操作成功。 |
GameStatusCodes.GAME_STATE_ERROR | 7001 | 游戏进程异常或HMS Core进程异常。 | 终止游戏进程或者HMS Core进程后重试。 | |
GameStatusCodes.GAME_STATE_NO_SUPPORT | 7006 | 当前区域不提供游戏服务。 | 您所在的地区目前还不支持接入华为游戏服务。如果是非华为手机出现此错误码,请尝试升级HMS Core(APK)至最新版本。 | |
- public void getCertificationInfo (){
- HMSAgent.Game.getCertificationInfo(new GetCertificationInfoHandler() {
- @Override
- public void onResult(int resultCode, PlayerCertificationInfo certificationInfo) {
- if(resultCode == CommonCode.OK && certificationInfo != null) {
- int statusCode = certificationInfo.getStatus().getStatusCode();
- if(statusCode == GameStatusCodes.GAME_STATE_SUCCESS) {
- // TODO: 通过 certificationInfo.hasAdault()获取实名认证结果,储存结果已进行后续处理
- showLog("is CertificateAdult:" + certificationInfo.hasAdault());
- }
- else{
- showLog("getPlayerCertificationInfo result:" + statusCode);
- }
- }
- else {
- showLog("getPlayerCertificationIntent resultCode:" + resultCode);
- }
- }
- });
- }