我使用了 RealmTask 教程 ( https://realm.io/docs/tutorials/realmtasks/ ) 中的技术来演示与 Realm Object Server 工作的同步。但是,正如realm移动平台中提到的,离线时如何连接?,很难找到在存在间歇性网络连接的情况下实现强大应用程序的设计指南。例如,第一次运行应用程序时网络可能不可用,在教程示例中,我认为登录尝试会在 30 秒后超时。
从各种来源,我试图在客户端概述一种实现方法,并提出了以下内容:
==================================================== ===========
在应用程序启动时
创建登录凭据
SyncCredentials.usernamePassword()
检查用户凭据是否已经存在使用
SyncUser.all
如果是这样,请使用适当的密钥 (UserId) 获取正确的用户
如果获得用户,则使用以下方式获取领域配置
realmConfiguration = Realm.Configuration(SyncConfiguration(user, realmURL))
尝试登录
SyncUser.logIn 与 SyncCredentials
完成后,将以下内容放在主 DispatchQueue(异步)上
realmConfiguration = Realm.Configuration(SyncConfiguration(user, realmURL))
如果未登录,每隔 N 分钟重复一次登录尝试,直到成功?例如,当应用程序启动时网络不可用,但随后变为可用的情况?
启动应用程序的其余部分,使 realmConfiguration 可用。
但是,只有在设置了 realmConfiguration 后才能访问 Realm。设计应用程序,使其处理未设置领域配置的情况。
==================================================== ===========
上述方法是否明智,还是有更好的解决方案?