我正在使用 Firebase Analytics 来跟踪我的 Android 应用中的自定义数据。具体来说,我想将source和campaign_id值存储在collected_traffic_source.manual_source和collected_traffic_source.manual_campaign_id字段中。
但是,我面临以下问题:
没有内置方法:我还没有找到任何内置方法,例如 setUserId() 或 setUserProperties() 直接支持在collected_traffic_source中存储值。
使用logEvent方法:为了解决这个问题,我尝试使用logEvent方法来存储数据,如下所示:
Bundle bundle = new Bundle();
bundle.putString("collected_traffic_source.manual_source", source);
firebaseAnalytics.logEvent(eventName, bundle);
数据被存储,但最终出现在 event_params 中,而不是所需的collected_traffic_source 字段中。
如何正确地将source和campaign_id值存储在collected_traffic_source.manual_source和collected_traffic_source.manual_campaign_id中?有没有具体的方法或途径来实现这一点?
使用营销活动参数打开应用程序时,会记录自动 Firebase SDK 事件
firebase_campaign
。我建议执行以下操作:
firebase_campaign
未显示在 Google Analytics 4 控制台中。您需要启用 BigQuery 导出才能探索该事件。firebase_campaign
下探索 BigQeury 导出中的点击。您可以像这样使用 SQL 查询:SELECT
TIMESTAMP_MICROS(event_timestamp) AS event_datetime,
COALESCE(device.operating_system || " - ", "") || COALESCE(device.operating_system_version, "") AS OS,
COALESCE(app_info.id || " - ", "") || COALESCE(app_info.version, "") AS APP_INFO,
COALESCE(device.mobile_brand_name || " - ", "") || COALESCE(device.mobile_model_name, "") AS DEVICE_INFO,
COALESCE(geo.region || " - ", "") || COALESCE(geo.city, "") AS GEO_INFO,
user_pseudo_id, -- Your App Instance Id
event_name,
event_params,
collected_traffic_source
FROM
`<replace with your GCP project id>.<replace with your dataset name>.events_intraday_*`
WHERE true
AND _TABLE_SUFFIX = FORMAT_DATE("%Y%m%d", CURRENT_DATE()) -- today
AND event_name = "firebase_campaign"
ORDER BY
event_datetime DESC