私はFirebase Analyticsを使用しており、アプリは次のコードでいくつかのイベントをログに記録します。
Bundle bundle = new Bundle();
bundle.putString(FirebaseAnalytics.Param.ITEM_ID, "SOME_ID")
bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "SOME_TYPE");
mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle);
そしてそれはほとんどの場合うまくいくようです。 logcatでは私はこのようなものを持っています:
Logging event (FE): select_content, Bundle[{_o=app, content_type=SOME_TYPE, item_id=SOME_ID}]
しかし、私が受け取るいくつかのイベントでは
Logging event (FE): select_content, Bundle[{_o=app, _ev=item_id, _err=4, content_type=SOME_TYPE}]
どうやら、_err = 4はある種のエラーコードです。どういう意味ですか?
その場合、エラーが発生して私のitem_id
はかなり長い文字列(20〜30記号)でした。多分item_id
の長さに制限がありますか?
公式ドキュメント によると:
パラメータ名は最大40文字で、英数字とアンダースコア( "_")のみを使用でき、アルファベット文字で始まる必要があります。パラメータ値は最大100文字です。
したがって、キーと値の両方に長さの制約があります。
キー:40文字
値:100文字
最大値の制限を超えるパラメーターでイベントをログに記録しています。 FA/Errorログメッセージが付随していて、おそらく見逃していた詳細情報が含まれていました。
Firebase Analyticsエラーコードのリストを次に示します。
1-FirebaseプロジェクトIDが無効です。
2-イベント名が無効です(空、長すぎる、無効な文字)。
3-イベントパラメータ名が無効です(空、長すぎる、無効な文字)。
4-イベントパラメータ値が長すぎます。
5-イベントに25を超えるパラメーターがあります。
6-ユーザープロパティ名が無効です(空、長すぎる、無効な文字)。
7-ユーザープロパティの値が長すぎます。
8-アプリインスタンスは500を超える固有のイベントタイプをログに記録します。
9-アプリインスタンスは25を超える一意のユーザープロパティを設定します。
10-アプリインスタンスが1日でコンバージョンイベントの制限を超えています。
13-イベント名は予約されています。
14-イベントパラメータ名は予約されています。
15-ユーザープロパティ名は予約されています。
11、12、16-内部エラー。
はい、item_idの長さに制限があります。私の場合も、アプリと統合しているときに、item_idが長いと同じエラーが発生しました。