以前、Android アプリに Google アナリティクスを導入した際に、勝手に Wake Lock パーミッションが付いてしまうという記事を書きました。
http://extra-vision.blogspot.jp/2016/07/android-analytics-wake-lock_22.html
Androidアプリは現在、Firebase Analytics への移行が強く推奨されています。なので自分のアプリも少しずつ Firebase へ移行させています。半ば予想はしていましたが、Firebase の方も Android アプリに実装すると、勝手にパーミッションが追加されてしまいました。
勝手に追加されてしまうのは以下の三つのパーミッションです。
- android.permission.WAKE_LOCK
- com.google.android.c2dm.permission.RECEIVE
- ???.package.permission.C2D_MESSAGE
パーミッションは Android アプリの生命線です。必要無いものは極力付けないというのが鉄則です。問題はこれらが本当に必要なのか?ということです。
Google アナリティクスの時に問題になった Wake Lock はドキュメントに明確に、非Google Playアプリで必要になるものであり、オプションであるとも書かれていました。しかし Firebase Analytics ではこれらのパーミッションについて公式に書かれているものは見あたりません。
Google アナリティクスの時に問題になった Wake Lock はドキュメントに明確に、非Google Playアプリで必要になるものであり、オプションであるとも書かれていました。しかし Firebase Analytics ではこれらのパーミッションについて公式に書かれているものは見あたりません。
WALE_LOCK は、想像するに、バックウラウンドでデータを送信するためのものだと思います。
残りの二つはクラウドメッセージ(Cloud To Device Message)関連のパーミッションです。Firebaseには膨大な機能があり、Analytics はその中の一機能に過ぎません。これらのパーミッションが Firebase Cloud Message (FCM)で必要なことは容易に想像できます。しかし Analytics でも本当にこれらが使われているのでしょうか?
この件についてはあまり情報がありません。わずかに Firebase の Google Group で議論されていました。
https://groups.google.com/forum/?hl=ja#!topic/firebase-talk/CXgecSxgsRE
中で色々議論されていますが、結論から言うと、確定的な情報ではありませんが、これらのパーミッションは Firebase Analytics が裏で使っている、もしくは将来使うかもしれないものなので、無効にしない方がよいということです。これらを無効にしても Analytics は機能しているという報告もありますが、データを取りこぼすことがあるかもしれないそうです。
上のも書いたように、Firebase フレームワークには様々な機能があります。クラッシュレポートやクラウドメッセージ、AdMob 等、既存の機能もどんどん Firebase に取り込まれています。これらのどれを使っても上の三つのパーミッションは鉄板で付加されてしまいます。Firebase を使う上でデフォルトで必要となるパーミッションのようです。ドキュメントにの一言書いておいてくれれば悩む必要もないのにな。
0 件のコメント :
コメントを投稿