GCMからFCMに問題なく移行しました。通知サービスは非常に正常に実行されています。ただし、法的な理由により、FirebaseAnalyticsサービスのアプリ測定部分を無効にする必要があります。
このガイドを使用して、分析部分を無効にしました https://firebase.google.com/support/guides/disable-analytics
したがって、このフラグをマニフェストファイルに配置します。
<meta-data Android:name="firebase_analytics_collection_enabled" Android:value=false />
また、プログラムでコレクションを無効にしました。
FirebaseAnalytics.getInstance(this).setAnalyticsCollectionEnabled(false);
残念ながら、データは引き続き収集されており、Firebase AnalyticsConsoleで新しいイベントを確認できます。分析サービスを完全にオフにする可能性はありますか?
ご協力いただきありがとうございます。
編集:アプリケーションタグに非アクティブ化メタデータもあります:
<meta-data Android:name="firebase_analytics_collection_deactivated" Android:value=true />
2017年10月の時点で、非アクティブ化された値は「true」である必要があります。 「false」は機能しなくなります。
<meta-data
Android:name="firebase_analytics_collection_deactivated"
Android:value="true" />
ログは、それが機能していることを正しく示しています。
10-11 16:29:32.755 27857-27857/? I/FA: Collection disabled with firebase_analytics_collection_deactivated=1
これは、Firebaseのバグまたは Analyticsコレクションを無効にするためのドキュメント のエラーです。コレクションセットを永続的に無効にするにはfirebase_analytics_collection_deactivated
tofalse(trueではない):
<meta-data
Android:name="firebase_analytics_collection_deactivated"
Android:value="false" />
Analyticsロギングを有効にすることで、コレクションが無効になっていることを確認できます。
adb Shell setprop log.tag.FA VERBOSE
adb Shell setprop log.tag.FA-SVC VERBOSE
adb logcat -v time -s FA FA-SVC
次のような出力を観察します。
I/FA: Collection disabled with firebase_analytics_collection_deactivated=1
D/FA: Event not sent since app measurement is disabled
Firebase MessagingからAnalyticsを完全に無効にするには、gradleで分析パッケージを除外する必要があります。
implementation('com.google.firebase:firebase-messaging:18.0.0') {
exclude group: 'com.google.firebase', module: 'firebase-core'
exclude group: 'com.google.firebase', module: 'firebase-analytics'
exclude group: 'com.google.firebase', module: 'firebase-measurement-connector'
}
また、AndroidManifestファイルの追跡を無効にします。
<meta-data Android:name="firebase_analytics_collection_deactivated" Android:value="true" />
<meta-data Android:name="google_analytics_adid_collection_enabled" Android:value="false" />
<meta-data Android:name="firebase_messaging_auto_init_enabled" Android:value="false" />
Proguardを使用している場合は、この行も構成ファイルに追加する必要があります
-dontwarn com.google.firebase.analytics.connector.AnalyticsConnector
これが、アプリに追跡を含めたくないが、Firebase CloudMessagingを使用している他のすべての人に役立つことを願っています。
Firebaseサポートチームからフィードバックを受け取りました。
Android:value属性に二重引用符を追加しないと、マニフェストファイルのコードはコンパイルされません。すでに追加している場合は、問題ありません。
分析コレクションを一時的に無効にすることで機能するはずです。詳細なデバッグオプションを有効にして、ログを確認してください。
一方、分析コレクションを永続的に無効にすることには問題があることを認識しています。これについてはすでにバグが報告されており、エンジニアによって適切に優先順位が付けられています。この問題に関する詳細については、リリースノートを更新してください。
ご不便をおかけして申し訳ございませんが、今後ともサービスの向上に努めてまいりますので、何卒ご理解賜りますようお願い申し上げます。
その行をマニフェストに入れてみました内部アプリケーションタグアプリケーションタグの下の最初の行として:
<application
Android:icon="@mipmap/ic_launcher"
Android:name="your.package.name">
<meta-data Android:name="firebase_analytics_collection_enabled" Android:value="false" />
これを行うと、初期化中にFirebaseがログに表示されます。
I/FA:firebase_analytics_collection_enabled = 0でコレクションが無効になっています
そして、その後、firebaseに何も報告しないようです。