AnalyticsServiceがアプリマニフェストに登録されていません-エラー


85

SDKで提供されている次のドキュメントを使用して、AndroidアプリにGoogleアナリティクスサービスを実装しようとしています。

https://developers.google.com/analytics/devguides/collection/android/v4/

分析管理サイトに情報が表示されません。

アプリの実行中に、次のデバッグメッセージが表示されます

「AnalyticsServiceがアプリマニフェストに登録されていません。ヒットが確実に配信されない可能性があります。手順については、https://developers.google.com/analytics/devguides/collection/android/v4/ご覧ください。」

このサービスの登録方法を教えてください。


アプリケーションクラスまたはプライマリランディングアクティビティで分析を初期化したかどうかを確認します。グローバルトラッカー(XML)コードを削除することをお勧めします。
マナンシャルマ2015年

回答:


178

この警告に対処することで、発生している問題が解決するかどうかはわかりません(つまり、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


9
私はこの方法でこれを解決しました。ただし、初心者向けの注意点の1つは、これらのコードを「application」タグ内に追加する必要がある場合があることです=)
yi2ng2 2015

57
本当の問題は、なぜこれらがここに存在しないのかということです:developers.google.com/analytics/devguides/collection/android/v4
バディ

6
@EnesBattalは、GooglePlay開発者サービスを備えていないデバイスでのみ必要なためかもしれません。しかし、私もそれらのドキュメントで言及されるべきだと感じています。
aandis 2015

2
これらをマニフェストに追加したところ、LogCatで警告が表示されなくなりましたが、GoogleAnalyticsのデバッグを有効にしても、ターミナルで表示されますか?ターミナルでデバッグを有効にするために使用したコマンド:「adbshel​​l setproplog.tag.GAv4DEBUG」および「adblogcat
s

@zack、アプリがPlayストアにアクセスする場合、アプリがインストールされるデバイスがわからないことを意味します。したがって、これらのサービスとレシーバーをマニフェストに追加する必要があることを意味します。確かに私の場合、Play開発者サービスがすでにインストールされているデバイスがいくつかあります。これが、LogCat
Phileo99 2016

26

マニフェストにこれを追加

 <service android:name="com.google.android.gms.analytics.AnalyticsService"
 android:enabled="true"
 android:exported="false"/>

それが機能することを確認するために、コンソールのどの結果を表示する必要がありますか?
デッドフィッシュ2016年


0

私は非常に同様の問題があった-についてのメッセージAnalyticsServiceのデバイスのようなルックスは、Googleのサービスを持っていないが、それは私のために真実ではありませんでした。ただし、このログがアプリから呼び出されたのかどうか確信が持てないことに気付きました。ログは次のようになっている10173-10192/? V/GAV4ため、パッケージ名は非表示になっています。

Google Analyticsのログを表示するには、ログレベルを詳細に変更する必要があります。

GoogleAnalytics.getInstance(this).getLogger().setLogLevel(Logger.LogLevel.VERBOSE);

それはあなたがあなたの問題の原因が何であるかを分析するのに役立ちます。


4
GoogleAnalytics.getInstance(this).getLogger()。setLogLevel(Logger.LogLevel.VERBOSE); は非推奨です。代わりに「adbshel​​lsetprop log.tag.GAv4 DEBUG; adb logcat -sGAv4」を使用してください
2015年

非推奨のメソッドを使用しています。
IgorGanapolsky 2016

5
@IgorGanapolsky 15
Krzysztof Skrzynecki 2016
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.