簡単な分析イベントを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にあります。 noに設定されたIS_ANALYTICS_ENABLED
のエントリがあります。 YES
に切り替えて、もう一度やり直しますが、これが修正されるとは思いません。このエントリはGoogleAnalyticsにのみ適用されると思います。
また、デバイスタイプやユーザーセッションなどの他のデータISがログに記録されます。したがって、機能しないイベントをログに記録するだけです。
簡単に確認することが1つあります。日付範囲に、このイベントがログに記録された日付が含まれていることを確認してください。たとえば、イベントが今日ログに記録された場合は、日付範囲を変更して、今日を明示的に含める必要があります。 「過去30日間」や「過去7日間」などの範囲には、今日は含まれません。
レポートの更新が表示されない場合は、サポートに連絡して、レポートの詳細をすばやく確認する必要があります。
これがカスタムイベントの理由の1つである可能性があります
Event name must contain only letters, numbers, or underscores.
イベント名にスペースを使用していたため、イベントはログに記録されませんでした。
これは遅い答えかもしれませんが、私は他の解決策を再確認しましたが、それでも同様の問題がありました。
イベントで送信されたパラメーターを確認することで、問題を修正しました。送信されるすべてのパラメーターに値があることを確認してください。
Firebaseアナリティクスの出力が表示されなくなったときにこの質問に答える(私のような)不幸なテーマのためだけに(Firebaseコンソールオンラインにイベントがなく、ローカルのFirebaseデバッグメッセージもありません)。なんらかの理由で、誤って、以前は呼び出していたコードを削除しました
_FIRApp.configure()
_
他にどのようなフラグなどを設定しても、以前は常に正常に機能していたアナリティクスイベントは表示されませんでした。そして、ロギングコードは文句なしに機能しました-明らかに何もしていません。 configure()
呼び出しは、私がチェックするようになった最後のことでした。