शुरू करने के विकल्पों से जुड़ी समस्या हल करना

अगर Firebase विकल्पों के किसी मान्य सेट के बिना अपना ऐप्लिकेशन शुरू किया जाता है, तो आपके ऐप्लिकेशन के नए उपयोगकर्ताओं को गंभीर समस्याएं आ सकती हैं.

Firebase विकल्प, सेवाओं के लिए ज़रूरी पैरामीटर का एक सेट हैं, जो Firebase सर्वर एपीआई के साथ सही तरीके से संपर्क करने और क्लाइंट डेटा को आपके Firebase प्रोजेक्ट और Firebase ऐप्लिकेशन से जोड़ने के लिए ज़रूरी है. Firebase सेवाएं, Firebase शुरू करने के दौरान बनाई गई Firebase की कोर/सामान्य लाइब्रेरी से उपलब्ध मान्य Firebase विकल्पों पर निर्भर करती हैं.

अलग-अलग Firebase सेवाओं के लिए ठीक से काम करने के लिए अलग-अलग Firebase विकल्पों की ज़रूरत होती है, लेकिन सभी Firebase सेवाओं को नीचे दिए गए Firebase विकल्पों की ज़रूरत होती है:

  • एपीआई पासकोड - ध्यान दें: यह FCM सर्वर पासकोड नहीं है. FCM सर्वर पासकोड देखें.
    वैल्यू का उदाहरण: AIzaSyDOCAbC123dEf456GhI789jKl012-MnO
  • प्रोजेक्ट आईडी - वैल्यू का उदाहरण: myapp-project-123.
  • ऐप्लिकेशन आईडी ("AppID") - आपके ऐप्लिकेशन के लिए यूनीक आइडेंटिफ़ायर, जिसका फ़ॉर्मैट प्लैटफ़ॉर्म के हिसाब से होता है:
    • Android के लिए: mobilesdk_app_id—ध्यान दें: यह Android पैकेज का नाम नहीं है.
      वैल्यू का उदाहरण: 1:1234567890:android:321abc456def7890
    • iOS+ के लिए: GOOGLE_APP_ID—ध्यान दें: यह Apple बंडल आईडी नहीं है.
      वैल्यू का उदाहरण: 1:1234567890:ios:321abc456def7890

Android ऐप्लिकेशन से जुड़ी समस्याएं हल करना

सुरक्षा को बेहतर बनाने के लिए, Firebase SDK टूल को 27 फ़रवरी को अपडेट किया गया है. इसके बाद, Firebase इंस्टेंस आईडी सेवा को Firebase इंस्टॉलेशन एपीआई पर निर्भरता से बदल दिया गया है.

Firebase इंस्टॉलेशन, क्लाइंट डेटा को आपके Firebase प्रोजेक्ट से जोड़ने के लिए ज़रूरी Firebase विकल्प एपीआई कुंजी, प्रोजेक्ट आईडी, और ऐप्लिकेशन आईडी की मौजूदगी और वैधता को लागू करता है. ज़्यादा जानकारी के लिए, FirebaseOptions पर जाएं.

Firebase इंस्टेंस आईडी (IID) के साथ Firebase क्लाउड से मैसेज (FCM) करने में मदद करने वाले ऐप्लिकेशन

अगर आपके ऐप्लिकेशन के नए उपयोगकर्ताओं को FCM में समस्याएं आ रही हैं, तो शायद आप Firebase विकल्पों के ज़रूरी सेट के बिना ही Firebase शुरू कर रहे हों.

ऐसा हो सकता है कि आपका ऐप्लिकेशन, अधूरी या गड़बड़ी वाली google-services.json कॉन्फ़िगरेशन फ़ाइल का इस्तेमाल कर रहा हो या आपका ऐप्लिकेशन, Firebase के ज़रूरी विकल्पों के पूरे सेट के बिना Firebase को प्रोग्राम के हिसाब से शुरू कर रहा हो.

इस वजह से, 'Firebase क्लाउड से मैसेज' जैसी Firebase सेवाएं उन असली उपयोगकर्ताओं के लिए ठीक से काम नहीं करेंगी जिन्होंने आपका ऐप्लिकेशन अपडेट किए गए Firebase SDK टूल के साथ रिलीज़ होने के बाद इंस्टॉल किया है. इसके अलावा, Firebase को बार-बार अनुरोध न करने पर, आपके ऐप्लिकेशन के असली उपयोगकर्ता का अनुभव धीमा हो सकता है.

मुझे क्या करना होगा?

अपने ऐप्लिकेशन के लिए, Firebase की ठीक से काम न करने वाली सेवाओं को ठीक करने के लिए:

  1. अपने प्रोजेक्ट की मान्य एपीआई पासकोड, मान्य प्रोजेक्ट आईडी, और मान्य ऐप्लिकेशन आईडी (mobilesdk_app_id या "ऐप्लिकेशन आईडी") से Firebase शुरू करके, अपना ऐप्लिकेशन अपडेट करें.
    • Firebase कॉन्फ़िगरेशन फ़ाइल का इस्तेमाल करके, डिफ़ॉल्ट तौर पर शुरू करने की प्रोसेस: Firebase कंसोल से, अपनी google-services.json कॉन्फ़िगरेशन फ़ाइल डाउनलोड करें. इसके बाद, अपने ऐप्लिकेशन में मौजूदा फ़ाइल को बदलें.
    • FirebaseOptions ऑब्जेक्ट का इस्तेमाल करके प्रोग्राम के हिसाब से शुरुआत करना: एपीआई पासकोड, प्रोजेक्ट आईडी, और ऐप्लिकेशन आईडी ढूंढने के लिए, Firebase कंसोल से google-services.json कॉन्फ़िगरेशन फ़ाइल डाउनलोड करें. इसके बाद, अपने ऐप्लिकेशन में इन वैल्यू को FirebaseOptions ऑब्जेक्ट में अपडेट करें.
  2. Play Store पर अपने ऐप्लिकेशन का नया वर्शन रिलीज़ करें.

Apple के ऐप्लिकेशन से जुड़ी समस्याएं हल करना

सुरक्षा को बेहतर बनाने के लिए, Firebase SDK टूल को 14 जनवरी को अपडेट किया गया था. इसके बाद, Firebase इंस्टेंस आईडी सेवा को Firebase इंस्टॉलेशन एपीआई पर डिपेंडेंसी से बदल दिया गया.

Firebase इंस्टॉलेशन, क्लाइंट डेटा को आपके Firebase प्रोजेक्ट से जोड़ने के लिए ज़रूरी Firebase विकल्प एपीआई कुंजी, प्रोजेक्ट आईडी, और ऐप्लिकेशन आईडी की मौजूदगी और वैधता को लागू करता है. ज़्यादा जानकारी के लिए, FIROptions पर जाएं.

Firebase इंस्टेंस आईडी (IID) के साथ Firebase क्लाउड से मैसेज (FCM) करने में मदद करने वाले ऐप्लिकेशन

अगर आपके ऐप्लिकेशन के नए उपयोगकर्ताओं को FCM में समस्याएं आ रही हैं, तो शायद आप Firebase विकल्पों के ज़रूरी सेट के बिना ही Firebase शुरू कर रहे हों.

ऐसा हो सकता है कि आपका ऐप्लिकेशन, अधूरी या अमान्य GoogleService-Info.plist कॉन्फ़िगरेशन फ़ाइल का इस्तेमाल कर रहा हो या आपका ऐप्लिकेशन, Firebase के ज़रूरी विकल्पों के पूरे सेट के बिना, प्रोग्राम के हिसाब से Firebase को शुरू कर रहा हो.

इस वजह से, 'Firebase क्लाउड से मैसेज' जैसी Firebase सेवाएं उन असली उपयोगकर्ताओं के लिए ठीक से काम नहीं करेंगी जिन्होंने आपका ऐप्लिकेशन अपडेट किए गए Firebase SDK टूल के साथ रिलीज़ होने के बाद इंस्टॉल किया है. इसके अलावा, Firebase को बार-बार अनुरोध न करने पर, आपके ऐप्लिकेशन के असली उपयोगकर्ता का अनुभव धीमा हो सकता है.

मुझे क्या करना होगा?

अपने ऐप्लिकेशन के लिए, Firebase की ठीक से काम न करने वाली सेवाओं को ठीक करने के लिए:

  1. अपने प्रोजेक्ट की मान्य एपीआई पासकोड, मान्य प्रोजेक्ट आईडी, और मान्य ऐप्लिकेशन आईडी (GOOGLE_APP_ID या "ऐप्लिकेशन आईडी") से Firebase शुरू करके, अपना ऐप्लिकेशन अपडेट करें.
    1. Firebase कॉन्फ़िगरेशन फ़ाइल का इस्तेमाल करके, डिफ़ॉल्ट तौर पर शुरू करने की प्रोसेस: Firebase कंसोल से, अपनी GoogleService-Info.plist कॉन्फ़िगरेशन फ़ाइल डाउनलोड करें. इसके बाद, अपने ऐप्लिकेशन में मौजूदा फ़ाइल को बदलें.
    2. FIROptions ऑब्जेक्ट का इस्तेमाल करके प्रोग्राम के हिसाब से शुरुआत करना: एपीआई पासकोड, प्रोजेक्ट आईडी, और ऐप्लिकेशन आईडी ढूंढने के लिए, Firebase कंसोल से GoogleService-Info.plist कॉन्फ़िगरेशन फ़ाइल डाउनलोड करें. इसके बाद, अपने ऐप्लिकेशन के FIROptions ऑब्जेक्ट में इन वैल्यू को अपडेट करें.
  2. App Store पर अपने ऐप्लिकेशन का नया वर्शन रिलीज़ करें.

FCM सर्वर कुंजियां

अगर आपका ऐप्लिकेशन Cloud API कुंजी के बजाय FCM सर्वर कुंजी का इस्तेमाल कर रहा है, तो इससे सुरक्षा से जुड़े जोखिम की आशंका हो सकती है. ऐसा तब होता है, जब FCM के ज़रिए पुश नोटिफ़िकेशन भेजने के लिए एक ही FCM सर्वर कुंजी का इस्तेमाल किया जा रहा हो. इस स्थिति में, हमारा सुझाव है कि आप अपने सर्वर से FCM को अनुरोध भेजने की पुष्टि करने का तरीका बदलें.

ध्यान दें कि FCM की सर्वर कुंजियों (जो Firebase/Cloud API कुंजियों से अलग हैं) को ऐप्लिकेशन में शामिल नहीं करना चाहिए, क्योंकि आपके प्रोजेक्ट के नाम पर पुश नोटिफ़िकेशन भेजने के लिए इनका गलत इस्तेमाल किया जा सकता है.