客户端 SDK
最佳实践
Unity SDK 集成建议与推荐做法
Version:
遵循以下最佳实践可以更充分地发挥 AudienceLab SDK 的价值。
初始化
SDK 会自动初始化。请确保在第一个场景加载前完成 token 配置。
事件发送时机
- 购买事件:在确认购买成功后立即发送
- 广告事件:在广告播放完成后发送(而不是开始播放时)
- 自定义事件:在行为发生的瞬间发送
去重(Deduplication)
对于可能会重复发送的事件,建议使用 dedupeKey 或 tr_id:
// 购买使用交易 ID 去重
AudiencelabSDK.SendPurchaseEvent(
id: "premium_pack",
name: "Premium Pack",
value: 9.99,
currency: "USD",
status: "Completed",
tr_id: "unique_transaction_id"
);
// 自定义事件使用唯一 key 去重
AudiencelabSDK.SendCustomEvent("purchase_flow_started",
new { product_id = "premium_pack" },
dedupeKey: $"flow_{sessionId}_{productId}"
);用户属性(User Properties)
- 尽早设置属性(例如用户登录后)
- 用户状态变化时及时更新属性
- 黑名单属性仅用于 PII 的哈希值
// 登录后设置
AudiencelabSDK.SetUserProperty("user_tier", "premium");
AudiencelabSDK.SetUserProperty("signup_date", "2024-01-15");
// 状态变化时更新
AudiencelabSDK.SetUserProperty("current_level", 42);测试建议
- 开发阶段启用 ShowDebugLog
- 使用 Debug Overlay 验证事件是否发送
- 同时在 Editor 与真机上测试
- 验证 Release 构建并确认 ProGuard 规则已生效
常见模式
追踪新手引导完成
public void OnTutorialComplete()
{
AudiencelabSDK.SendCustomEvent("tutorial_complete", new {
total_time_seconds = tutorialTimer.TotalSeconds,
skipped_steps = skippedSteps
});
}追踪购买流程
public void OnPurchaseSuccess(PurchaseResult result)
{
AudiencelabSDK.SendPurchaseEvent(
id: result.ProductId,
name: result.ProductName,
value: result.Price,
currency: result.Currency,
status: "Completed",
tr_id: result.TransactionId
);
}