手动恢复 未同步的 更改 策略

手动解决客户端重置的策略。

同步域可能需要重置,因为Device Sync遇到错误必须从备份中恢复,或者因为客户端连接到服务器已经太长时间了,因此服务器已轮换日志。

由于服务器没有使客户端完全更新所需的全部信息,因此会发生客户端重置。

手动重置过程如下:将 Realm 的本地副本复制到恢复目录以妥善保管,然后从原始位置删除。 下次打开该 URL 的域时,它将自动从 Atlas 重新下载,并且可以照常使用。

在其自身的本地副本与备份远程副本分叉后,写入 Realm 的数据将存在于 Realm 文件的本地恢复副本中。重新下载的 Realm 最初仅包含在服务器上备份该 Realm 时存在的数据。

可以通过以下两种方式之一启动客户端重置过程:

  1. 手动运行ClientResetRequiredException.executeClientReset 。 在调用此方法之前,必须关闭所有 Realm 实例。

  2. 如果未手动执行客户端重置,则下次关闭并重新打开所有 Realm 实例时将自动执行客户端重置。 这很可能发生在应用重新启动时。

警告:在此回调和执行客户端重置之间对 Realm 文件的任何写入都不会同步到 Atlas。 这些更改将仅存在于备份文件中。 因此,建议尽快关闭所有打开的 Realm 实例。

功能

链接已复制到剪贴板
摘要 乐趣 onClientReset(会话 SyncSession 异常 ClientResetRequiredException)

指示已发生客户端重置的回调。 应尽快处理此问题,因为对 Realm 的任何进一步更改都不会与服务器同步,并且必须手动从备份 Realm 移动到新的 Realm。