Firebase Analytics 错误无法创建具有不受支持的值的值类型

Firebase Analytics Error Cannot create Value type with unsupported value

我正在尝试记录一些事件,但控制台告诉我有错误。这是我要记录的几个事件:

Analytics.logEvent("workout_velocities", parameters: [
  "workout_uuid": UUID().uuidString,
  "speed": [
    "2018-02-22 07:46:37 +0000": -1,
    "2018-02-22 07:46:38 +0000": -1,
    "2018-02-22 07:46:39 +0000": -1
  ]
])

我收到以下错误消息:

2018-02-21 23:52:42.480336-0800 RunManager[1878:1120392] 4.8.1 - [Firebase/Analytics][I-ACS035001] Cannot create Value type with unsupported value. The Value has to be NSNumber or NSString. Value: {
"2018-02-22 07:46:37 +0000" = "-1";
"2018-02-22 07:46:38 +0000" = "-1";
"2018-02-22 07:46:39 +0000" = "-1";
}
2018-02-21 23:52:42.480414-0800 RunManager[1878:1120392] 4.8.1 -     [Firebase/Analytics][I-ACS016000] Event parameter value must be of type     NSString or NSNumber. Type: _TtGCs26_SwiftDeferredNSDictionarySSSi_

请阅读 Analytics.logEvent() 的 API 文档。对于 parameters 参数,它表示:

The dictionary of event parameters. Passing nil indicates that the event has no parameters. Parameter names can be up to 40 characters long and must start with an alphabetic character and contain only alphanumeric characters and underscores. Only NSString and NSNumber (signed 64-bit integer and 64-bit floating-point number) parameter types are supported. NSString parameter values can be up to 100 characters long. The "firebase_", "google_", and "ga_" prefixes are reserved and should not be used for parameter names.

您的论点不符合规定的要求。看来您正在传递一个字典,其值包含字符串和数字以外的内容。具体来说,您正在传递一个包含另一个字典的 "speed" 值。