合作咨询
我们的专家服务团队将竭诚为您提供专业的合作咨询服务
此版本文档已归档不再维护,推荐您使用最新版本。
应用调用此接口可以查询用户当前的实名认证情况,如果用户未实名应用可以通过返回结果中的Intent对象跳转到实名认证页面。
如果游戏需要进行防沉迷处理,应用可以通过此接口与getPlayerCertificationInfo接口配合实现,具体的处理逻辑可参考游戏防沉迷。
本接口目前仅对中国大陆用户有效,非中国大陆用户将返回7006错误码。
如果接口返回7001或7006错误码,请联系华为技术支持定位错误原因,请勿直接对用户进行强制实名认证。
调用本接口前必须已经初始化HuaweiApiClient对象并连接HMS Core(APK),具体参见初始化HuaweiApiClient对象。如果HuaweiApiClient.isConnected()为true表示当前已经连接,请勿重复连接。
- PendingResult<CertificateIntentResult> pendingRst = HuaweiGame.HuaweiGameApi.getPlayerCertificationIntent(HuaweiApiClient client);
| 参数名称 | 必选(M)/可选(O) | 类型 | 参数说明 |
|---|---|---|---|
| client | M | HuaweiApiClient | 连接HMS Core(APK)的HuaweiApiClient对象。如果未初始化HuaweiApiClient对象,对象的初始化方法请参见初始化HuaweiApiClient对象。 |
- PendingResult<CertificateIntentResult> pendingRst = HuaweiGame.HuaweiGameApi.getPlayerCertificationIntent(apiClient);
- pendingRst.setResultCallback(new ResultCallback<CertificateIntentResult>() {
- @Override
- public void onResult(CertificateIntentResult result) {
- }
- });
返回PendingResult类型的执行结果,开发者可以使用pendingRst.setResultCallback设置回调方法,并在onResult回调中接收回调结果,回调结果如下。
| 参数名称 | 必选(M)/可选(O) | 类型 | 参数说明 |
|---|---|---|---|
| result | M | CertificateIntentResult | 包含实名认证查询结果的对象信息。 |
| 参数名称 | 必选(M)/可选(O) | 类型 | 获取方法 | 参数说明 |
|---|---|---|---|---|
| status | M | Status | result.getStatus() | 包含查询结果业务返回码的对象,可通过result.getStatus().getStatusCode()方式获取,具体请参见返回码。 如果返回码为0,表示用户未实名。 |
| intent | O | Intent | result.getCertificationIntent() | 如果用户未实名,将返回此Intent对象,应用可以使用此对象调用startActivityForResult方法跳转到实名认证页面。 |
| 类型 | 返回码常量 | 返回码值 | 返回码说明 | 处理建议 |
|---|---|---|---|---|
| HMS SDK框架错误码 | 参见HMS SDK框架错误码。 | |||
| 业务返回码 | GameStatusCodes.GAME_STATE_SUCCESS | 0 | 用户未实名。 | / |
| GameStatusCodes.GAME_STATE_ERROR | 7001 | 用户未登录或调用帐号接口异常。 | 检查用户是否已登录,检查用户注册地与服务地是否一致。 | |
| GameStatusCodes.FORCED_REAL_NAME_CANCEL | 7021 | 实名认证时用户选择取消或没有实名。 | 提示用户必须实名。 | |
| GameStatusCode.RTN_CODE_PARAMS_ERROR | 7005 | 请求参数错误 | 请检查传参是否正确。 | |
| GameStatusCodes.GAME_STATE_NO_SUPPORT | 7006 | 当前区域不提供游戏服务。 | 您所在的地区目前还不支持接入华为游戏服务。如果是非华为手机出现此错误码,请尝试升级HMS Core(APK)至最新版本。 | |
| GameStatusCode.GAME_STATE_ACCOUNT_NOT_MATCH | 7019 | 应用内登录帐号与系统当前帐号不一致 | 请提示用户重新登录。 | |
| 无 | 7016 | 已经实名。 | 无需处理。 | |
- if (apiClient != null && apiClient.isConnected()) {
- PendingResult<CertificateIntentResult> pendingRst = HuaweiGame.HuaweiGameApi.getPlayerCertificationIntent(apiClient);
- pendingRst.setResultCallback(new ResultCallback<CertificateIntentResult>() {
- @Override
- public void onResult(CertificateIntentResult result) {
- if (result == null) {
- return;
- }
- Status status = result.getStatus();
- if (status == null) {
- return;
- }
- else{
- int statusCode = result.getStatus().getStatusCode();
- if(statusCode == GameStatusCodes.GAME_STATE_SUCCESS) {
- showLog("GetCtfIntent success, Start intent");
- /**
- * 拉起实名认证页面
- */
- Intent intent = result.getCertificationIntent();
- startActivityForResult(intent,1000);
- }
- }
- }
- });
- }
- else {
- apiClient.connect(this);
- }