SDK에서 제공하는 다음 문서를 사용하여 Android 앱에 Google 분석 서비스를 구현하려고합니다.
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 Analytics의 로그를 보려면 로그 수준을 verbose로 변경해야합니다.
GoogleAnalytics.getInstance(this).getLogger().setLogLevel(Logger.LogLevel.VERBOSE);
문제의 원인을 분석하는 데 도움이됩니다.