FCM का इस्तेमाल शुरू करने के लिए, सबसे आसान यूज़ केस बनाएं: सूचना कंपोज़र से डेवलपमेंट डिवाइस पर सूचना का टेस्ट मैसेज भेजें. ऐसा तब करें, जब ऐप्लिकेशन डिवाइस पर बैकग्राउंड में चल रहा हो. इस पेज पर, सेटअप से लेकर पुष्टि तक, इस सुविधा को पाने के लिए सभी चरणों की सूची दी गई है. अगर आपने FCM के लिए Android क्लाइंट ऐप्लिकेशन सेट अप किया है, तो हो सकता है कि इसमें वे चरण भी शामिल हों जिन्हें आपने पहले ही पूरा कर लिया है.
एसडीके टूल सेट अप करना
इस सेक्शन में उन टास्क के बारे में बताया गया है जिन्हें आपने शायद पहले ही पूरा कर लिया हो. ऐसा तब होता है, जब आपने अपने ऐप्लिकेशन के लिए Firebase की अन्य सुविधाएं पहले ही चालू कर ली हों.
शुरू करने से पहले
Android Studio को इंस्टॉल करें या उसे नए वर्शन में अपडेट करें.
पक्का करें कि आपका प्रोजेक्ट इन ज़रूरी शर्तों को पूरा करता हो. ध्यान दें कि कुछ प्रॉडक्ट के लिए, ये ज़रूरी शर्तें ज़्यादा सख्त हो सकती हैं:
- एपीआई लेवल 21 (Lollipop) या उसके बाद के वर्शन को टारगेट करता हो
- Android 5.0 या इसके बाद वाले वर्शन का इस्तेमाल करता हो
- Jetpack (AndroidX) का इस्तेमाल करता हो. इसमें वर्शन से जुड़ी ये ज़रूरी शर्तें शामिल हैं:
com.android.tools.build:gradle
v7.3.0 या उसके बाद के वर्शनcompileSdkVersion
28 या उसके बाद
अपने ऐप्लिकेशन को चलाने के लिए, किसी फ़िज़िकल डिवाइस को सेट अप करें या एम्युलेटर का इस्तेमाल करें.
ध्यान दें कि Google Play services पर निर्भर रहने वाले Firebase SDK टूल के लिए, डिवाइस या एम्युलेटर पर Google Play services इंस्टॉल होना ज़रूरी है.अपने Google खाते का इस्तेमाल करके, Firebase में साइन इन करें.
अगर आपके पास पहले से कोई Android प्रोजेक्ट नहीं है और आपको सिर्फ़ Firebase प्रॉडक्ट आज़माना है, तो हमारे क्विकस्टार्ट सैंपल में से कोई एक डाउनलोड करें.
Firebase प्रोजेक्ट बनाना
अपने Android ऐप्लिकेशन में Firebase जोड़ने से पहले, आपको एक Firebase प्रोजेक्ट बनाना होगा, ताकि उसे अपने Android ऐप्लिकेशन से कनेक्ट किया जा सके. Firebase प्रोजेक्ट के बारे में ज़्यादा जानने के लिए, Firebase प्रोजेक्ट के बारे में जानकारी पर जाएं.
अपने ऐप्लिकेशन को Firebase के साथ रजिस्टर करना
अपने Android ऐप्लिकेशन में Firebase का इस्तेमाल करने के लिए, आपको अपने ऐप्लिकेशन को Firebase प्रोजेक्ट में रजिस्टर करना होगा. ऐप्लिकेशन रजिस्टर करने को अक्सर, अपने प्रोजेक्ट में ऐप्लिकेशन "जोड़ना" कहा जाता है.
Firebase कंसोल पर जाएं.
सेटअप वर्कफ़्लो लॉन्च करने के लिए, प्रोजेक्ट की खास जानकारी वाले पेज के बीच में मौजूद Android आइकॉन (
) या ऐप्लिकेशन जोड़ें पर क्लिक करें.Android पैकेज का नाम फ़ील्ड में, अपने ऐप्लिकेशन के पैकेज का नाम डालें.
(ज़रूरी नहीं) ऐप्लिकेशन की अन्य जानकारी डालें: ऐप्लिकेशन का निकनेम और डीबग साइनिंग सर्टिफ़िकेट SHA-1.
ऐप्लिकेशन रजिस्टर करें पर क्लिक करें.
Firebase कॉन्फ़िगरेशन फ़ाइल जोड़ना
अपने ऐप्लिकेशन की Firebase कॉन्फ़िगरेशन फ़ाइल (
) डाउनलोड करें और फिर उसे अपने कोडबेस में जोड़ें:google-services.json अपने ऐप्लिकेशन की Firebase कॉन्फ़िगरेशन फ़ाइल पाने के लिए, google-services.json डाउनलोड करें पर क्लिक करें.
अपनी कॉन्फ़िगरेशन फ़ाइल को अपने ऐप्लिकेशन की मॉड्यूल (ऐप्लिकेशन-लेवल) रूट डायरेक्ट्री में ले जाएं.
कॉन्फ़िगरेशन फ़ाइल में मौजूद वैल्यू को Firebase SDK टूल के लिए ऐक्सेस करने लायक बनाने के लिए, आपको Google services Gradle प्लगिन (google-services.json google-services
) की ज़रूरत होगी.अपनी रूट-लेवल (प्रोजेक्ट-लेवल) Gradle फ़ाइल (
<project>/build.gradle.kts
या<project>/build.gradle
) में, Google services plugin को डिपेंडेंसी के तौर पर जोड़ें:Kotlin
plugins { id("com.android.application") version "7.3.0" apply false // ... // Add the dependency for the Google services Gradle plugin id("com.google.gms.google-services") version "4.4.3" apply false }
Groovy
plugins { id 'com.android.application' version '7.3.0' apply false // ... // Add the dependency for the Google services Gradle plugin id 'com.google.gms.google-services' version '4.4.3' apply false }
अपनी मॉड्यूल (ऐप्लिकेशन-लेवल) Gradle फ़ाइल में (आम तौर पर
<project>/<app-module>/build.gradle.kts
या<project>/<app-module>/build.gradle
), Google services plugin जोड़ें:Kotlin
plugins { id("com.android.application") // Add the Google services Gradle plugin id("com.google.gms.google-services") // ... }
Groovy
plugins { id 'com.android.application' // Add the Google services Gradle plugin id 'com.google.gms.google-services' // ... }
अपने ऐप्लिकेशन में Firebase SDK टूल जोड़ना
अपनी मॉड्यूल (ऐप्लिकेशन-लेवल) की Gradle फ़ाइल (आम तौर पर
<project>/<app-module>/build.gradle.kts
या<project>/<app-module>/build.gradle
) में, Android के लिए Firebase Cloud Messaging लाइब्रेरी की डिपेंडेंसी जोड़ें. हमारा सुझाव है कि लाइब्रेरी के वर्शन को कंट्रोल करने के लिए, Firebase Android BoM का इस्तेमाल करें.Firebase Cloud Messaging का बेहतर तरीके से इस्तेमाल करने के लिए, हमारा सुझाव है कि आप अपने Firebase प्रोजेक्ट में Google Analytics चालू करें. साथ ही, अपने ऐप्लिकेशन में Google Analytics के लिए Firebase SDK टूल जोड़ें.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:34.0.0")) // Add the dependencies for the Firebase Cloud Messaging and Analytics libraries // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-messaging") implementation("com.google.firebase:firebase-analytics") }
Firebase Android BoM का इस्तेमाल करने पर, आपका ऐप्लिकेशन हमेशा Firebase Android लाइब्रेरी के साथ काम करने वाले वर्शन का इस्तेमाल करेगा.
(वैकल्पिक) BoM का इस्तेमाल किए बिना, Firebase लाइब्रेरी की डिपेंडेंसी जोड़ें
अगर आपको Firebase BoM का इस्तेमाल नहीं करना है, तो आपको डिपेंडेंसी लाइन में Firebase की हर लाइब्रेरी के वर्शन की जानकारी देनी होगी.
ध्यान दें कि अगर आपके ऐप्लिकेशन में Firebase की एक से ज़्यादा लाइब्रेरी का इस्तेमाल किया जाता है, तो हमारा सुझाव है कि लाइब्रेरी के वर्शन मैनेज करने के लिए BoM का इस्तेमाल करें. इससे यह पक्का किया जा सकता है कि सभी वर्शन एक-दूसरे के साथ काम करते हों.
dependencies { // Add the dependencies for the Firebase Cloud Messaging and Analytics libraries // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-messaging:25.0.0") implementation("com.google.firebase:firebase-analytics:23.0.0") }
अपने Android प्रोजेक्ट को Gradle फ़ाइलों के साथ सिंक करें.
रजिस्ट्रेशन टोकन ऐक्सेस करना
किसी डिवाइस पर मैसेज भेजने के लिए, आपको उस डिवाइस का रजिस्ट्रेशन टोकन पता होना चाहिए. इस ट्यूटोरियल को पूरा करने के लिए, आपको सूचनाओं वाली कंसोल में मौजूद फ़ील्ड में टोकन डालना होगा. इसलिए, टोकन पाने के बाद, उसे कॉपी करना न भूलें या उसे सुरक्षित तरीके से सेव करें.
आपके ऐप्लिकेशन के पहली बार शुरू होने पर, FCM SDK, क्लाइंट ऐप्लिकेशन इंस्टेंस के लिए रजिस्ट्रेशन टोकन जनरेट करता है. अगर आपको किसी एक डिवाइस को टारगेट करना है या डिवाइस ग्रुप बनाने हैं, तो आपको इस टोकन को ऐक्सेस करना होगा. इसके लिए,
FirebaseMessagingService
को बढ़ाएं और onNewToken
को बदलें.
इस सेक्शन में, टोकन वापस पाने और टोकन में हुए बदलावों पर नज़र रखने का तरीका बताया गया है. शुरुआत में टोकन रोटेट हो सकता है. इसलिए, हमारा सुझाव है कि आप रजिस्ट्रेशन का नया अपडेट किया गया टोकन पाएं.
रजिस्ट्रेशन टोकन में इन वजहों से बदलाव हो सकता है:
- ऐप्लिकेशन को किसी नए डिवाइस पर वापस लाया गया हो
- उपयोगकर्ता ऐप्लिकेशन को अनइंस्टॉल/फिर से इंस्टॉल करता है
- जब उपयोगकर्ता, ऐप्लिकेशन का डेटा मिटाता है.
मौजूदा रजिस्ट्रेशन टोकन वापस पाना
जब आपको मौजूदा टोकन वापस पाना हो, तब
FirebaseMessaging.getInstance().getToken()
को कॉल करें:
Kotlin
FirebaseMessaging.getInstance().token.addOnCompleteListener(OnCompleteListener { task -> if (!task.isSuccessful) { Log.w(TAG, "Fetching FCM registration token failed", task.exception) return@OnCompleteListener } // Get new FCM registration token val token = task.result // Log and toast val msg = getString(R.string.msg_token_fmt, token) Log.d(TAG, msg) Toast.makeText(baseContext, msg, Toast.LENGTH_SHORT).show() })
Java
FirebaseMessaging.getInstance().getToken() .addOnCompleteListener(new OnCompleteListener<String>() { @Override public void onComplete(@NonNull Task<String> task) { if (!task.isSuccessful()) { Log.w(TAG, "Fetching FCM registration token failed", task.getException()); return; } // Get new FCM registration token String token = task.getResult(); // Log and toast String msg = getString(R.string.msg_token_fmt, token); Log.d(TAG, msg); Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show(); } });
टोकन जनरेट करने की प्रोसेस को मॉनिटर करना
जब भी कोई नया टोकन जनरेट होता है, तब onNewToken
कॉलबैक ट्रिगर होता है.
Kotlin
/** * Called if the FCM registration token is updated. This may occur if the security of * the previous token had been compromised. Note that this is called when the * FCM registration token is initially generated so this is where you would retrieve the token. */ override fun onNewToken(token: String) { Log.d(TAG, "Refreshed token: $token") // If you want to send messages to this application instance or // manage this apps subscriptions on the server side, send the // FCM registration token to your app server. sendRegistrationToServer(token) }
Java
/** * There are two scenarios when onNewToken is called: * 1) When a new token is generated on initial app startup * 2) Whenever an existing token is changed * Under #2, there are three scenarios when the existing token is changed: * A) App is restored to a new device * B) User uninstalls/reinstalls the app * C) User clears app data */ @Override public void onNewToken(@NonNull String token) { Log.d(TAG, "Refreshed token: " + token); // If you want to send messages to this application instance or // manage this apps subscriptions on the server side, send the // FCM registration token to your app server. sendRegistrationToServer(token); }
टोकन मिलने के बाद, उसे अपने ऐप्लिकेशन सर्वर पर भेजा जा सकता है. साथ ही, अपनी पसंद के तरीके से उसे सेव किया जा सकता है.
टेस्ट के तौर पर सूचना वाला मैसेज भेजना
टारगेट डिवाइस पर ऐप्लिकेशन इंस्टॉल करें और उसे चलाएं. Apple डिवाइसों पर, आपको रिमोट सूचनाएं पाने की अनुमति देने का अनुरोध स्वीकार करना होगा.
पक्का करें कि डिवाइस पर ऐप्लिकेशन बैकग्राउंड में चल रहा हो.
Firebase कंसोल में, मैसेजिंग पेज खोलें.
अगर यह आपका पहला मैसेज है, तो अपना पहला कैंपेन बनाएं को चुनें.
- Firebase सूचना वाले मैसेज चुनें. इसके बाद, बनाएं चुनें.
इसके अलावा, कैंपेन टैब पर जाकर, नया कैंपेन और फिर सूचनाएं चुनें.
मैसेज का टेक्स्ट डालें. अन्य सभी फ़ील्ड में जानकारी देना ज़रूरी नहीं है.
दाएं पैनल में मौजूद, टेस्ट मैसेज भेजें को चुनें.
FCM रजिस्ट्रेशन टोकन जोड़ें लेबल वाले फ़ील्ड में, वह रजिस्ट्रेशन टोकन डालें जो आपको इस गाइड के पिछले सेक्शन में मिला था.
जांचें को चुनें.
जांच करें को चुनने के बाद, टारगेट किए गए क्लाइंट डिवाइस (बैकग्राउंड में ऐप्लिकेशन के साथ) को सूचना मिलनी चाहिए.
अपने ऐप्लिकेशन पर मैसेज डिलीवर होने की जानकारी पाने के लिए, FCM रिपोर्टिंग डैशबोर्ड देखें. यह डैशबोर्ड, Apple और Android डिवाइसों पर भेजे गए और खोले गए मैसेज की संख्या रिकॉर्ड करता है. साथ ही, Android ऐप्लिकेशन के लिए "इंप्रेशन" (उपयोगकर्ताओं को दिखने वाली सूचनाएं) का डेटा भी रिकॉर्ड करता है.
अगले चरण
फ़ोरग्राउंड किए गए ऐप्लिकेशन को मैसेज भेजना
जब आपका ऐप्लिकेशन बैकग्राउंड में हो, तब सूचना वाले मैसेज भेजने के बाद, फ़ोरग्राउंड में मौजूद ऐप्लिकेशन को मैसेज भेजने के लिए, Android ऐप्लिकेशन में मैसेज पाना लेख पढ़ें.
सूचना वाले मैसेज से आगे बढ़ें
सूचना वाले मैसेज से आगे बढ़कर, अपने ऐप्लिकेशन में अन्य बेहतर सुविधाएं जोड़ने के लिए, यह लेख पढ़ें: