You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

react-native-firebase/analytics中logPurchase事件Item revenue始终为0

问题根源及解决办法

1. 货币代码格式错误(核心问题)

Firebase Analytics要求使用ISO 4217标准的三位字母货币代码,你当前传入的currency: 'euro'不符合规范,正确的欧元代码应为'EUR'。货币格式不合法会导致Firebase无法正确解析交易金额,进而使Item revenue显示为0。

修改代码中的currency字段:

await analytics().logPurchase({
    value: +order?.total,
    currency: 'EUR', // 替换为ISO 4217标准代码
    tax: +tax?.toFixed(2),
    items,
});

2. 验证商品项的数值有效性

确保items数组中的price和quantity是有效数值类型:

  • 避免product?.sprice转换后出现NaN,可添加默认值兜底
  • 确保quantity为整数类型,而非字符串

优化后的商品项处理代码:

const items = order?.products.map(product => {
    const price = parseFloat(product?.sprice) || 0;
    const quantity = parseInt(product?.quantity, 10) || 1;
    return {
        item_brand: product?.vendorName,
        item_id: product?.prodlevid,
        item_name: product?.name,
        price,
        quantity,
    }
})

3. 注意Firebase数据延迟特性

Firebase Analytics的事件数据通常需要1-2小时才会在控制台完成统计更新,实时面板仅作临时参考,建议等待一段时间后再检查Item revenue数据。

4. 核对控制台事件配置

  • 确认项目已正常启用Firebase Analytics服务
  • 在控制台「事件」>「purchase」>「参数」中,检查items相关参数是否被正确上报

内容的提问来源于stack exchange,提问作者wefwe fwefwef

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 13:01:55