【问题标题】:Analytics events not being logged to Firebase分析事件未记录到 Firebase
【发布时间】:2016-10-10 10:17:30
【问题描述】:

我正在尝试将简单的分析事件记录到 Firebase,但从未在线显示任何内容。

这是我记录事件的方式:

    FIRAnalytics.logEventWithName("spot_view", parameters: [
        "spot_name": spotName,
        "is_private": isPrivate
        ])

我打开了运行时参数来查看 Firebase 输出,我得到了这个:

<FIRAnalytics/DEBUG> Event logged. Event name, event params: spot_view, {
        "_o" = app;
        "is_private" = 1;
        "spot_name" = TestLogSpotView;
    }

所以事件被触发了。我也得到这表明数据实际上正在上传:

2016-06-09 12:12:13.567 [60279:] <FIRAnalytics/DEBUG> Measurement data sent to network. Timestamp (ms), data: 1465488733550, <ACPMeasurementBatch 0x7de7bb60>: {
        bundles {
          protocol_version: 1
          events {
            params {
              name: "_c"
              int_value: 1
            }
            params {
              name: "_o"
              string_value: "auto"
            }
            name: "_f"
            timestamp_millis: 1465488710347
          }
          events {
            params {
              name: "_et"
              int_value: 1
            }
            params {
              name: "_o"
              string_value: "auto"
            }
            name: "_e"
            timestamp_millis: 1465488710347
          }
          events {
            params {
              name: "_o"
              string_value: "app"
            }
            params {
              name: "is_private"
              int_value: 1
            }
            params {
              name: "spot_name"
              string_value: "TestLogSpotView"
            }
            name: "spot_view"
            timestamp_millis: 1465488710411
          }
          events {
            params {
              name: "content_type"
              string_value: "cont"
            }
            params {
              name: "_o"
              string_value: "app"
            }
            params {
              name: "item_id"
              string_value: "1"
            }
            name: "select_content"
            timestamp_millis: 1465488710411
          }
          user_attributes {
            set_timestamp_millis: 1465488710347
            name: "_fot"
            int_value: 1465491600000
          }
          upload_timestamp_millis: 1465488733550
          start_timestamp_millis: 1465488710347
          end_timestamp_millis: 1465488710411
          platform: "ios"
          os_version: "9.3"
          device_model: "x86_64"
          user_default_language: "en-us"
          time_zone_offset_minutes: -240
          app_store: "manual_install"
          app_id: “——“
          app_version: "0.0.0"
          gmp_version: 3200
          uploading_gmp_version: 3200
          resettable_device_id: “—“——
          limited_ad_tracking: false
          app_instance_id: “———“
          bundle_sequential_index: 1
          gmp_app_id: “———“
          firebase_instance_id: “———“
          app_version_major: 106
        }
    }
2016-06-09 12:12:13.568[60279:] <FIRAnalytics/DEBUG> Uploading data. Host: https://app-measurement.com/a
2016-06-09 12:12:13.595[60279:] <FIRAnalytics/DEBUG> Received SSL challenge for host. Host: https://app-measurement.com/a
2016-06-09 12:12:13.731[60279:] <FIRAnalytics/DEBUG> Successful upload. Got network response. Code, size: 204, 0

几天前我运行了同样的代码,但在 Firebase 中仍然没有任何显示。

我也尝试过记录一个直接从 Firebase 复制的事件:

    FIRAnalytics.logEventWithName(kFIREventSelectContent, parameters: [
        kFIRParameterContentType:"cont",
        kFIRParameterItemID:"1"
        ])

您可以在上面发布的日志控制台输出中看到。

我认为唯一错误的另一件事是在 GoogleService-Info.plist 中。 IS_ANALYTICS_ENABLED 的条目设置为 no。我只是把它翻到YES 并打算再试一次,尽管我不相信这是解决办法。我认为这个条目只适用于谷歌分析。


此外,还会记录其他数据,例如设备类型和用户会话。所以它只是记录不起作用的事件。

【问题讨论】:

    标签: ios firebase analytics firebase-analytics


    【解决方案1】:

    需要快速检查 - 确保您的日期范围包含记录此事件的日期。例如,如果事件是今天记录的,您应该更改日期范围以明确包括今天。 “过去 30 天”或“过去 7 天”等范围不包括今天。

    如果您没有看到报告更新,您应该联系支持人员以便更快地了解情况。

    【讨论】:

    • 啊,将日期范围设置为“今天”会显示数据。这似乎不正确,数据是昨天发布的,但它只显示在“今天”日期设置下?这是预期的行为吗?
    • 另外,您知道为什么自定义参数没有显示在仪表板中吗?这是只有在导出到 BigQuery 时才能看到的内容吗?
    • 目前,您的企业所在的时区并未考虑在内,因此当天的截止日期可能与您的预期不符。回复:事件,为许多建议的事件(如 select_content)提供参数报告,但不提供自定义事件。但是,您可以在受众定义中使用所有自定义事件和参数。我建议您最大限度地使用建议的事件和参数。如果您需要报告自定义参数,我建议您看看 BigQuery..
    • 非常感谢您的回复。还有一个问题,为了链接到 BigQuery,我们需要将 Firebase 帐户升级为付费帐户……然后还要为 BigQuery 付费。正确的?还是所有这些都包含在一个“现收现付”计划中?
    • 为了链接到 BigQuery,您应该更新到 Blaze 计划(即按需付费)。然后,您的 BigQuery 费用将遵循 BigQuery 的定价。 BQ 提供 1 TB/mo 免费查询层,因此值得一试:cloud.google.com/bigquery/pricing
    【解决方案2】:

    这可能是自定义事件的原因之一

     Event name must contain only letters, numbers, or underscores. 
    

    我的事件没有记录,因为我在事件名称中使用了空格。

    【讨论】:

      【解决方案3】:

      仅针对那些遇到此问题而不再看到任何 Firebase 分析输出的不幸受试者(例如我自己)(Firebase 控制台中没有在线事件,也没有本地 Firebase 调试消息)。不管出于什么原因,我无意中删除了用于调用的代码

      FIRApp.configure()
      

      无论我设置什么其他标志或类似的标志,之前一直运行良好的 Analytics 事件都不会显示。并且日志代码仍然可以正常工作,没有任何抱怨——只是显然没有做任何事情。 configure() 电话是我来检查的最后一件事。

      【讨论】:

        【解决方案4】:

        这可能是一个迟到的答案,但我仔细检查了其他解决方案,仍然有类似的问题。

        我通过查看随事件发送的参数解决了这个问题。确保发送的所有参数都有一个值。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-05-28
          • 1970-01-01
          • 1970-01-01
          • 2019-06-21
          • 1970-01-01
          相关资源
          最近更新 更多