客户端 SDK

最佳实践

Unity SDK 集成建议与推荐做法

Version:

遵循以下最佳实践可以更充分地发挥 AudienceLab SDK 的价值。

初始化

SDK 会自动初始化。请确保在第一个场景加载前完成 token 配置。

事件发送时机

  • 购买事件:在确认购买成功后立即发送
  • 广告事件:在广告播放完成后发送(而不是开始播放时)
  • 自定义事件:在行为发生的瞬间发送

去重(Deduplication)

对于可能会重复发送的事件,建议使用 dedupeKeytr_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);

测试建议

  1. 开发阶段启用 ShowDebugLog
  2. 使用 Debug Overlay 验证事件是否发送
  3. 同时在 Editor 与真机上测试
  4. 验证 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
    );
}