問題
リリース間近、AnalyticsのイベントログがWebコンソール上に反映されないことがあり、ハマった。
テスト観点を洗い出し、各状態についてそれぞれテストし、原因を突き止めた。
洗い出されたテスト観点
・端末依存
・通信状態
・端末のOSバージョン
・端末の時間設定
・Google Playへのログイン有無
テストの実施結果
1. 端末の時間設定が異常なとき
2. 端末上でGoogle Playへのログインがないとき
以上のとき、発火したイベントはWebコンソール上で全く反映されない!
理由
1.については以下のページにそのような仕様であると書いてある。
デバッグモードの有効化
重要: DebugView を使用する前に、端末の時刻が正確であることを確認してください。
端末の時計がずれていると、Analytics のレポートでイベントが遅延したり、欠落したりする
原因になります。
2.についてはFirebaseの仕様によるものだろう。
Google Playの広告IDを使用して、Analyticsにユーザ情報を反映させているため、ログインせず、その広告IDがとれないとAnalyticsへの反映もなし得ないということなのだろうと思う。
Firebase: データ収集
余談
このテストを如何に行ったかというと、Firebaseプロジェクトを上限である10個作り、各テストごとに google-services.json のFirebaseプロジェクトのパスを変更して、DebugViewやStreamViewでWebコンソール上にデータが反映されるかを測定する形式でテストを行った。
なかなか労力を要したので二度と行いたくないテストではある。。
記事をお読みいただき、ありがとうございました!
もし参考になったと感じましたら、どうか「いいね」よろしくお願いいたしますm(_ _)m