Edited at

Firebaseを紐付けたGoogleAnalyticsのプロパティやアカウントの変更はFirebase上からしようとするとデータが消える


 はじめに

このお話はフィクションだったらよかったんですが実際に起きてしまった悲しい出来事です。

これ以上同じ轍を踏むアプリ開発者が出ないことを祈ってこの記事を書きました。

ちなみに現在は一部のデータを欠損しつつも復旧済みです。


ことの経緯

:fire: < 「GoogleAnalytics連携出来るようになったやで」

:baby: < 「おっ、とりあえずボタン押してみるか」

:baby: < 「ボタン押しただけでFirebaseのデータがGoogleAnalytics側にも連携されたわ」

:baby: < 「さすが天下のGoogleさんやで」


悲劇、起きる

:baby: < 「あれ、でもこれ連携するアカウント間違っとるな」

:baby: < 「付け替えどうやるんや…」

:baby: < 「おっ、Firebase設定画面の「このプロジェクトからアナリティクスリンクを解除」押したら紐付け解除できそうやん!(ポチー)」

:baby: < 「よし消せたわ、これで正しい方のGoogleAnalyticsアカウントに紐付ければええんやな!」

:fire: < 「データはありません」

:baby: < 「えぇ・・・」

:baby: < 「せや!とりあえず間違ってたほうのアカウントに再度紐付ければ直るやろ!」

:fire: < 「前とは別のプロパティ作って前のアカウントに紐付けておいたぞ」

:fire: < 「データはありません」

:baby: < 「なぜなのか」


何がいけなかったか


  • FirebaseAnalyticsのデータをGoogleAnalyticsで参照しているだけだと思っていた


    • どうやら連携するとデータはGoogelAnalytics側に移るらしいという罠



  • Firebaseで選べるのはGoogleAnalyticsのアカウントだけ


    • プロパティは選べない、自動で新しいものが生成される



そもそも今回のケースのようにアカウントが間違っていたならGoogleAnalyticsの[管理]にある[プロパティ移行]から行うべきだった。


そこからリカバリまで


Googleへの問い合わせ

Google翻訳先生のお力を借りつつ、GoogleAnalyticsのお問い合わせフォームからメールを送りました。

:baby: < 「Firebaseと連携するGoogleAnalyticsのプロパティを選択する方法はありますか?」

:man_tone2: < 「リチャードです。 Googleアナリティクスのプロパティリンクに関する問題についてサポートさせていただきます。」

:man_tone2: < 「Firebase用Googleアナリティクスの新しいアップグレードでは、FirebaseプロジェクトにリンクされたGAプロパティに分析データが存在することに注意してください。」

:man_tone2: < 「プロパティのリンクを解除/削除すると、Firebaseプロジェクトで白紙状態になりますが、古いデータは古いGAプロパティで引き続き使用できます。」

:man_tone2: < 「現在、Firebaseコンソールを使用してリンクする場合、リンクするGAプロパティを指定することはできません。」

:baby: < (あっ、終わったやんこれ:innocent:

:angel: < 「今のところ、removeAnalyticsメソッドを使用してREST APIを使用してGAプロパティのリンクを解除し、addGoogleAnalyticsメソッドを使用して古いプロパティをリンクできます。」

:angel: < 「 参照用にこのFAQページを確認できます。」

:baby: < 「リチャードさん神様だった」


APIの実行

案内してもらったリンクを開くと、そこにはAPIドキュメントだけでなく実行環境まで用意してある親切っぷり。

各種idを入力して実行するとページ内でAPI叩くところまで出来ました、さすが!

image.png


Firebaseコンソールでの確認

無事ではないけどFirebaseのデータが復活しました、切り替えの合間の欠損は授業料だと思えば安いもんです:cry:

image.png


おわりに

これをやらかしてしまったのが会社ではなく個人アプリだったのが唯一の救いでした。

簡単には元に戻せない割に安易に危険な操作が出来てしまう機能をユーザーに推しておきながらも、APIドキュメントに加えて実行環境まで用意してあって危うくGoogleに惚れそうになりましたこれって思いっきりDV加害者の手口なのでは

Firebaseはアプリ開発者にとってかなり身近な存在になってきていると思いますが私のように何も考えずにボタンを押さないよう気をつけてくださいね。

データが復活したとか書きましたが、復旧後もFirebaseとAdMobの連携がバグっているのか収益額が0円と表示される現象が引き続き発生しており、現在Google側に問い合わせ中です(2019/10/29現在)

こちらもAdMob側で見れば正しい収益額が表示されているので連携ミスって収益も消えたというわけではなさそう🤔