【发布时间】:2017-06-14 08:19:00
【问题描述】:
我已经使用 RealmTask 教程 (https://realm.io/docs/tutorials/realmtasks/) 中的技术来演示与 Realm Object Server 工作的同步。然而,正如realm mobile platform, how to connect while offline? 中提到的,在存在间歇性网络连接的情况下,很难找到实现强大应用程序的设计指南。例如,应用程序首次运行时网络可能不可用,在本教程示例中,我认为登录尝试会在 30 秒后超时。
从各种来源,我尝试在客户端上概述一种实现方法,并提出以下内容:
================================================ ===============
应用启动时
使用
创建登录凭据SyncCredentials.usernamePassword()
检查用户凭据是否已经存在使用
SyncUser.all
如果是这样,请使用适当的密钥 (UserId) 获取正确的用户
如果获取到用户,获取Realm配置使用
realmConfiguration = Realm.Configuration(SyncConfiguration(user, realmURL))
尝试登录
带有 SyncCredentials 的 SyncUser.logIn
完成后,将以下内容放在主 DispatchQueue (async)
realmConfiguration = Realm.Configuration(SyncConfiguration(user, realmURL))
如果没有登录,每N分钟重复一次登录尝试直到成功?例如。如何处理应用启动时网络不可用,然后变为可用的情况?
启动应用程序的其余部分,使 realmConfiguration 可用。
但是,只有在设置了 realmConfiguration 后才能访问 Realm。设计应用程序,使其处理未设置领域配置的情况。
================================================ ===============
上述方法是否明智,或者有更好的解决方案?
【问题讨论】:
标签: realm realm-mobile-platform realm-object-server