SDKで提供される次のドキュメントを使用して、GoogleアナリティクスサービスをAndroidアプリに実装しようとしています。
https://developers.google.com/analytics/devguides/collection/Android/v4/
分析管理サイトに情報が表示されません。
アプリの実行中に、次のデバッグメッセージが表示されます
"AnalyticsServiceはアプリマニフェストに登録されていません。ヒットは確実に配信されない可能性があります。 https://developers.google.com/analytics/devguides/collection/Android/v4/を参照してください 指示用。」
このサービスの登録方法を教えてください。
この警告に基づいて行動することで問題が解決するかどうかはわかりません(つまり、Analytics管理サイトに情報が表示されない)。
とにかく、この警告を取り除くには、アプリケーションタグ内のAndroidManifest.xmlに追加する必要があります。
<!-- Optionally, register AnalyticsReceiver and AnalyticsService to support background
dispatching on non-Google Play devices -->
<receiver Android:name="com.google.Android.gms.analytics.AnalyticsReceiver"
Android:enabled="true">
<intent-filter>
<action Android:name="com.google.Android.gms.analytics.ANALYTICS_DISPATCH" />
</intent-filter>
</receiver>
<service Android:name="com.google.Android.gms.analytics.AnalyticsService"
Android:enabled="true"
Android:exported="false"/>
<!-- Optionally, register CampaignTrackingReceiver and CampaignTrackingService to enable
installation campaign reporting -->
<receiver Android:name="com.google.Android.gms.analytics.CampaignTrackingReceiver"
Android:exported="true">
<intent-filter>
<action Android:name="com.Android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
<service Android:name="com.google.Android.gms.analytics.CampaignTrackingService" />
これらすべてを追加する必要はなく、必要なものを追加するだけです。あなたのケースでは、明らかにAnalyticsService
サービスを追加する必要があります。
ソース: https://developer.Android.com/reference/com/google/Android/gms/analytics/GoogleAnalytics.html
これをマニフェストに追加します
<service Android:name="com.google.Android.gms.analytics.AnalyticsService"
Android:enabled="true"
Android:exported="false"/>
Karimの説明 うまくいきましたが、マニフェストでWakeロックの許可を与えるまで機能しません。
<uses-permission Android:name="Android.permission.WAKE_LOCK" />
同様の問題がありました-AnalyticsServiceに関するメッセージは、お使いのデバイスにGoogleサービスがないように見えますが、私には当てはまりませんでした。ただし、このログがアプリから呼び出されたことを確認できないことに気付きました。ログは10173-10192/? V/GAV4
のように見えたため、パッケージ名は隠されていました。
Googleアナリティクスのログを表示するには、ログレベルを詳細に変更する必要があります。
GoogleAnalytics.getInstance(this).getLogger().setLogLevel(Logger.LogLevel.VERBOSE);
問題の原因を分析するのに役立ちます。