领域平台:如何在应用程序进入后台之前强制同步?
Realm Platform: How do I force sync before app goes into background?
我需要跟踪正在使用 运行 应用程序的设备。现在我有一个状态字段,当应用程序首次启动或设备激活时,状态字段会更改为 1。当用户按下主页按钮时,我在收到通知后将状态字段设置为 0 UIApplicationWillResignActiveNotification
if(self.device) {
[self.realm transactionWithBlock:^{
self.device.status = 0;
}];
}
self.device = nil;
[self.realm refresh];
但是,我查看了Realm Cloud 中的数据,它似乎根本没有更新。有什么方法可以强制更新我的领域数据同步吗?
如果你想只用realm platform
来实现,我觉得你应该实现一个数据更新逻辑,比如客户端每5秒更新一个值,可以是当前时间戳和您可以通过最后的时间戳值识别在线用户。
在我看来,一个简单的 socket.io 实现可能是更好的解决方案,您可以通过将用户连接状态保存在套接字服务器中来保存它们。您只需要在客户端连接到服务器以及断开连接时保存时间戳。
我相信你可以用 ROS
做同样的事情,但我不确定他们是否为用户连接事件或状态提供 public API ...
我需要跟踪正在使用 运行 应用程序的设备。现在我有一个状态字段,当应用程序首次启动或设备激活时,状态字段会更改为 1。当用户按下主页按钮时,我在收到通知后将状态字段设置为 0 UIApplicationWillResignActiveNotification
if(self.device) {
[self.realm transactionWithBlock:^{
self.device.status = 0;
}];
}
self.device = nil;
[self.realm refresh];
但是,我查看了Realm Cloud 中的数据,它似乎根本没有更新。有什么方法可以强制更新我的领域数据同步吗?
如果你想只用realm platform
来实现,我觉得你应该实现一个数据更新逻辑,比如客户端每5秒更新一个值,可以是当前时间戳和您可以通过最后的时间戳值识别在线用户。
在我看来,一个简单的 socket.io 实现可能是更好的解决方案,您可以通过将用户连接状态保存在套接字服务器中来保存它们。您只需要在客户端连接到服务器以及断开连接时保存时间戳。
我相信你可以用 ROS
做同样的事情,但我不确定他们是否为用户连接事件或状态提供 public API ...