菜单

进阶功能

1.自动采集事件

引力引擎 SDK 支持自动采集一些基础事件以降低您的接入成本,您可以参考自动采集一文来快速开启。

2.开启 Debug 模式

开启 Debug 模式后,当出现问题时会以日志和异常的方式提示用户,您也可以去事件流中查看实时上报的数据数,辅助您判断数据接入是否正常。

以下是客户端开启 Debug 模式的示例代码:

Objective-C
GEConfig *config = [[GEConfig alloc] init];
config.debugMode = GravityEngineDebugOn;
// 初始化 SDK
GravityEngineSDK *instance = [GravityEngineSDK startWithConfig:config];

Debug 模式仅仅用于集成阶段数据校验,不要在生产模式下使用!

3.绑定三方平台

引力支持与数数BI打通,具体如下:

在用户归因成功之后,引力将使用数数的 数据接收接口 透传数据到数数后台,方便您在数数平台实时查看用户买量数据(如广告主账户ID、计划ID等等)。你需要完整完成以下两步,才能正常接收数据到数数系统:
  1. 引力后台配置数数相关
  2. 客户端代码触发三方绑定事件上报

3.1 引力后台配置

您需要先在引力后台-设置-应用管理页面配置项中配置好数数科技回调,需提供以下信息:

数数应用id:从数数后台获取对应产品的id

数数采集地址:根据数数接收接口文档找到您公司对应的采集地址,采集地址以sync_json结尾

回传模式选择:

  • user_set:多次回调数据到数数时,将会覆盖原有的属性值
  • user_setOnce:多次回调数据到数数时,如该属性之前已经有值,则忽略本次更新

3.2 触发【三方绑定事件】

为确保引力能正常执行数数回调,请务必在接入完成后进行以下验证:

  • 触发【三方绑定事件】上报
  • 用户细查-深度挖掘模块中检查该用户的行为序列
  • 确认行为序列中已包含【三方绑定事件】

若未检测到该事件,请检查接入流程是否完整。此验证步骤对确保回调功能正常运行至关重要。

引力会自动将引力 client ID 和您传入的数数 account_id 以及 distinct_id 做关联,在回调数数接口时,通过这个关联传递对应的 account_iddistinct_id 给数数后台

方法示例

- (void)bindTAThirdPlatformWithAccountId:(NSString *)taAccountId withDistinctId:(NSString *)taDistinctId;

参数说明

参数名称 参数含义 参数类型 是否必传
taAccountId 当前用户的数数账户 ID (#account_id) NSString
taDistinctId 当前用户的数数访客 ID (#distinct_id) NSString

调用示例

Objective-C

[instance bindTAThirdPlatformWithAccountId:CURRENT_USER_TA_ACCOUNT_ID withDistinctId:CURRENT_USER_TA_DISTINCT_ID];

Swift

instance.bindTAThirdPlatformWithAccountId(CURRENT_USER_TA_ACCOUNT_ID, CURRENT_USER_TA_DISTINCT_ID)

4.时间校准

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

4.1 通过时间戳校准 

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

代码示例

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

4.2 通过 NTP 服务器校准 

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

代码示例

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

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

  • 关于 NTP 服务器相关更多信息请参考:https://dns.icoa.cn/ntp/
上一个
用户属性上报
下一个
自动采集
最近修改: 2025-08-23Powered by