智能客服
你问我答,随时在线为你解决问题
端云服务提供端云协同、端云共享和端云策略。
端云协同提供结构化数据(RDB Store)端云同步的能力。即:云作为数据的中心节点,通过与云的数据同步,实现数据云备份、同账号设备间的数据一致性。
端云配置提供端云同步策略配置的能力。
- import { cloudData } from '@kit.ArkData';
云同步策略类型枚举。
系统能力: SystemCapability.DistributedDataManager.CloudSync.Client
| 名称 | 值 | 说明 |
|---|---|---|
| NETWORK | 0 | 通过网络同步策略。 |
网络策略参数枚举。
系统能力: SystemCapability.DistributedDataManager.CloudSync.Client
| 名称 | 值 | 说明 |
|---|---|---|
| WIFI | 1 | WIFI网络策略。 |
| CELLULAR | 2 | 蜂窝网络策略。 |
自动同步触发模式枚举。
起始版本: 26.0.0
系统能力: SystemCapability.DistributedDataManager.CloudSync.Client
模型约束: 此接口仅可在Stage模型下使用。
| 名称 | 值 | 说明 |
|---|---|---|
| ACCOUNT_LOGIN | 0 | 账号登录触发模式。 |
| CLOUD_SWITCH_ON | 1 | 同步开关触发模式。 |
| NETWORK_RECOVER | 2 | 网络恢复后的触发模式。 |
| CLOUD_DATA_CHANGE | 3 | 云端数据变更触发模式。 |
| USER_CHANGE | 4 | 用户变更触发模式。 |
自动同步触发信息。
起始版本: 26.0.0
系统能力: SystemCapability.DistributedDataManager.CloudSync.Client
模型约束: 此接口仅可在Stage模型下使用。
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| mode | AutoSyncTriggerMode | 否 | 否 | 自动同步触发模式。 |
setCloudStrategy(strategy: StrategyType, param?: Array<commonType.ValueType>): Promise<void>
设置应用自身的云同步策略,使用Promise异步回调。
系统能力: SystemCapability.DistributedDataManager.CloudSync.Client
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| strategy | StrategyType | 是 | 配置的策略类型。 |
| param | Array<commonType.ValueType> | 否 | 策略参数。当前仅支持设置网络策略,默认支持WIFI和蜂窝网络策略。 |
返回值:
| 类型 | 说明 |
|---|---|
| Promise<void> | 无返回结果的Promise对象。 |
错误码:
以下错误码的详细介绍请参见通用错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
| 801 | Capability not supported. |
样例:
- import { BusinessError } from '@kit.BasicServicesKit';
-
- // 仅WIFI同步
- cloudData.setCloudStrategy(cloudData.StrategyType.NETWORK, [cloudData.NetWorkStrategy.WIFI]).then(() => {
- console.info('Succeeded in setting the cloud strategy');
- }).catch((err: BusinessError) => {
- console.error(`Failed to set cloud strategy. Code: ${err.code}, message: ${err.message}`);
- });
onAutoSyncTrigger(observer: Callback<AutoSyncTriggerInfo>): void
在已打开端云同步,并且应用关闭自动同步条件下,注册自动同步触发事件通知,自动同步进行时调用回调。
起始版本: 26.0.0
系统能力: SystemCapability.DistributedDataManager.CloudSync.Client
模型约束: 此接口仅可在Stage模型下使用。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| observer | Callback<AutoSyncTriggerInfo> | 是 | 自动同步触发的回调函数。 |
错误码:
以下错误码的详细介绍请参见通用错误码。
| 错误码ID | 错误信息 |
|---|---|
| 801 | Capability not supported. |
示例:
- import { cloudData } from '@kit.ArkData';
-
- function autoSyncTriggerObserver(info: cloudData.AutoSyncTriggerInfo) {
- console.info(`Auto sync triggered, mode: ${info.mode}`);
- }
-
- cloudData.onAutoSyncTrigger(autoSyncTriggerObserver);
offAutoSyncTrigger(observer?: Callback<AutoSyncTriggerInfo>): void
取消订阅自动同步触发事件通知。
起始版本: 26.0.0
系统能力: SystemCapability.DistributedDataManager.CloudSync.Client
模型约束: 此接口仅可在Stage模型下使用。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| observer | Callback<AutoSyncTriggerInfo> | 否 | 自动同步触发的回调函数。如果不传参数,则取消所有已注册的回调。 |
错误码:
以下错误码的详细介绍请参见通用错误码。
| 错误码ID | 错误信息 |
|---|---|
| 801 | Capability not supported. |
示例:
- import { cloudData } from '@kit.ArkData';
-
- function autoSyncTriggerObserver(info: cloudData.AutoSyncTriggerInfo) {
- console.info(`Auto sync triggered, mode: ${info.mode}`);
- }
-
- // 订阅
- cloudData.onAutoSyncTrigger(autoSyncTriggerObserver);
-
- // 取消指定订阅
- cloudData.offAutoSyncTrigger(autoSyncTriggerObserver);
-
- // 取消所有订阅
- cloudData.offAutoSyncTrigger();