跳转到内容

高级特性

本篇文档介绍 Wilddog Sync 的高级特性,用于实现更丰富的场景需求。

[WDGServerValue timestamp] 用于记录当前 云端时间戳。

例如,在servertimestamp 节点下记录当前云端时间:

Objective-C Swift
```objectivec WDGSyncReference *currentServerTimeRef = [[WDGSync sync] referenceFromURL:@"https://samplechat.wilddogio.com/servertimestamp"]; //写入当前云端时间戳 [currentServerTimeRef setValue:[WDGServerValue timestamp]]; ```
```swift let currentServerTimeRef = WDGSync.sync().reference(fromURL: "https://samplechat.wilddogio.com/servertimestamp") //写入当前云端时间戳 currentServerTimeRef.setValue(WDGServerValue.timestamp()) ```

/.info/serverTimeOffset 节点用于记录本地时间和云端时间的差值。监听该节点可以获取时钟偏差。

例如,利用时钟偏差可以计算云端时间:

Objective-C Swift
```objectivec WDGSyncReference *offsetRef = [[WDGSync sync] referenceWithPath:@".info/serverTimeOffset"]; [offsetRef observeEventType:WDGDataEventTypeValue withBlock:^(WDGDataSnapshot *snapshot) { offset = [(NSNumber *)snapshot.value doubleValue]; double estimatedServerTimeMs = [[NSDate date] timeIntervalSince1970] * 1000.0 + offset; }]; ```
```swift let offsetRef = WDGSync.sync().reference(withPath: ".info/serverTimeOffset") offsetRef.observe(.value, with: { snapshot in if let offset = snapshot.value as? Double { let estimatedServerTimeMs = NSDate().timeIntervalSince1970 * 1000.0 + offset } }) ```