AnalyticsService ไม่ได้ลงทะเบียนในรายการแอป - ข้อผิดพลาด


85

ฉันกำลังพยายามใช้บริการ Google Analytics กับแอพ Android โดยใช้เอกสารต่อไปนี้ที่ให้ไว้ใน sdk:

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

ฉันไม่เห็นข้อมูลใด ๆ ในไซต์ผู้ดูแลระบบการวิเคราะห์

ขณะที่แอปกำลังทำงานฉันเห็นข้อความแก้ไขข้อบกพร่องดังต่อไปนี้

"AnalyticsService ไม่ได้ลงทะเบียนในไฟล์ Manifest ของแอป Hit อาจไม่ถูกส่งอย่างน่าเชื่อถือดูคำแนะนำที่https://developers.google.com/analytics/devguides/collection/android/v4/ "

คุณช่วยแนะนำวิธีการลงทะเบียนบริการนี้ได้ไหม


ตรวจสอบว่าคุณได้เริ่มต้นการวิเคราะห์ในคลาสแอปพลิเคชันหรือกิจกรรมการลงจอดหลักด้วย ฉันขอแนะนำให้ลบโค้ด global tracker (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 ?
บัดดี้

6
@EnesBattal อาจเป็นเพราะสิ่งเหล่านี้จำเป็นสำหรับอุปกรณ์ที่ไม่มีบริการ Google Play เท่านั้น แต่ฉันก็รู้สึกว่าควรกล่าวถึงในเอกสารเหล่านั้นด้วย
aandis

2
ฉันเพิ่มสิ่งเหล่านี้ในรายการของฉันและตอนนี้ฉันไม่ได้รับคำเตือนใน LogCat อีกต่อไป แต่เมื่อฉันเปิดใช้งานการดีบักสำหรับ GoogleAnalytics ฉันยังคงได้รับสิ่งเหล่านี้ในเทอร์มินัล? คำสั่งที่ฉันใช้เพื่อเปิดใช้งานการดีบักใน Terminal: "adb shell setprop log.tag.GAv4 DEBUG" และ "adb logcat -s GAv4"
Mehlyfication

@zack หากแอปกำลังไปที่ Play Store นั่นหมายความว่าคุณไม่ทราบว่าจะติดตั้งแอปลงในอุปกรณ์ใดจึงเป็นนัยว่าต้องเพิ่มบริการและตัวรับเหล่านี้ในไฟล์ Manifest แน่นอนในกรณีของฉันฉันมีอุปกรณ์หลายเครื่องที่ติดตั้งบริการ Play ไว้แล้วและนี่เป็นวิธีเดียวที่จะกำจัดคำเตือนใน LogCat
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 (นี้) .getLogger (). setLogLevel (Logger.LogLevel.VERBOSE); เลิกใช้แล้ว ใช้ "adb shell setprop log.tag.GAv4 DEBUG; adb logcat -s GAv4" แทน
aselims

คุณกำลังใช้วิธีการที่เลิกใช้
IgorGanapolsky

5
@IgorGanapolsky มันไม่ได้เลิกใช้ในเดือนมิถุนายน '15
Krzysztof Skrzynecki
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.