एक पृष्ठभूमि वाले ऐप को एक परीक्षण संदेश भेजें

FCM के साथ आरंभ करने के लिए बाहर का निर्माण सरल उपयोग के मामले: एक परीक्षण सूचना संदेश भेजने सूचनाएं संगीतकार एक विकास उपकरण के लिए जब एप्लिकेशन को उपकरण पर पृष्ठभूमि में है। इस पृष्ठ में सभी कदम सेटअप से सत्यापन करने के लिए इस लक्ष्य को हासिल करने के लिए, - यह आप पहले से ही पूरी करता है, तो आप है चरणों को कवर कर सकते एक Android ग्राहक ऐप सेट FCM के लिए।

एसडीके सेट करें

इस अनुभाग में उन कार्यों को शामिल किया गया है जिन्हें आपने पूरा किया हो सकता है यदि आपने अपने ऐप के लिए अन्य Firebase सुविधाओं को पहले ही सक्षम कर दिया है।

शुरू करने से पहले

  • स्थापित करने या अपडेट एंड्रॉयड स्टूडियो अपने नवीनतम संस्करण के लिए।

  • सुनिश्चित करें कि आपकी परियोजना इन आवश्यकताओं को पूरा करती है:

    • लक्ष्य एपीआई स्तर 16 (जेली बीन) या उच्चतर
    • Android 4.1 या उच्चतर का उपयोग करता है
    • का उपयोग करता है जेटपैक (AndroidX) है, जो इन संस्करण आवश्यकताओं को पूरा करने में शामिल हैं:
      • com.android.tools.build:gradle v3.2.1 या बाद में
      • compileSdkVersion 28 या बाद में
  • एक भौतिक उपकरण सेट करें या एक का उपयोग एमुलेटर अपने अनुप्रयोग चलाने के लिए।
    ध्यान दें कि Google Play सेवाओं पर निर्भरता के साथ Firebase SDKs Google Play सेवाएं स्थापित करने की डिवाइस या एम्युलेटर आवश्यकता होती है।

  • Firebase में प्रवेश करें अपने Google खाते का उपयोग कर।

आप पहले से ही एक Android परियोजना नहीं है, तो और सिर्फ एक Firebase उत्पाद बाहर की कोशिश करना चाहते हैं, तो आप हमारे में से एक डाउनलोड कर सकते हैं त्वरित प्रारंभ नमूने

एक फायरबेस प्रोजेक्ट बनाएं

अपने Android ऐप्लिकेशन में Firebase जोड़ने से पहले, आपको अपने Android ऐप्लिकेशन से कनेक्ट करने के लिए एक Firebase प्रोजेक्ट बनाना होगा. यात्रा समझे Firebase परियोजनाओं Firebase परियोजनाओं के बारे में अधिक जानने के लिए।

अपने ऐप को Firebase के साथ पंजीकृत करें

अपने Android ऐप्लिकेशन में Firebase का उपयोग करने के लिए, आपको अपने ऐप्लिकेशन को अपने Firebase प्रोजेक्ट के साथ पंजीकृत करना होगा. अपने ऐप को पंजीकृत करने को अक्सर अपने प्रोजेक्ट में अपने ऐप को "जोड़ना" कहा जाता है।

  1. पर जाएं Firebase कंसोल

  2. परियोजना अवलोकन पृष्ठ के केंद्र में, एंड्रॉयड आइकन (क्लिक ) या सेटअप कार्यप्रवाह शुरू करने के लिए ऐप जोड़ें।

  3. Android पैकेज का नाम क्षेत्र में अपने ऐप का पैकेज नाम दर्ज करें।

  4. (वैकल्पिक) अन्य एप्लिकेशन जानकारी दर्ज करें: अनुप्रयोग उपनाम और डीबग पर हस्ताक्षर प्रमाण पत्र SHA-1।

  5. रजिस्टर ऐप्लिकेशन क्लिक करें।

एक फायरबेस कॉन्फ़िगरेशन फ़ाइल जोड़ें

  1. अपने ऐप्लिकेशन में Firebase Android कॉन्फ़िगरेशन फ़ाइल जोड़ें:

    1. अपने Firebase एंड्रॉयड कॉन्फ़िग फ़ाइल प्राप्त करने के लिए डाउनलोड गूगल-services.json क्लिक करें ( google-services.json )।

    2. अपनी कॉन्फ़िगरेशन फ़ाइल को अपने ऐप के मॉड्यूल (ऐप-स्तर) निर्देशिका में ले जाएं।

  2. आपके एप्लिकेशन में Firebase उत्पादों को सक्षम करने के जोड़ने प्लगइन गूगल सेवाओं अपने Gradle फ़ाइलों के लिए।

    1. अपने रूट स्तर (परियोजना स्तरीय) Gradle फ़ाइल (में build.gradle ), Google सेवाओं के Gradle प्लगइन शामिल करने के लिए नियमों को जोड़ें। जांचें कि आपके पास Google का मेवेन भंडार भी है।

      buildscript {
      
        repositories {
          // Check that you have the following line (if not, add it):
          google()  // Google's Maven repository
        }
      
        dependencies {
          // ...
      
          // Add the following line:
          classpath 'com.google.gms:google-services:4.3.10'  // Google Services plugin
        }
      }
      
      allprojects {
        // ...
      
        repositories {
          // Check that you have the following line (if not, add it):
          google()  // Google's Maven repository
          // ...
        }
      }
      
    2. अपने मॉड्यूल (एप्लिकेशन-स्तरीय) Gradle फ़ाइल (आमतौर पर में app/build.gradle ), Google सेवाओं के Gradle प्लगइन लागू होते हैं:

      apply plugin: 'com.android.application'
      // Add the following line:
      apply plugin: 'com.google.gms.google-services'  // Google Services plugin
      
      android {
        // ...
      }
      

अपने ऐप्लिकेशन में Firebase SDK टूल जोड़ें

  1. का उपयोग करते हुए Firebase एंड्रॉयड बीओएम , अपने मॉड्यूल (एप्लिकेशन-स्तरीय) Gradle फ़ाइल (आमतौर पर में Firebase क्लाउड संदेश एंड्रॉयड पुस्तकालय के लिए निर्भरता की घोषणा app/build.gradle )।

    Firebase क्लाउड संदेश के साथ इष्टतम अनुभव के लिए, हम अनुशंसा करते गूगल एनालिटिक्स को सक्षम करने के अपने Firebase परियोजना में और अपने अनुप्रयोग के लिए Google विश्लेषण के लिए Firebase एसडीके जोड़ने।

    जावा

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:28.4.1')
    
        // Declare 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 एंड्रॉयड बीओएम , अपने अनुप्रयोग हमेशा Firebase एंड्रॉयड पुस्तकालयों के संगत संस्करणों का प्रयोग करेंगे।

    (वैकल्पिक) बीओएम का उपयोग किए बिना Firebase पुस्तकालय निर्भरता घोषित

    यदि आप फायरबेस बीओएम का उपयोग नहीं करना चुनते हैं, तो आपको प्रत्येक फायरबेस लाइब्रेरी संस्करण को उसकी निर्भरता रेखा में निर्दिष्ट करना होगा।

    ध्यान दें कि अगर आप अपने एप्लिकेशन में एकाधिक Firebase पुस्तकालयों का उपयोग, हम अत्यधिक पुस्तकालय संस्करणों, जो सुनिश्चित करता है कि सभी संस्करणों के संगत हैं का प्रबंधन करने के बीओएम का उपयोग करें।

    dependencies {
        // Declare 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:22.0.0'
        implementation 'com.google.firebase:firebase-analytics:19.0.1'
    }
    

    कोटलिन + केटीएक्स

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:28.4.1')
    
        // Declare 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-ktx'
        implementation 'com.google.firebase:firebase-analytics-ktx'
    }
    

    का उपयोग करके Firebase एंड्रॉयड बीओएम , अपने अनुप्रयोग हमेशा Firebase एंड्रॉयड पुस्तकालयों के संगत संस्करणों का प्रयोग करेंगे।

    (वैकल्पिक) बीओएम का उपयोग किए बिना Firebase पुस्तकालय निर्भरता घोषित

    यदि आप फायरबेस बीओएम का उपयोग नहीं करना चुनते हैं, तो आपको प्रत्येक फायरबेस लाइब्रेरी संस्करण को उसकी निर्भरता रेखा में निर्दिष्ट करना होगा।

    ध्यान दें कि अगर आप अपने एप्लिकेशन में एकाधिक Firebase पुस्तकालयों का उपयोग, हम अत्यधिक पुस्तकालय संस्करणों, जो सुनिश्चित करता है कि सभी संस्करणों के संगत हैं का प्रबंधन करने के बीओएम का उपयोग करें।

    dependencies {
        // Declare 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-ktx:22.0.0'
        implementation 'com.google.firebase:firebase-analytics-ktx:19.0.1'
    }
    

  2. यह सुनिश्चित करने के लिए अपने ऐप को सिंक करें कि सभी निर्भरताओं के आवश्यक संस्करण हैं।

पंजीकरण टोकन तक पहुंचें

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

आपके ऐप के आरंभिक स्टार्टअप पर, FCM SDK क्लाइंट ऐप इंस्टेंस के लिए एक पंजीकरण टोकन जेनरेट करता है। आप एक डिवाइस को लक्षित या डिवाइस समूह बनाना चाहते हैं, तो आप को आगे बढ़ाकर इस टोकन का उपयोग करने की आवश्यकता होगी FirebaseMessagingService और अधिभावी onNewToken

यह खंड बताता है कि टोकन कैसे प्राप्त करें और टोकन में परिवर्तनों की निगरानी कैसे करें। चूंकि टोकन प्रारंभिक स्टार्टअप के बाद घुमाया जा सकता है, इसलिए आपको नवीनतम अद्यतन पंजीकरण टोकन पुनर्प्राप्त करने की जोरदार अनुशंसा की जाती है।

पंजीकरण टोकन तब बदल सकता है जब:

  • ऐप को एक नए डिवाइस पर पुनर्स्थापित किया गया है
  • उपयोगकर्ता ऐप को अनइंस्टॉल/रीइंस्टॉल करता है
  • उपयोगकर्ता ऐप डेटा साफ़ करता है।

वर्तमान पंजीकरण टोकन प्राप्त करें

जब आप वर्तमान टोकन प्राप्त करने की जरूरत है, फोन FirebaseMessaging.getInstance().getToken() :

जावा

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();
        }
    });

कोटलिन + केटीएक्स

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()
})

टोकन पीढ़ी की निगरानी करें

onNewToken कॉलबैक आग जब भी नया टोकन उत्पन्न होता है।

जावा

/**
 * 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(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);
}

कोटलिन + केटीएक्स

/**
 * 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)
}

टोकन प्राप्त करने के बाद, आप इसे अपने ऐप सर्वर पर भेज सकते हैं और अपनी पसंदीदा विधि का उपयोग करके इसे स्टोर कर सकते हैं।

एक परीक्षण सूचना संदेश भेजें

  1. लक्ष्य डिवाइस पर ऐप इंस्टॉल करें और चलाएं।

  2. सुनिश्चित करें कि ऐप डिवाइस के बैकग्राउंड में है।

  3. खोलें सूचनाएं संगीतकार और नई अधिसूचना का चयन करें।

  4. संदेश पाठ दर्ज करें।

  5. भेजें परीक्षण संदेश का चयन करें।

  6. खाने में एक FCM पंजीकरण टोकन जोड़ें, टोकन आपको इस मार्गदर्शिका के एक पिछले अनुभाग में प्राप्त पंजीकरण दर्ज करें।

  7. टेस्ट के लिए क्लिक करें

आप परीक्षण पर क्लिक करने के बाद, लक्षित ग्राहक डिवाइस (पृष्ठभूमि में अनुप्रयोग के साथ) प्रणाली सूचना ट्रे में सूचना प्राप्त करना चाहिए।

अपने अनुप्रयोग के लिए संदेश वितरण में अंतर्दृष्टि के लिए, देखें FCM रिपोर्टिंग डैशबोर्ड , जो संदेशों की संख्या भेजा है और Android एप्लिकेशन के लिए "इंप्रेशन" (सूचनाओं उपयोगकर्ताओं द्वारा देखा) के लिए iOS और Android डिवाइस पर खोला, डेटा के साथ रिकॉर्ड करता है।

अगला कदम

अग्रभूमि ऐप्स को संदेश भेजें

एक बार जब आप सफलतापूर्वक सूचना संदेश भेज दिया है, जबकि अपने अनुप्रयोग पृष्ठभूमि में है, देखना प्राप्त करें Android एप्लिकेशन में संदेश foregrounded क्षुधा के लिए भेजने से आरंभ करने के लिए।

अधिसूचना संदेशों से परे जाएं

अधिसूचना संदेशों से परे जाने और अपने ऐप में अन्य, अधिक उन्नत व्यवहार जोड़ने के लिए, देखें: