目录

1. 接口功能

应用调用此接口可以查询用户当前的实名认证信息,包括是否实名,用户是否成年。

2. 调用场景

如果游戏需要进行防沉迷处理,应用可以通过此接口与getCertificationIntent接口配合实现,具体的处理流程可参考游戏防沉迷。

3. 接口约束

● 本接口目前仅对中国大陆用户有效,非中国大陆用户将返回7006错误码。

● 只有2.6.3.300及以上版本的HMS SDK才支持本接口,2.6.3.300以下版本会直接返回907135002错误码。

4. 调用方法

  1. HMSAgent.Game.getCertificationInfo(GetCertificationInfoHandler handler);

5. 请求参数

参数名称必选(M)/可选(O)类型参数说明
handler
M
GetCertificationInfoHandler
接口调用后的回调结果,查询结束后通过此回调实例回调给应用。回调结果中包含的具体参数参见结果回调。

6. 结果回调

  1. public interface GetCertificationInfoHandler{
  2.        /**
  3.        * 结果回调
  4.        * @param resultCode 返回码
  5.        * @param certificationInfo 查询结果信息
  6.        */
  7.       void onResult(int resultCode, PlayerCertificationInfo certificationInfo);
  8. }
参数名称必选(M)/可选(O)类型参数说明
resultCode
M
int
回调结果中查询结果的返回码,应用可以根据返回码判断查询是否成功或失败后如何处理,具体返回码处理参见返回码。
certificationInfo
M
包含实名认证查询结果的对象信息。
PlayerCertificationInfo
参数名称必选(M)/可选(O)类型获取方法参数说明
status
M
Status
certificationInfo.getStatus()
包含查询结果业务返回码的对象,可通过certificationInfo.getStatus().getStatusCode()方式获取。
当有业务返回码时,HMS SDK会将此值赋值给resultCode,具体请参见返回码中的业务错误码。
hasAdult
O
int
certificationInfo.hasAdault()
用户的实名认证情况。
● -1:未实名认证。
● 0:已实名认证,用户未成年。
● 1:已实名认证,用户已成年。

7. 返回码

类型返回码常量返回码值返回码说明处理建议
通用返回码
参见通用返回码。
业务返回码
GameStatusCodes.GAME_STATE_SUCCESS
0
查询成功。
操作成功。
GameStatusCodes.GAME_STATE_ERROR
7001
游戏进程异常或HMS Core进程异常。
终止游戏进程或者HMS Core进程后重试。
GameStatusCodes.GAME_STATE_NO_SUPPORT
7006
当前区域不提供游戏服务。
您所在的地区目前还不支持接入华为游戏服务。如果是非华为手机出现此错误码,请尝试升级HMS Core(APK)至最新版本。

8. 调用示例

  1. public void getCertificationInfo (){
  2.   HMSAgent.Game.getCertificationInfo(new GetCertificationInfoHandler() {
  3.        @Override
  4.        public void onResult(int resultCode, PlayerCertificationInfo certificationInfo) {
  5.            if(resultCode == CommonCode.OK && certificationInfo != null) {
  6.                int statusCode = certificationInfo.getStatus().getStatusCode();
  7.                if(statusCode == GameStatusCodes.GAME_STATE_SUCCESS) {
  8.                    // TODO: 通过 certificationInfo.hasAdault()获取实名认证结果,储存结果已进行后续处理
  9.                                                showLog("is CertificateAdult:" + certificationInfo.hasAdault());
  10.                    }
  11.                else{
  12.                    showLog("getPlayerCertificationInfo result:" + statusCode);
  13.                }
  14.            }
  15.            else {
  16.                showLog("getPlayerCertificationIntent resultCode:" + resultCode);
  17.            }
  18.        }
  19.    });
  20. }