无法在 Analytics Events E-commerce 中记录多个项目

Can't log multiple items in Analytics Events E-commerce

我需要在购物车中记录商品,但我不知道该怎么做。在 Swift 中,不允许使用 append() 函数,因此我尝试在数组中创建字典,但使用此方法无法正常工作,我在 Firebase Debugview 中遇到错误。这是我的代码:(Swift, iOS)

func logViewCart(items: [CartItem]){
  
    var itemList : [[String : Any]] = []
    
    for item in items{
        var itemParams : [String : Any] = [
            "item_id": item.id,
            "item_name": item.product?.name,
            "item_category": item.product.category,
            "price": item.price
        ]

        itemList.append(itemParams)
    }
    
    var itemTest : [String : Any] = [:]
    
    for i in itemList {
        itemTest[AnalyticsParameterItems] = [i]
    }

    
    Analytics.logEvent("view_cart", parameters: [
        "items": [itemTest]
    ])
}

提前致谢

您遇到的错误有多种方式,您可以从键入日志消息或行为开始。

我将首先介绍有关登录活动的基础知识,请确保您已将此 属性 设置为 -FIRAnalyticsDebugEnabled,就像这样

在调试查看器上应该会在 3 到 6 秒内弹出,然后确保参数正确。

我找到了解决方案。不是在数组中声明字典,而是声明另一个具有 [Any] 类型的数组变量来解决问题。

var itemList : [Any] = []
    
    for item in items{
        let variantIndex = item.product?.attributes?[1].listValueLabel?.count ?? 1
        var itemParams : [String : Any] = [
            "item_id": item.itemID,
            "item_name": item.product?.name
        ]

        itemList.append(itemParams)
    }

    
    Analytics.logEvent("view_cart", parameters: [
        AnalyticsParameterItems: itemList
    ])