FCM — यह क्या है, डेवलपमेंट में Firebase Cloud Messaging के सिद्धांत

लेखक: IT Sectr प्रकाशित: 2026-03-19 पढ़ने का समय: 8 मिनट

FCM (Firebase Cloud Messaging) Google द्वारा एक क्रॉस-प्लेटफ़ॉर्म सेवा है जो पुश सूचनाएं वितरित करने और सर्वर और मोबाइल ऐप्लिकेशन के बीच डेटा स्थानांतरित करने के लिए है। यह एकल API के माध्यम से Android, iOS और वेब प्लेटफ़ॉर्म का समर्थन करता है। Firebase दस्तावेज़ीकरण के अनुसार, FCM दुनिया भर में प्रतिदिन 1 अरब से अधिक संदेशों को संसाधित करता है।

मुख्य बिंदु

  • FCM पुश सूचनाएं और डेटा भेजने के लिए Google की एक क्रॉस-प्लेटफ़ॉर्म सेवा है
  • आर्किटेक्चर — क्लाइंट एक रजिस्ट्रेशन टोकन प्राप्त करता है, सर्वर Firebase Connection Server के माध्यम से संदेश भेजता है
  • संदेश प्रकार — notification (स्वचालित प्रदर्शन) और data (ऐप में पूर्ण प्रसंस्करण)
  • डिलीवरी — FCM गारंटीशुदा डिलीवरी के लिए स्थायी कनेक्शन या प्राथमिकता कतारों का उपयोग करता है
  • एकीकरण — Firebase SDK के माध्यम से सेटअप, google-services.json का कॉन्फ़िगरेशन और सर्वर कॉन्फ़िगरेशन

FCM क्या है?

Firebase Cloud Messaging (FCM) Google की एक क्लाउड सेवा है जो मोबाइल उपकरणों पर पुश सूचनाओं और डेटा संदेशों की विश्वसनीय डिलीवरी सुनिश्चित करती है। पहले Google Cloud Messaging (GCM) के रूप में जाना जाने वाला, FCM Firebase इकोसिस्टम में क्रॉस-प्लेटफ़ॉर्म सूचनाओं के लिए प्राथमिक उपकरण बन गया है।

FCM स्वचालित रूप से प्लेटफ़ॉर्म के आधार पर इष्टतम डिलीवरी चैनल चुनता है: Android पर यह अपने स्वयं के FCM कनेक्शन का उपयोग करता है; iOS पर यह APNS (FCM गेटवे के माध्यम से) का उपयोग करता है। डेवलपर को दो अलग-अलग एकीकरण लागू करने की आवश्यकता नहीं है — FCM रूटिंग को संभालता है।

सेवा संदेश भेजने के लिए एक एकीकृत REST API और Admin SDK प्रदान करती है। यह किसी विशिष्ट प्राप्तकर्ता प्लेटफ़ॉर्म से बंधे बिना सर्वर पक्ष से सूचनाएं भेजने की अनुमति देता है।

FCM की प्रमुख क्षमताएं

FCM कई डिलीवरी मोड का समर्थन करता है: किसी विशिष्ट डिवाइस पर एकल संदेश, विषय के अनुसार समूह प्रसारण, और शर्तों के अनुसार खंडित भेजना। शेड्यूल भेजना और सूचना सामग्री का A/B परीक्षण भी उपलब्ध है।

Firebase Cloud Messaging कैसे काम करता है?

FCM आर्किटेक्चर तीन घटकों पर आधारित है: क्लाइंट ऐप्लिकेशन, Firebase Connection Server, और ऐप सर्वर। क्लाइंट स्टार्टअप पर FCM में रजिस्टर होता है और एक अद्वितीय रजिस्ट्रेशन टोकन प्राप्त करता है — एक स्ट्रिंग जो दिए गए ऐप्लिकेशन के लिए डिवाइस की पहचान करती है।

ऐप सर्वर FCM REST API को एक अनुरोध भेजता है, जिसमें प्राप्तकर्ता टोकन या विषय निर्दिष्ट होता है। Firebase Connection Server स्थायी XMPP कनेक्शन या HTTP अनुरोध का उपयोग करके संदेश वितरित करता है। यदि डिवाइस ऑफ़लाइन है, तो संदेश कतारबद्ध हो जाता है और कनेक्शन बहाल होने पर वितरित किया जाता है।

FCM प्राथमिकता कतारों और स्वीकृति तंत्र का उपयोग करके डिलीवरी की गारंटी देता है। Android पर, संदेश कतार में 28 दिनों तक संग्रहीत रहता है; iOS पर, 4 सप्ताह तक (APNS के माध्यम से)। समाप्ति तिथि के बाद, संदेश बिना सूचना के हटा दिया जाता है।

FCM टोकन जीवनचक्र

रजिस्ट्रेशन टोकन कई मामलों में बदल सकता है: ऐप डेटा पुनर्स्थापित करते समय, नए संस्करण में अपडेट करते समय, या कैश साफ़ करते समय। ऐप को टोकन अपडेट को संभालने और सर्वर के साथ सिंक्रनाइज़ करने के लिए FirebaseMessagingService.onNewToken लागू करना होगा।

FCM संदेशों के प्रकार

FCM दो प्रकार के पेलोड का समर्थन करता है: notification और data। प्रत्येक प्रकार यह निर्धारित करता है कि प्राप्तकर्ता डिवाइस पर संदेश कैसे और कब संसाधित होता है।

पैरामीटरNotificationData
स्वचालित प्रदर्शनहाँ, यदि ऐप बैकग्राउंड में हैनहीं, केवल ऐप में
प्रसंस्करणसिस्टम/NOS — बैकग्राउंड में; ऐप — फ़ोरग्राउंड मेंहमेशा ऐप में (onMessageReceived)
अधिकतम आकार4 KB4 KB
कस्टम कुंजियांपूर्वनिर्धारित फ़ील्ड तक सीमितकोई भी कुंजी-मान जोड़े
CollapseKey आवश्यकवैकल्पिकसमूहीकरण के लिए वैकल्पिक

व्यवहार में, यह अनुशंसित है कि जब ऐप को onMessageReceived में पूर्ण सूचना प्रसंस्करण की आवश्यकता हो तो data संदेशों का उपयोग करें। Notification संदेश सरल परिदृश्यों के लिए उपयुक्त हैं जहां सिस्टम प्रदर्शन पर्याप्त है।

FCM और APNS: दृष्टिकोणों की तुलना

FCM और APNS दो मुख्य पुश डिलीवरी सेवाएं हैं। FCM एक क्रॉस-प्लेटफ़ॉर्म गेटवे के रूप में काम करता है, जबकि APNS केवल Apple इकोसिस्टम के लिए है। उनके मुख्य अंतर आर्किटेक्चर, प्रमाणपत्र आवश्यकताओं और रूटिंग तंत्र में हैं।

  • क्रॉस-प्लेटफ़ॉर्म — FCM Android, iOS, Web का समर्थन करता है; APNS केवल iOS, macOS, watchOS, tvOS
  • प्रमाणीकरण — FCM Server Key या OAuth 2.0 का उपयोग करता है; APNS प्रमाणपत्र या Token-based (p8 कुंजी) का उपयोग करता है
  • संदेश प्राथमिकता — FCM में normal/high है; APNS में immediate/power-efficient consideration है
  • विषय — FCM बॉक्स से बाहर विषयों की सदस्यता का समर्थन करता है; APNS को सर्वर लॉजिक की आवश्यकता है

FCM और सीधे APNS के बीच चुनाव प्रोजेक्ट आर्किटेक्चर पर निर्भर करता है। क्रॉस-प्लेटफ़ॉर्म ऐप्लिकेशन के लिए, FCM सबसे अच्छा विकल्प है। केवल iOS प्रोजेक्ट के लिए, HTTP/2 API के माध्यम से APNS के साथ सीधा काम स्वीकार्य है।

सीधे APNS के बजाय FCM को कब चुनें

FCM उचित है जब प्रोजेक्ट एक साथ Android और iOS दोनों का उपयोग करता है, साथ ही जब Firebase analytics, सूचनाओं का A/B परीक्षण, या सर्वर लॉजिक के बिना विषयों की आवश्यकता होती है। सीधा APNS न्यूनतम निर्भरता और सख्त डिलीवरी विलंबता आवश्यकताओं वाले केवल iOS ऐप्लिकेशन के लिए बेहतर है।

Android में FCM एकीकरण

FCM को Android ऐप्लिकेशन से जोड़ने के लिए, आपको Firebase SDK जोड़ना होगा और प्रोजेक्ट रूट में google-services.json कॉन्फ़िगर करना होगा। टोकन रजिस्ट्रेशन के बाद, ऐप्लिकेशन FirebaseMessagingService के माध्यम से संदेश प्राप्त करने के लिए तैयार है।

kotlin
// build.gradle (Module)
dependencies {
    implementation("com.google.firebase:firebase-messaging:24.1.0")
}

// AndroidManifest.xml
<service android:name=".MyFirebaseMessagingService"
    android:exported="false">
    <intent-filter>
        <action android:name="com.google.firebase.MESSAGING_EVENT"/>
    </intent-filter>
</service>

class MyFirebaseMessagingService :
    FirebaseMessagingService() {

    override fun onNewToken(token: String) {
        sendTokenToServer(token)
    }

    override fun onMessageReceived(message: RemoteMessage) {
        message.notification?.let {
            showNotification(it.title, it.body)
        }
    }
}

सेटअप के बाद, ऐप्लिकेशन पहले लॉन्च पर स्वचालित रूप से एक FCM टोकन प्राप्त करता है। इस डिवाइस पर बाद में सूचना वितरण के लिए टोकन को ऐप सर्वर पर भेजा जाना चाहिए।

FCM सूचनाओं के लिए चैनल सेट करना

Android 8+ पर, स्वचालित प्रदर्शन के साथ FCM सूचना भेजने से पहले, एक NotificationChannel बनाना होगा। FCM notification संदेश डिफ़ॉल्ट चैनल ID का उपयोग करते हैं, लेकिन पहला संदेश प्राप्त करते समय FirebaseMessagingService के माध्यम से एक कस्टम चैनल बनाने की अनुशंसा की जाती है। Data संदेशों को चैनल की आवश्यकता नहीं है — ऐप स्वयं तय करता है कि सूचना कैसे और कब दिखानी है।

iOS में FCM एकीकरण

iOS पर, FCM ऐप सर्वर और APNS के बीच एक मध्यस्थ के रूप में कार्य करता है। Firebase सर्वर से संदेश प्राप्त करता है, इसे APNS प्रारूप में लपेटता है, और Apple गेटवे के माध्यम से भेजता है। डेवलपर को Firebase कंसोल में APNS कुंजी या प्रमाणपत्र कॉन्फ़िगर करने की आवश्यकता है।

swift
import FirebaseMessaging
import UserNotifications

class AppDelegate: UIResponder, UIApplicationDelegate {

    func application(
        _ application: UIApplication,
        didFinishLaunchingWithOptions options: [UIApplication.LaunchOptionsKey: Any]?
    ) -> Bool {
        FirebaseApp.configure()
        UNUserNotificationCenter.current().delegate = self

        Messaging.messaging().delegate = self
        return true
    }
}

extension AppDelegate: MessagingDelegate {
    func messaging(
        _ messaging: Messaging,
        didReceiveRegistrationToken fcmToken: String?
    ) {
        UserDefaults.standard.set(fcmToken, forKey: "fcm_token")
    }
}

iOS पर, APNS रजिस्ट्रेशन एसिंक्रोनस रूप से होता है। FCM SDK स्वचालित रूप से APNS टोकन प्राप्त करता है और इसे Firebase सर्वर को भेजता है। didReceiveRegistrationToken नया FCM टोकन प्राप्त होने पर सक्रिय होता है, जो APNS टोकन को प्रोजेक्ट पहचानकर्ता के साथ जोड़ता है।

डिलीवरी स्थिति की जांच

FCM डिलीवरी की निगरानी के लिए Firebase कंसोल प्रदान करता है: भेजी गई, प्राप्त और प्रदर्शित सूचनाओं की संख्या। सर्वर पक्ष पर डिलीवरी त्रुटियों को ट्रैक करने के लिए Firebase Cloud Functions के माध्यम से एक स्थिति कॉलबैक भी उपलब्ध है। प्रमुख मीट्रिक: सूचनाओं के इंप्रेशन और खोलना।

FCM सर्वोत्तम अभ्यास

FCM के साथ काम करते समय, प्रत्येक परिदृश्य के लिए सही संदेश प्रकार चुनना महत्वपूर्ण है। स्वचालित प्रदर्शन वाली सरल सूचनाओं के लिए, notification संदेशों का उपयोग करें। ऐसे मामलों में जहां ऐप को प्रदर्शित करने से पहले डेटा संसाधित करने की आवश्यकता है, data संदेशों का उपयोग करें। मिश्रित प्रकार (notification + data) केवल तभी अनुशंसित है जब डेटा analytics के लिए आवश्यक हो न कि सूचना सामग्री बदलने के लिए।

टोकन केंद्रीय रूप से प्रबंधित करें। वर्तमान टोकन को उपयोगकर्ता और प्लेटफ़ॉर्म से जुड़ी तालिका में सर्वर पर संग्रहीत करें। एक पुराने टोकन सफाई तंत्र लागू करें: NotRegistered या InvalidRegistration त्रुटि मिलने पर, टोकन को डेटाबेस से हटा दें। टोकन शायद ही कभी बदलते हैं, लेकिन उनकी सफाई FCM समर्थन का एक अनिवार्य तत्व है।

संदेशों को समूहीकृत करने के लिए कोलैप्स कुंजियों (collapseKey) का उपयोग करें। यदि आप एक ही प्रकार की कई सूचनाएं भेज रहे हैं (जैसे, "मुद्रा दर अपडेट"), तो समान collapseKey सेट करें। FCM समूह से केवल अंतिम संदेश वितरित करेगा, जिससे डिवाइस लोड कम होगा और उपयोगकर्ता को सूचनाओं के ढेर से बचाया जा सकेगा।

Firebase Console और Cloud Functions के माध्यम से डिलीवरी की निगरानी करें। FCM analytics भेजी गई, प्राप्त और प्रदर्शित सूचनाओं की संख्या दिखाता है। यदि प्रदर्शन दर 70% से कम है, तो Android पर चैनल सेटिंग्स और iOS पर अनुमति सेटिंग्स जांचें। कम डिलीवरी अक्सर अक्षम चैनलों या सूचना प्रतिबंधों से संबंधित होती है। पांचवां: सूचना पाठ और भेजने के समय को अनुकूलित करने के लिए Firebase A/B परीक्षण का उपयोग करें — यह Firebase डेटा के अनुसार खोलने की दर को 15–25% तक बढ़ाता है।

अक्सर पूछे जाने वाले प्रश्न

FCM और GCM में क्या अंतर है?

FCM, GCM (Google Cloud Messaging) का विकासवादी अपडेट है। FCM Firebase Console के माध्यम से सरलीकृत सेटअप, अंतर्निहित analytics, विषय और Web Push समर्थन प्रदान करता है। GCM को अप्रैल 2019 में आधिकारिक रूप से बंद कर दिया गया था, और सभी प्रोजेक्ट को FCM में माइग्रेट किया जाना चाहिए।

FCM के माध्यम से मुफ्त में कितने संदेश भेजे जा सकते हैं?

Firebase Cloud Messaging एक मुफ्त सेवा है जिसमें संदेशों की संख्या पर कोई सीमा नहीं है। भुगतान केवल अन्य Firebase सेवाओं जैसे Cloud Functions या Firestore के उपयोग के लिए लिया जाता है। बुनियादी सूचना वितरण के लिए FCM को Spark या Blaze सदस्यता की आवश्यकता नहीं है।

FCM टोकन क्यों बदल सकता है?

FCM टोकन तब बदलता है जब: ऐप को बैकअप से पुनर्स्थापित करना, ऐप डेटा साफ़ करना, पुनः इंस्टॉल करना, बदले हुए Sender ID के साथ नए संस्करण में अपडेट करना। नया टोकन सर्वर को भेजने के लिए हमेशा FirebaseMessagingService में onNewToken को संभालें।

क्या FCM चीन में काम करता है?

Google FCM चीन में अवरुद्ध है। चीन में सूचना वितरण के लिए वैकल्पिक सेवाओं का उपयोग किया जाता है: Huawei Push Kit, MiPush (Xiaomi), Oppo Push, Vivo Push। क्रॉस-प्लेटफ़ॉर्म वितरण के लिए, Getui जैसी बहु-प्रदाता सेवाओं का उपयोग किया जाता है।

कैसे जांचें कि FCM सही ढंग से कॉन्फ़िगर किया गया है?

अंतर्निहित Firebase कंसोल का उपयोग करें: "Cloud Messaging" — "Send Test Message" चुनें। एक परीक्षण टोकन दर्ज करें और एक notification संदेश भेजें। सूचना डिवाइस पर दिखाई देनी चाहिए। आप FirebaseMessagingService.onMessageReceived लॉग भी देख सकते हैं।

सारांश

  • FCM पुश सूचनाएं और डेटा वितरित करने के लिए Google की एक क्रॉस-प्लेटफ़ॉर्म क्लाउड सेवा है
  • टोकन एक अद्वितीय डिवाइस पहचानकर्ता है जिसका उपयोग लक्षित संदेश वितरण के लिए किया जाता है
  • Notification एक संदेश प्रकार है जो बैकग्राउंड मोड में सिस्टम द्वारा स्वचालित रूप से प्रदर्शित होता है
  • Data एक संदेश प्रकार है जिसमें पूर्ण पेलोड केवल ऐप के भीतर संसाधित होता है
  • विषय सर्वर पर टोकन संग्रहीत किए बिना विषयों की सदस्यता पर आधारित समूह प्रसारण तंत्र है
  • APNS गेटवे — iOS के लिए, FCM एक मध्यस्थ के रूप में कार्य करता है, APNS के माध्यम से संदेश अग्रेषित करता है
  • मुफ्त — FCM भेजे गए संदेशों की संख्या के लिए शुल्क नहीं लेता है

हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे

IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।

परियोजना पर चर्चा करें

यह भी पढ़ें