【问题标题】:Can't log multiple items in Analytics Events E-commerce无法在 Analytics Events 电子商务中记录多个项目
【发布时间】:2021-12-05 21:33:14
【问题描述】:

我需要在购物车中记录商品,但我不知道该怎么做。在 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]
    ])
}

提前致谢

【问题讨论】:

    标签: ios swift firebase e-commerce analytics


    【解决方案1】:

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

    我将首先了解登录活动的基础知识,请确保您在您的方案中设置了 -FIRAnalyticsDebugEnabled 属性,就像这样

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

    【讨论】:

      【解决方案2】:

      我找到了解决方案。不用在数组中声明字典,用 [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
          ])
      

      【讨论】:

        猜你喜欢
        • 2015-08-01
        • 2013-01-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-17
        • 1970-01-01
        • 1970-01-01
        • 2018-03-27
        相关资源
        最近更新 更多