菜单

时间校准

1. 时间校准

引力引擎 SDK 会默认使用客户端本机时间作为事件发生时间,如果用户手动修改设备时间会影响到您的业务分析(尤其是漏斗分析)的准确性,此时可以通过校准时间操作保证事件发生时间的准确性。SDK提供了时间戳和NTP两种时间校准方式。

1.1 通过时间戳校准 

您可以通过调用 calibrateTime 方法传入从服务端获取的当前时间戳对 SDK 的时间进行校准。此后,所有未指定时间的调用,包括事件数据和用户属性设置操作,都会使用校准后的时间作为发生时间。

代码示例

// 1733169963000 为当前 unix 时间戳,单位为毫秒,对应北京时间 2024-12-03 04:06:03
[GravityEngineSDK calibrateTime:1733169963000];

1.2 通过 NTP 服务器校准 

您可以通过调用 calibrateTimeWithNtp 方法传入NTP服务器地址,之后 SDK 会尝试从传入的 NTP 服务地址中获取当前时间,并对 SDK 时间进行校准。如果在默认的超时时间(3 秒)之内,仍未获取到 NTP 服务器返回的正确结果,后续将使用本地时间上报数据。

代码示例

// 使用阿里云 NTP 服务对时间进行校准
[GravityEngineSDK calibrateTimeWithNtp:@"ntp.aliyun.com"];
  • 使用 NTP 服务进行时间校准存在一定的不确定性,建议您优先考虑用时间戳校准的方式

  • 您需要谨慎地选择您的 NTP 服务器地址,以保证网络状况良好的情况下,用户设备可以很快的获取到服务器时间

  • 关于 NTP 服务器相关更多信息请参考:https://dns.icoa.cn/ntp/
上一个
数据存储与上报
下一个
自动采集
最近修改: 2025-10-28Powered by