AnalyticsService ऐप मैनिफ़ेस्ट में पंजीकृत नहीं है - त्रुटि


85

मैं sdk में दिए गए निम्नलिखित दस्तावेज़ीकरण का उपयोग करके एंड्रॉइड ऐप के लिए Google विश्लेषिकी सेवा को लागू करने की कोशिश कर रहा हूं:

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

मैं एनालिटिक्स एडमिन साइट की किसी भी जानकारी को देखने में असमर्थ हूं।

एप्लिकेशन चल रहा है, मैं डिबग संदेश के बाद देख रहा हूं

"AnalyticsService ऐप मैनिफ़ेस्ट में पंजीकृत नहीं है। हिट्स मज़बूती से वितरित नहीं किए जा सकते। निर्देशों के लिए https://developers.google.com/analytics/devguides/collection/android/v4/ देखें ।"

क्या आप मुझे सुझाव दे सकते हैं कि इस सेवा को कैसे पंजीकृत किया जाए?


जांचें कि क्या आपने एप्लिकेशन क्लास या प्राथमिक लैंडिंग गतिविधि में भी एनालिटिक्स को इनिशियलाइज़ किया है। मैं वैश्विक ट्रैकर (XML) कोड को हटाने की सलाह देता हूं।
मनन शर्मा

जवाबों:


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
मैंने इस विधि के माध्यम से इसे हल किया। हालाँकि, शुरुआत के लिए ध्यान देने वाली बात यह है कि इन कोडों को "एप्लिकेशन" टैग =) के अंदर जोड़ना पड़ सकता है
yi2ng2

57
असली सवाल यह है कि ये यहां क्यों नहीं मौजूद हैं: Developers.google.com/analytics/devguides/collection/android/v4 ?
बडी

6
@EnesBattal शायद इसलिए कि ये केवल Google Play सेवाओं वाले उपकरणों पर आवश्यक हैं। लेकिन मुझे भी लगता है कि इसका उल्लेख उन डॉक्स में किया जाना चाहिए।
अन्डिस सिप

2
मैंने इन्हें अपनी उपस्थिति में शामिल किया और अब मुझे LogCat में चेतावनी नहीं मिली है, लेकिन जब मैं GoogleAnalytics के लिए डिबगिंग सक्षम करता हूं तब भी मुझे टर्मिनल में मिलता है? मैंने टर्मिनल में डिबगिंग सक्षम करने के लिए जिन कमांडों का उपयोग किया है: "adb shell setprop log.tag.GAv4 DEBUG" और "adb logcat -s GAv4"
महालिफिकेशन

@zack, यदि ऐप Play Store में जा रहा है, तो इसका मतलब है कि आप नहीं जानते कि ऐप को किस डिवाइस में इंस्टॉल किया जाएगा, इसलिए, यह निहित है कि इन सेवाओं और रिसीवर को प्रकट में जोड़ा जाना चाहिए। निश्चित रूप से मेरे मामले में, मेरे पास कई डिवाइस हैं जिनमें प्ले सेवाएं पहले से ही स्थापित हैं, और यह LogCat
Phileo99

26

इसे प्रकट पर जोड़ें

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

कंसोल में क्या परिणाम होना चाहिए यह सुनिश्चित करने के लिए प्रदर्शित किया जाना चाहिए कि यह काम कर रहा है?
डेडफिश


0

मुझे काफी समान समस्या थी - AnalyticsService के बारे में संदेश ऐसा लगता है कि आपके डिवाइस में Google सेवाएँ नहीं हैं, लेकिन यह मेरे लिए सत्य नहीं था। हालाँकि, मैंने महसूस किया है कि मुझे यकीन नहीं हो रहा है कि यह लॉग-इन मेरे ऐप से मंगवाया गया होगा - लॉग जैसा दिखता था : 10173-10192/? V/GAV4, इसलिए पैकेज का नाम छिपा हुआ था।

Google Analytics के लॉग देखने के लिए, आपको लॉग स्तर को क्रिया में बदलना चाहिए:

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

यह आपको विश्लेषण करने में मदद करेगा कि आपकी समस्याओं का कारण क्या है।


4
GoogleAnalytics.getInstance (यह) .getLogger () setLogLevel (Logger.LogLevel.VERBOSE)। पदावनत किया गया है। इसके बजाय "adb शेल सेटपॉप log.tag.GAv4 DEBUG; अदब लॉगकाट -s GAv4" का उपयोग करें
aselims 12

आप पदावनत विधियों का उपयोग कर रहे हैं।
इगोरगानापल्स्की

5
@IgorGanapolsky को जून '15 में पदावनत नहीं किया गया था
Krzysztof Skrzynecki
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.