端云数据同步云侧环境部署指导

场景介绍

通过数据云同步功能,可将数据自动、及时存储至华为云空间,并在登录同一华为账号的设备间保持同步。该功能常用于满足以下体验诉求:

用户需在“设置-云空间”内打开同步功能开关,并确保华为云空间存储空间充足。

服务优势

约束限制

基本概念

接入步骤

接入需要同时在云侧和端侧完成配置。云侧主要是创建容器及配置数据类型,用于确定应用在云空间内的数据存储空间和上云字段;端侧主要是声明接入字段及连接对应环境,用于云空间端侧展示同步开关及调测同步功能。

[h2]前置条件

[h2]云侧操作

  1. 进入云同步服务页面。

    登录AppGallery Connect网站,点击“开发与服务”,选择“我的项目”。

    在项目列表页面中选择项目,单击项目下需要创建容器的应用。

    在API管理或开放能力管理启用“云空间”。

    点击“全部功能”(左侧导航树下方),选择“构建>云空间服务”,点击固定按钮,以将服务显示在左侧导航树中。

  2. 创建容器。

    在云同步服务主页面,点击创建容器按钮,填写容器名称,点击确定。

    容器名称需要和ArkData本地数据库名称保持一致,例如:ArkData的数据库名称为note.db,容器名称则为note(大小写保持一致,不用填写后缀)。

    容器创建完成后才可进入数据类型配置页面。

  3. 配置数据类型。

    在云同步服务主页面,选择“数据类型配置”,填写数据类型名称和自定义字段,可以根据需要进行增、删、改、查。

    数据类型名称需要和ArkData本地表名称保持一致。

    云侧自定义字段名称及类型需要与本地数据接入云空间的字段名称及类型保持一致。对应关系如下表:

    云侧字段类型 本地字段类型 说明
    Encrypted String/String TEXT -
    Integer INTEGER -
    Double DOUBLE -
    Bytes BLOB -
    Asset ASSET 搭载云空间6.3.1及以上版本、HarmonyOS 6.1.0.135及以上版本的设备,支持新建此类型字段。
    AssetList ASSETS 搭载云空间6.3.1及以上版本、HarmonyOS 6.1.0.135及以上版本的设备,支持新建此类型字段。
    • 设置自定义字段的类型时,如果为String类型,支持选择加密字段(添加前缀Encrypted),以保护用户的数据隐私。

    • 添加为加密字段后,可能影响端云同步的性能和效率,建议开发者根据数据的安全等级合理选择加密字段。

    • 云端所有配置字段默认允许为空,ArkData本地表所有字段定义不能设置NOT NULL属性。

    • ArkData本地表字段设置为主键(Primary Key)时,需在云侧进行以下配置操作:展开高级设置,下拉端侧去重主键,勾选本地设置了主键属性的字段。

  4. 调测多端同步。

    调测方案一:

    在云同步服务主页面,选择”数据记录调测”,在数据类型和字段下拉框选择要查看的数据类型和字段,点击查询按钮,可以查看云端个人数据。

    • 该页面只能查询和修改开发者自身账号的数据,端侧调测如果使用其他账号,此处无法查询。如需使用该页面,客户端调测也请登录相同的开发者账号。

    • 无法在数据记录调测页面查看加密字段的具体内容,如需查看加密字段的具体内容请使用调测方案二。

    • 数据占用云存储空间,请确保空间充足。

    调测方案二:

    两台设备登录相同账号,在A设备上打开应用,新增数据;而后在B设备上打开应用,查看A设备上写入的数据是否同步至本端。

  5. 重置开发环境。

    开发者可通过此操作快速清理调测期间产生的大量临时数据和配置。

    在云同步服务主页面,选择“重置开发环境”,勾选“我理解所有的数据将被删除且无法找回”,点击弹框中的重置按钮。

    所有的数据类型配置将会被重置(如果配置已经变更到生产环境,则与生产环境保持一致),所有的个人数据将被清空,操作无法撤销,请谨慎操作。

  6. 部署生产环境。

    当使用开发环境完成多端同步调测后,明确配置已满足业务需要,开发者可自主将开发环境配置实施变更到生产环境,后续有新增配置重复此操作。

    在云同步服务主页面,选择“实施变更到生产环境”,点击弹框中的实施按钮。

    谨慎实施,实施后无法撤回,配置无法删除和修改,仅支持增加。

[h2]端侧操作

  1. 应用声明。

    通过配置app.json5文件中app标签的cloudStructuredDataSyncEnabled字段来控制是否接入云同步能力,字段为true时,表示接入,在“设置-云空间”内即可看到应用开关。

    {
      "app": {
        "cloudStructuredDataSyncEnabled": true
      }
    }
  2. 环境连接。

    云空间识别接入应用的证书类型为debug则连接开发环境,应用证书类型为release则连接生产环境。

  3. 开发流程具体请见端云数据同步关系型数据库端侧开发指导。

  4. 体验设计建议。

    当应用内设置同步开关时,请提示并引导用户跳转至云空间页面打开开关。

    用户数据是用户宝贵的数据资产,也是持续使用应用的重要原因之一,建议将同步状态显性化,让服务更透明,让用户使用更安心。

    同步受功能开启状态、网络条件、云存储空间等方面的影响,请参考端云同步状态码设计同步状态提醒。例如:

    • 同步正在进行时增加提醒:正在与云空间同步。

    • 同步已完成,有明确完成状态码时,参考如下表格增加提醒:

      完成状态码 建议提示
      0 已与云空间同步
      1 与云空间同步已暂停
      2 网络错误,与云空间同步已暂停
      3 未开启同步
      4 与云空间同步已暂停,稍后将自动重试
      5 超出数据上限,与云空间同步已暂停
      6 云空间存储空间不足,请前往“设置-云空间”管理
      7 未连接WLAN,与云空间同步已暂停

      前往“设置-云空间”管理,也可添加Deeplink文字链,用户点击直接跳转至云空间首页,跳转uri为:hicloud://cloudDrive/getInfo?path=MainActivity。

个人数据处理说明

此处针对华为作为最终用户数据处理者,开发者作为最终用户数据控制者的数据处理进行说明,包括:

[h2]华为处理的个人数据清单

个人数据清单 使用目的 存留期
用户数据 数据备份与同步。由应用指定存储至云空间的数据范围,并由最终用户确认(在“设置-云空间”内打开/关闭同步功能开关),以避免应用卸载或设备丢失、设备损坏导致数据永久丢失,以及数据在登录同一华为账号的设备间保持一致。 存储在云空间的数据将保存至如下时刻:最终用户主动删除存储在云空间的数据

[h2]指导开发者如何帮助用户实现对数据的控制

常见问题

[h2]AppGallery Connect网站找不到云空间服务

在“开发与服务”页面,点击左下角“全部功能”按钮展开所有菜单,找到“构建 > 云空间服务”,可将其锁定到左侧导航树,便于后续查找使用。

[h2]日志出现报错信息:{"schedule":2,"code":1,"details":{}}

可能原因及解决方案:

  1. 本地表中数据类型不符合Sqlite基本数据类型,依次排查表中数据类型是否符合规范。
  2. 云侧配置与端侧配置不一致,请检查:
    • 是否设置分布式表。
    • 表名与云侧配置是否匹配。
    • 表中字段属性与云侧配置是否匹配,字段约束请参考上文云侧操作步骤3。

如果以上未解决,可尝试:

  1. 退出华为账号再次登录。
  2. 卸载开发应用重新安装。

[h2]云端修改数据类型的配置后,端侧同步失败

退出华为账号重新登录。