文档管理中心
我的

DeviceVerify(应用设备状态检测)

Phone5.0.0(12)+PC/2in15.0.1(13)+Tablet5.0.0(12)+TV6.0.0(20)+Wearable5.1.0(18)+

本模块提供应用设备状态检测能力,对应用在某台设备上的使用状态进行管理和检测,用于判断应用是否在该设备上首次安装,或在该设备上用户是否已获取了优惠券等的状态检测,以支撑业务进行新用户营销活动。

起始版本: 5.0.0(12)

导入模块

import { deviceCertificate } from '@kit.DeviceSecurityKit';

deviceCertificate.getDeviceToken

Phone5.0.0(12)+PC/2in15.0.1(13)+Tablet5.0.0(12)+TV6.0.0(20)+Wearable5.1.0(18)+

getDeviceToken(): Promise<string>

获取本设备的DeviceToken。使用Promise异步回调。

注意

该接口涉及端云协同,需要联网等耗时操作,因此不要在UI线程中执行,避免阻塞UI线程。

模型约束: 此接口仅可在Stage模型下使用。

元服务API: 从版本5.0.2(14)开始,该接口支持在元服务中使用。

系统能力: SystemCapability.Security.DeviceCertificate

起始版本: 5.0.0(12)

返回值:

展开
类型 说明
Promise<string> Promise对象,返回本设备的DeviceToken。

错误码:

以下错误码的详细介绍请参见ArkTS API错误码。

展开
错误码ID 错误信息
201 has no permission.
1003300005

internal error. Possible causes: 1. IPC communication failed;

2. Memory operation error; 3. Access device certificate failed.

1003300006 access cloud server fail.

示例:

import { deviceCertificate } from '@kit.DeviceSecurityKit';
import { BusinessError} from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

const TAG = "DeviceCertificateJsTest";

// 请求deviceToken,并处理结果
try {
  deviceCertificate.getDeviceToken().then((token) => {
    hilog.info(0x0000, TAG, 'Succeeded in executing getDeviceToken');
    // 开发者处理deviceToken
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, TAG, 'getDeviceToken failed!  %{public}d %{public}s', err.code, err.message);
  });
} catch (err) {
  let error: BusinessError = err as BusinessError;
  hilog.error(0x0000, TAG, 'getDeviceToken failed!  %{public}d %{public}s', error.code, error.message);
}