如何从Unity IAP获取营收数据并与Adjust集成实现追踪?
Unity IAP与Adjust集成:获取购买营收并自动追踪
一、从Unity IAP提取购买营收数据
Unity IAP在购买成功的回调中提供了完整的产品购买信息,你可以直接在ProcessPurchase方法里获取核心营收相关数据:
- 本地化购买价格:
purchasedProduct.metadata.localizedPrice - 货币代码(如USD、CNY):
purchasedProduct.metadata.isoCurrencyCode - 对应产品ID:
purchasedProduct.definition.id
示例代码:
using UnityEngine.Purchasing; public class IAPManager : IStoreListener { // ... IAP初始化等前置代码 ... public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs args) { Product purchasedProduct = args.purchasedProduct; // 提取营收关键数据 decimal revenue = purchasedProduct.metadata.localizedPrice; string currency = purchasedProduct.metadata.isoCurrencyCode; string productId = purchasedProduct.definition.id; // 触发Adjust追踪逻辑 TrackPurchaseToAdjust(revenue, currency, productId); return PurchaseProcessingResult.Complete; } // ... 其他IAP回调(如OnPurchaseFailed)代码 ... }
二、集成Adjust实现自动化追踪
- 先确保已导入Adjust Unity SDK并完成基础初始化(配置App Token等必要参数)。
- 在购买成功后,调用Adjust的事件追踪API,将营收数据传入即可:
示例代码:
using AdjustSdk; private void TrackPurchaseToAdjust(decimal revenue, string currency, string productId) { // 替换为你在Adjust后台创建的购买事件专属Token AdjustEvent purchaseEvent = new AdjustEvent("YOUR_PURCHASE_EVENT_TOKEN"); // 设置营收金额与对应货币类型 purchaseEvent.SetRevenue((double)revenue, currency); // 可选:添加产品ID作为自定义参数,方便后台做细分分析 purchaseEvent.AddCallbackParameter("product_id", productId); // 发送追踪事件到Adjust服务器 Adjust.TrackEvent(purchaseEvent); }
注意事项
- 购买验证:建议在发送Adjust事件前,先用Unity IAP的
CrossPlatformValidator验证购买凭证,避免无效数据被追踪。 - 订阅场景:如果是自动续订类订阅,需要监听Unity IAP的订阅状态变更回调,在每次续订成功时重复触发Adjust追踪。
- 线程安全:Unity IAP的回调默认在主线程执行,Adjust API也要求主线程调用,无需额外处理线程问题。
内容的提问来源于stack exchange,提问作者Nikolai
相关产品推荐
相关产品推荐

