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) 코드를 제거하는 것이 좋습니다.
Manan Sharma

답변:


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
이 방법을 통해이 문제를 해결했습니다. 그러나 초보자를 위해주의해야 할 점은 이러한 코드가 "application"태그 내에 추가되어야한다는 것입니다. =)
yi2ng2

57
진짜 질문은 왜 여기에 존재하지 않는지입니다. developers.google.com/analytics/devguides/collection/android/v4 ?
Buddy

6
@EnesBattal은 Google Play 서비스가없는 기기에서만 필요하기 때문일 수 있습니다. 그러나 저도 그 문서에서 언급되어야한다고 생각합니다.
aandis

2
이 파일을 매니페스트에 추가했는데 이제 LogCat에서 더 이상 경고가 표시되지 않지만 GoogleAnalytics에 대한 디버깅을 활성화해도 여전히 터미널에 표시됩니까? 터미널에서 디버깅을 활성화하는 데 사용한 명령 : "adb shell setprop log.tag.GAv4 DEBUG"및 "adb logcat -s GAv4"
Mehlyfication

@zack, 앱이 Play 스토어로 이동하는 경우 앱이 어떤 기기에 설치 될지 모르기 때문에 이러한 서비스와 수신기를 매니페스트에 추가해야 함을 의미합니다. 물론 내 경우, 이미 설치되어있는 플레이 서비스가 여러 장치를 가지고 있고,이 로그 캣에서 경고를 제거 할 수있는 유일한 방법이었다
Phileo99

26

매니페스트에 추가

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

제대로 작동하는지 확인하기 위해 콘솔에 어떤 결과가 표시되어야합니까?
deadfish


0

비슷한 문제가 발생했습니다. AnalyticsService 에 대한 메시지는 기기에 Google 서비스가없는 것 같지만 사실이 아닙니다. 그러나이 로그가 내 앱에서 호출되었는지 확신 할 수 없음을 깨달았습니다. 로그가 다음과 같이 표시 10173-10192/? V/GAV4되었으므로 패키지 이름이 숨겨졌습니다.

Google Analytics의 로그를 보려면 로그 수준을 verbose로 변경해야합니다.

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

문제의 원인을 분석하는 데 도움이됩니다.


4
GoogleAnalytics.getInstance (this) .getLogger (). setLogLevel (Logger.LogLevel.VERBOSE); 더 이상 사용되지 않습니다. 대신 "adb shell setprop log.tag.GAv4 DEBUG; adb logcat -s GAv4"사용
aselims

더 이상 사용되지 않는 방법을 사용하고 있습니다.
IgorGanapolsky

5
@IgorGanapolsky 그것은 6 월 '15에서 사용 중단되지 않았습니다
Krzysztof Skrzynecki
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.