दिलचस्प पोस्ट
एनजी-दोहराने वाला फिल्टर डुप्लिकेट परिणाम बनाने के लिए कैसे करें कैसल विंडसर का उपयोग करके मैं एक सामान्य डेकोरेटर कैसे रजिस्टर कर सकता हूं? मानों के सेट के मानक विचलन (stddev) को मैं कैसे निर्धारित करूं? PHP में यादृच्छिक पासवर्ड उत्पन्न करना क्या आपके वेब। कॉन्फ़िग में प्रॉक्सी क्रेडेंशियल निर्दिष्ट करना संभव है? क्या यह कॉन्फ़िग फाइलों में परिवेश चर (सादा पाठ के बजाय) के रूप में पासवर्ड संग्रहीत करने के लिए सुरक्षित है? जीआईटी-पुल के लिए मैं अपना स्थानीय भंडार कैसे उपलब्ध कर सकता हूं? मेन्यूबार में एप्लिकेशन आइकन कैसे दिखाया जाता है, यहां तक ​​कि एप्लिकेशन को छोड़ना है डिबगर में विशिष्ट पहचान प्रकार के संदर्भ में क्या एसक्यूएल आउटपुट क्लॉज को कॉलम वापस नहीं किया जा सकता है? यह कैसे पता चलेगा कि क्या एक स्थापित एक्लिप्स 32 या 64 बिट संस्करण है? मेवेन पैरेंट पॉम वि मॉड्यूल पॉम जावा पोजो वर्ग, जावा बीन, सामान्य वर्ग क्या है? सेवा का केवल एक उदाहरण बनाएं (एंड्रॉइड) कम नमूना आकार का उपयोग करने के बावजूद बिटमैपफिचर

पैकेज नाम (Google Analytics) के लिए कोई मेल क्लाइंट नहीं मिला – एकाधिक उत्पादफ़्लॉवर और बिल्डटैप

प्रसंग:

मैं अपने ऐप के लिए Google Analytics को सेट अप करने की कोशिश कर रहा हूं (4 कस्टम buildTypes और कुछ productFlavors से अधिक)

जब मैं com.my.app.package.name चयन करता हूं, तो यह ठीक काम करता है जिसमें com.my.app.package.name ( google-services.json जेनरेट करते समय उपयोग किया गया पैकेज नाम) पर सेट अप किया गया है। लेकिन, मेरे अन्य स्वादों में अलग-अलग आवेदन आईडी हैं

मैं इसे सेट करने के लिए आधिकारिक डेवागुएड का पालन किया।

त्रुटि तब मिलती है जब Build Variants Tab में किसी अन्य बिल्ड संस्करण का चयन किया जाता है (जिसमें एक अलग applicationId (पैकेज का नाम) निम्नानुसार है:

त्रुटि: कार्य निष्पादन के लिए विफल ': app: processAllcategoriesDebugfreeGoogleServices'

पैकेज नाम 'com.my.app.package.name.debug' के लिए कोई मेल क्लाइंट नहीं मिला

त्रुटि संदेश की व्याख्या:

Debugfree ऊपर त्रुटि संदेश में कार्य नाम में मेरा कस्टम buildType और Allcategories मेरे productFlavors से एक है।

मैं त्रुटि को समझता हूं और पता लगाता हूं कि पैकेज का नाम जेसन जेनरेट करते समय मैंने क्या इस्तेमाल किया था, परन्तु यही है कि मैं एक तरह से चारों ओर एक आंकड़ा लगाने की कोशिश कर रहा हूं।

मुसीबत:

अब, google-services.json app फ़ोल्डर में रहता है और इसलिए मैं स्वाद विशिष्ट स्रोत सेट फ़ोल्डर में उन्हें छोड़कर प्रत्येक उत्पाद स्वाद के लिए उन्हें अलग नहीं कर पा रहा हूं।

प्रशन:

  1. डिबगिंग प्रत्यय के लिए मेरा कस्टम byildType .debug को applicationId (पैकेज नाम)। क्या ऐसा कोई तरीका है जो मैं इसे google-services.json साथ काम कर सकता हूं, जिसमें मेरी रिहाई applicationId .debug (अर्थात प्रत्यय के बिना .debug )
  2. क्या app फ़ोल्डर में आवश्यक फाइल की प्रतिलिपि बनाने के लिए अलग-अलग फाइलों और कार्यों का उपयोग किए बिना एक ही google-services.json फ़ाइल में कॉन्फ़िगर किए गए एकाधिक उत्पाद स्वादों का एक तरीका है। मुझे पता है कि इस पोस्ट में बताए गए कार्यों का उपयोग किया जा सकता है। क्या एक सरल तरीका है कि सिर्फ एक फाइल हो या सही फ़ाइल ढूढ़ने के आधार पर चुनें?
  3. मैं देख रहा हूँ package_name फ़ील्ड में google-services.json में पैकेज नाम com.my.app.package.name क्या मैं सभी बिल्ड वेरिएंट्स के लिए काम करने के लिए मैन्युअल रूप से एकाधिक पैकेज नाम जोड़ सकता हूं? यदि हां, तो ऐसा कैसे करें? दस्तावेज़ीकरण में कोई भी निर्देश नहीं मिला।

Solutions Collecting From Web of "पैकेज नाम (Google Analytics) के लिए कोई मेल क्लाइंट नहीं मिला – एकाधिक उत्पादफ़्लॉवर और बिल्डटैप"

यह पाया:

Google-services.json फाइल को आमतौर पर एप / डाइरेक्टरी में रखा जाता है, लेकिन प्लगइन समर्थन की संस्करण 2.0.0-अल्फा 3 के रूप में बिल्ड प्रकार के लिए जोड़ा गया था , जो निम्न निर्देशिका संरचना को वैध बना देगा:

 app/src/ main/google-services.json dogfood/google-services.json mytype1/google-services.json ... 

स्रोत

स्रोत 2

अपने google-services.json पर अपना पैकेज नाम जांचें

उदाहरण

 "client_info": { "mobilesdk_app_id": "1:6596814400689:android:65d6f25f5006145", "android_client_info": { "package_name": "com.my.app.package.name" } 

सुनिश्चित करें कि आपके पैकेज का नाम "google-services.json" फ़ाइल में आपके ऐप्स के पैकेज नाम के साथ समान है।

मुझे समाधान मिल गया है:

हमें फायरबेज प्रोजेक्ट में दो "ऐप" बनाना होगा, और फिर हम किसी एक ऐप से (मैं स्वाद वाले ऐप से डाउनलोड किया गया) json फ़ाइल डाउनलोड कर सकते हैं। इसमें ऐप्स दोनों के लिए डेटा शामिल होगा हम बस json फ़ाइल की ऐप की रूट निर्देशिका में कॉपी कर सकते हैं।

स्रोत: https://firebase.googleblog.com/2016/08/ganizing-your-firebase-enabled-android-app-builds.html

आपको app/ डीआईआर में google-services.json को जगह की आवश्यकता है। और प्रत्येक बिल्ड प्रकार के लिए, app/src फ़ोल्डर में एकता निर्देशक होना चाहिए।

उदाहरण के लिए, यदि आपके पास रिलीज और डीबग है:

 app/google-services.json app/src/debug/google-services.json 

सभी google-services.json फ़ाइलों में आपको सही प्रकार के अनुसार निर्माण करना चाहिए package_name

उदाहरण के लिए, डिबग डीआईआर के अंदर यह {com.myapp}.debug तरह होना चाहिए। {com.myapp}.debug

जांचें कि क्या client_idclient_id और package_name Google-services.json में आपके पैकेज नाम के अनुसार एक सही मान है।

आपको client_id और package_name फ़ील्ड में संबंधित पैकेज नाम के साथ फ्लेवर्स डायरेक्टरी में उल्लिखित फ़ाइल जोड़नी चाहिए।

अपनी Google-services.json फ़ाइल खोलें और इस अनुभाग को फ़ाइल में देखें:

 "client": [ { "client_info": { "mobilesdk_app_id": "1:857242555489:android:46d8562d82407b11", "android_client_info": { "package_name": "com.example.duke_davis.project" } } 

जांचें कि पैकेज आपके पैकेज नाम के समान है या नहीं। मेरा अलग था, इसलिए मैंने इसे बदल दिया और यह काम किया।

सुनिश्चित करें कि आपने अपने पैकेज का नाम बदलने के बाद gradual फ़ाइल में ApplicationId का नाम बदल दिया है

यदि Google- services.json फ़ाइल पर आपका पैकेज नाम ठीक है, तो gradle.properties फ़ाइल पर जाएं। फिर अपना APPLICATION_ID = "com.yourpackage.name" बदलें

अगर उनमें से कोई भी आप में से किसी के लिए काम नहीं करता है, तो मेरी समस्या एक पैकेज नाम के साथ थी जो 'कॉम' से शुरू नहीं हुई थी इसे बदल दिया, अब यह काम करता है

उम्मीद है की वो मदद करदे

Im मूल रूप से प्रतिक्रिया से आ रहा है लेकिन मुझे लगता है कि यह इस प्रश्न पर भी लागू होता है। विस्तृत विवरण देना।

फ़ाइल के भीतर android/app/build.gradle applicationId लिए खोज ( android , defaultConfig भीतर)

और यह सुनिश्चित करें कि वह वही समान है

client[0]client_info.android_client_info.package_name

google-services.json भीतर मूल्य के रूप में

मैंने इसे दो स्रोतों बनाकर हल किया, एक मुफ़्त और एक भुगतान किया। इन दोनों फ़ोल्डरों में आवश्यक जावा कोड और संसाधन फाइलें होंगी, जो कि विशेष स्वाद की आवश्यकताओं के लिए संपादित की जाएंगी। उदाहरण के लिए, आप जावा क्लासेस और लेआउट फाइलों दोनों के भुगतान में AdMob कोड को निकालना चाहते हैं।

मैंने google-services.json फ़ाइल को फिर से समन्वयन करके एक ही समस्या हल की

टूल्स> फायरबेज> फायरबसे से कनेक्ट करें> सिंक करें

अपनी प्रोजेक्ट डायरेक्टरी जाओ और ऐप / एसआरसी पथ पर फ़ोल्डर्स बनाएं जो आपके उत्पाद स्वादों (जैसे अल्फा, बीटा, स्टोर या जो भी आपके स्वाद का नाम है) का नाम दिया गया है। फिर प्रत्येक फ़ोल्डर में अपनी google-services.json फ़ाइल कॉपी करें। अपने प्रत्येक उत्पाद स्वाद की google-services.json फ़ाइल पर "package_name" फ़ील्ड को बदलने के लिए मत भूलें जिसे आपने सबफ़ोल्ड किया था।

मैंने यहां एक ही समस्या का हल निकालना सरल समाधान दिया है: जब आप फ़ायरबेज कनेक्शन बनाते हैं तो इन दिशानिर्देशों का पालन करें:

  • अपने आवेदन का नाम फायरबेज में जोड़ें

  • अपना एप्लिकेशन पैकेज़ नाम जोड़ें (उसी पैकेज़ का नाम लिखें, आप ऐप में उपयोग कर रहे हैं)

  • जब फ़ायरबेज Google-services.json फ़ाइल बनाते हैं तो उसे डाउनलोड करें और अपने ऐप फ़ोल्डर में पेस्ट करें

  • अपनी परियोजना को सिंक करें समस्या हल हो गई है 🙂

    धन्यवाद