Unity ऐप्लिकेशन में Firebase Cloud Messaging का इस्तेमाल शुरू करना

प्लैटफ़ॉर्म चुनें: iOS+ Android वेब Flutter Unity C++


इस गाइड में, Unity क्लाइंट ऐप्लिकेशन में Firebase Cloud Messaging का इस्तेमाल शुरू करने का तरीका बताया गया है, ताकि आप भरोसेमंद तरीके से मैसेज भेज सकें.

Unity की मदद से, क्रॉस-प्लैटफ़ॉर्म Firebase Cloud Messaging क्लाइंट ऐप्लिकेशन बनाने के लिए, Firebase Cloud Messaging एपीआई का इस्तेमाल करें. Unity SDK, Android और Apple, दोनों के लिए काम करता है. हालांकि, हर प्लैटफ़ॉर्म के लिए कुछ अतिरिक्त सेटअप की ज़रूरत होती है.

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

ज़रूरी शर्तें

  • Unity 2021 LTS या इसके बाद का वर्शन इंस्टॉल करें. ऐसा हो सकता है कि पुराने वर्शन भी काम करें, लेकिन उन पर पूरी तरह से सहायता नहीं मिलेगी.

  • (सिर्फ़ Apple प्लैटफ़ॉर्म के लिए) इन्हें इंस्टॉल करें:

    • Xcode 26.2 या इसके बाद का वर्शन
    • CocoaPods 1.12.0 या इसके बाद का वर्शन
  • पक्का करें कि आपका Unity प्रोजेक्ट इन ज़रूरी शर्तों को पूरा करता हो:

    • iOS के लिए — iOS 15 या इसके बाद के वर्शन को टारगेट करता है
    • tvOS के लिए - tvOS 15 या इसके बाद के वर्शन को टारगेट करता है
    • Android के लिए — एपीआई लेवल 24 (Nougat) या इसके बाद के वर्शन को टारगेट करता है
  • अपने Unity प्रोजेक्ट को चलाने के लिए, कोई डिवाइस सेट अप करें या एम्युलेटर का इस्तेमाल करें.

    • iOS या tvOS के लिए — अपना ऐप्लिकेशन चलाने के लिए, कोई फ़िज़िकल डिवाइस सेट अप करें और ये टास्क पूरे करें:

      • अपने Apple Developer खाते के लिए, Apple Push Notification Authentication Key पाएं.
      • XCode में पुश नोटिफ़िकेशन चालू करने के लिए, App > Capabilities पर जाएं.
    • Android के लिए — एम्युलेटर को Google Play के साथ एम्युलेटर इमेज का इस्तेमाल करना चाहिए.

अगर आपके पास पहले से कोई Unity प्रोजेक्ट नहीं है और आपको सिर्फ़ Firebase का कोई प्रॉडक्ट आज़माना है, तो हमारे क्विकस्टार्ट सैंपल में से कोई एक डाउनलोड करें.

पहला चरण: Firebase प्रोजेक्ट बनाना

अपने Unity प्रोजेक्ट में Firebase जोड़ने से पहले, आपको एक Firebase प्रोजेक्ट बनाना होगा, ताकि उसे Unity प्रोजेक्ट से कनेक्ट किया जा सके. Firebase प्रोजेक्ट के बारे में ज़्यादा जानने के लिए, Firebase प्रोजेक्ट के बारे में जानकारी पर जाएं.

दूसरा चरण: अपने ऐप्लिकेशन को Firebase के साथ रजिस्टर करना

अपने Firebase प्रोजेक्ट से कनेक्ट करने के लिए, एक या उससे ज़्यादा ऐप्लिकेशन या गेम रजिस्टर किए जा सकते हैं.

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

  2. प्रोजेक्ट की खास जानकारी देने वाले पेज के बीच में, Unity आइकॉन () पर क्लिक करें. इससे सेटअप वर्कफ़्लो लॉन्च हो जाएगा.

    अगर आपने अपने Firebase प्रोजेक्ट में पहले से ही कोई ऐप्लिकेशन जोड़ा हुआ है, तो प्लैटफ़ॉर्म के विकल्प देखने के लिए, ऐप्लिकेशन जोड़ें पर क्लिक करें.

  3. अपने Unity प्रोजेक्ट का वह बिल्ड टारगेट चुनें जिसे आपको रजिस्टर करना है. इसके अलावा, दोनों टारगेट को एक साथ रजिस्टर करने का विकल्प भी चुना जा सकता है.

  4. अपने Unity प्रोजेक्ट के प्लैटफ़ॉर्म के हिसाब से आईडी डालें.

    • iOS के लिए — iOS बंडल आईडी फ़ील्ड में, अपने Unity प्रोजेक्ट का iOS आईडी डालें.

    • Android के लिए — Android पैकेज का नाम फ़ील्ड में, अपने Unity प्रोजेक्ट का Android आईडी डालें.
      पैकेज का नाम और ऐप्लिकेशन आईडी, दोनों शब्दों का इस्तेमाल अक्सर एक-दूसरे की जगह पर किया जाता है.

  5. (ज़रूरी नहीं) अपने Unity प्रोजेक्ट के प्लैटफ़ॉर्म के हिसाब से कोई दूसरा नाम डालें.
    ये निकनेम, इंटरनल और सुविधा के लिए इस्तेमाल किए जाने वाले आइडेंटिफ़ायर हैं. ये सिर्फ़ आपको Firebase कंसोल में दिखते हैं.

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

तीसरा चरण: Firebase कॉन्फ़िगरेशन फ़ाइलें जोड़ना

  1. Firebase कंसोल सेटअप वर्कफ़्लो में, अपने प्लैटफ़ॉर्म के हिसाब से Firebase कॉन्फ़िगरेशन फ़ाइलें पाएं.

    • iOS के लिए — GoogleService-Info.plist डाउनलोड करें पर क्लिक करें.

    • Android के लिए — google-services.json डाउनलोड करें पर क्लिक करें.

  2. अपने Unity प्रोजेक्ट की प्रोजेक्ट विंडो खोलें. इसके बाद, अपनी कॉन्फ़िगरेशन फ़ाइल या फ़ाइलों को Assets फ़ोल्डर में ले जाएं.

  3. Firebase कंसोल में वापस जाकर, सेटअप वर्कफ़्लो में, आगे बढ़ें पर क्लिक करें.

चौथा चरण: Firebase Unity SDK टूल जोड़ना

  1. Firebase कंसोल में, Firebase Unity SDK डाउनलोड करें पर क्लिक करें. इसके बाद, SDK टूल को किसी सुविधाजनक जगह पर अनज़िप करें.

    • Firebase Unity SDK को किसी भी समय फिर से डाउनलोड किया जा सकता है.

    • Firebase Unity SDK टूल, किसी खास प्लैटफ़ॉर्म के लिए नहीं है.

  2. अपने खुले हुए Unity प्रोजेक्ट में, Assets > Import Package > Custom Package पर जाएं.

  3. अनज़िप किए गए SDK टूल से, इस्तेमाल किए जा सकने वाले वे Firebase प्रॉडक्ट चुनें जिन्हें आपको अपने ऐप्लिकेशन में इस्तेमाल करना है.

    Firebase Cloud Messaging का बेहतर अनुभव पाने के लिए, हमारा सुझाव है कि आप अपने प्रोजेक्ट में Google Analytics को चालू करें. साथ ही, Analytics को सेट अप करने के लिए, आपको अपने ऐप्लिकेशन में Analytics के लिए Firebase पैकेज जोड़ना होगा.

    Analytics चालू है

    • Google Analytics के लिए Firebase पैकेज जोड़ें: FirebaseAnalytics.unitypackage
    • Firebase Cloud Messaging के लिए पैकेज जोड़ें: FirebaseMessaging.unitypackage

    Analytics चालू नहीं है

    Firebase Cloud Messaging के लिए पैकेज जोड़ें: FirebaseMessaging.unitypackage

  4. Import Unity Package विंडो में, Import पर क्लिक करें.

  5. Firebase कंसोल में वापस जाकर, सेटअप वर्कफ़्लो में, आगे बढ़ें पर क्लिक करें.

पांचवां चरण: Google Play services के वर्शन से जुड़ी ज़रूरी शर्तों की पुष्टि करना

Firebase Unity SDK for Android में मौजूद कुछ प्रॉडक्ट के लिए, Google Play services ज़रूरी है. जानें कि किन प्रॉडक्ट के लिए यह ज़रूरी है. उन प्रॉडक्ट का इस्तेमाल करने से पहले, Google Play services को अप-टू-डेट करना ज़रूरी है.

अपने ऐप्लिकेशन की शुरुआत में, यहां दिया गया using स्टेटमेंट और शुरू करने वाला कोड जोड़ें. SDK टूल में किसी अन्य तरीके को कॉल करने से पहले, Google Play services को ज़रूरी वर्शन पर अपडेट किया जा सकता है. इसके अलावा, यह भी देखा जा सकता है कि का कौनसा वर्शन इस्तेमाल किया जा रहा है.

using Firebase.Extensions;
Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWithOnMainThread(task => {
  var dependencyStatus = task.Result;
  if (dependencyStatus == Firebase.DependencyStatus.Available) {
    // Create and hold a reference to your FirebaseApp,
    // where app is a Firebase.FirebaseApp property of your application class.
       app = Firebase.FirebaseApp.DefaultInstance;

    // Set a flag here to indicate whether Firebase is ready to use by your app.
  } else {
    UnityEngine.Debug.LogError(System.String.Format(
      "Could not resolve all Firebase dependencies: {0}", dependencyStatus));
    // Firebase Unity SDK is not safe to use here.
  }
});

आपका Unity प्रोजेक्ट, Firebase का इस्तेमाल करने के लिए रजिस्टर और कॉन्फ़िगर हो गया है.

Apple प्लैटफ़ॉर्म पर सेटअप करना

Unity और Apple प्लैटफ़ॉर्म के साथ FCM को सेट अप करने के लिए, यहां दिए गए निर्देशों का पालन करें.

APNs की पुष्टि करने वाली कुंजी अपलोड करना

APNs की पुष्टि करने वाली कुंजी को Firebase पर अपलोड करें. अगर आपके पास पहले से कोई APNs ऑथेंटिकेशन कुंजी नहीं है, तो Apple Developer Member Center में जाकर एक कुंजी बनाएं.

  1. Firebase कंसोल में, सेटिंग > सामान्य पर जाएं. इसके बाद, क्लाउड से मैसेज टैब पर क्लिक करें.
  2. iOS ऐप्लिकेशन कॉन्फ़िगरेशन में जाकर, APNs की पुष्टि करने वाली कुंजी में, अपलोड करें पर क्लिक करें. इससे, डेवलपमेंट की पुष्टि करने वाली कुंजी या प्रोडक्शन की पुष्टि करने वाली कुंजी या दोनों को अपलोड किया जा सकता है. कम से कम एक होना ज़रूरी है.
  3. उस जगह पर जाएं जहां आपने अपनी कुंजी सेव की है. इसके बाद, उसे चुनें और खोलें पर क्लिक करें. कुंजी के लिए कुंजी आईडी जोड़ें (यह Apple Developer Member Center में उपलब्ध है) और अपलोड करें पर क्लिक करें.

Apple प्लैटफ़ॉर्म पर पुश नोटिफ़िकेशन की सुविधा चालू करना

  1. Xcode में अपने प्रोजेक्ट पर क्लिक करें. इसके बाद, एडिटर एरिया से सामान्य टैब चुनें.
  2. Linked Frameworks and Libraries तक स्क्रोल करें. इसके बाद, फ़्रेमवर्क जोड़ने के लिए + बटन पर क्लिक करें.
  3. इसके बाद, जो विंडो खुलेगी उसमें स्क्रोल करके UserNotifications.framework पर जाएं. इसके बाद, उस एंट्री पर क्लिक करें और फिर जोड़ें पर क्लिक करें.
  4. Xcode में अपने प्रोजेक्ट पर क्लिक करें. इसके बाद, एडिटर एरिया से Capabilities टैब चुनें.
  5. पुश नोटिफ़िकेशन को चालू करें पर स्विच करें.
  6. स्क्रोल करके Background Modes पर जाएं. इसके बाद, इसे On पर स्विच करें.
  7. Background Modes में जाकर, Remote notifications चेकबॉक्स को चुनें.

Firebase Cloud Messaging को शुरू करें

Firebase इंस्टॉलेशन आईडी का इस्तेमाल करके रजिस्ट्रेशन की सुविधा चालू करना

Firebase इंस्टॉलेशन आईडी (FID) का इस्तेमाल करके, Firebase Cloud Messaging के साथ अपने ऐप्लिकेशन इंस्टेंस को रजिस्टर करने की सुविधा चालू करने के लिए, आपको सबसे पहले Android और Apple, दोनों प्लैटफ़ॉर्म के लिए अपने ऐप्लिकेशन के कॉन्फ़िगरेशन में FID चालू करने होंगे:

Android

अपनी AndroidManifest.xml के <application> एलिमेंट में, यह <meta-data> एलिमेंट जोड़ें:

<meta-data android:name="firebase_messaging_installation_id_enabled"
           android:value="true" />

Swift

FirebaseMessagingInstallationIdEnabled कुंजी को अपने Info.plist में जोड़ें और इसे YES पर सेट करें:

FirebaseMessagingInstallationIdEnabled = YES

FCM इवेंट के लिए रजिस्टर करें

RegistrationReceived या MessageReceived इवेंट के लिए हैंडलर जोड़ते समय, Firebase Cloud Messaging लाइब्रेरी को शुरू किया जाएगा.

शुरू होने पर, Firebase Cloud Messaging क्लाइंट ऐप्लिकेशन इंस्टेंस को रजिस्टर करता है, ताकि Firebase इंस्टॉलेशन आईडी (FID) का इस्तेमाल करके मैसेज मिल सकें. ऐप्लिकेशन को RegistrationReceived इवेंट के साथ एफ़आईडी मिलता है. आपको इसे अपने सर्वर पर कैश मेमोरी में सेव करना चाहिए, ताकि इस डिवाइस को मैसेज के लिए टारगेट किया जा सके.

इसके अलावा, अगर आपको आने वाले मैसेज पाने हैं, तो आपको OnMessageReceived इवेंट के लिए रजिस्टर करना होगा.

सेटअप कुछ ऐसा दिखेगा:

public void Start() {
  Firebase.Messaging.FirebaseMessaging.RegistrationReceived +=
      OnRegistrationReceived;
  Firebase.Messaging.FirebaseMessaging.MessageReceived +=
      OnMessageReceived;
}

public void OnRegistrationReceived(
    object sender,
    Firebase.Messaging.RegistrationReceivedEventArgs e) {
  UnityEngine.Debug.Log("Received Firebase Installation ID: " +
                        e.InstallationId);
  // TODO: Send the Firebase Installation ID (FID) to your app server to target
  // this device for messages.
}

public void OnMessageReceived(
    object sender,
    Firebase.Messaging.MessageReceivedEventArgs e) {
  UnityEngine.Debug.Log("Received a new message from: " + e.Message.From);
}

Firebase इंस्टॉलेशन आईडी मिलने के बाद, उसे अपने ऐप्लिकेशन सर्वर पर भेजें और अपने पसंदीदा तरीके का इस्तेमाल करके उसे सेव करें.

अपने-आप शुरू होने की सुविधा बंद होने पर, मैन्युअल तरीके से रजिस्टर करना

RegisterAsync() का इस्तेमाल करके, रनटाइम के दौरान FCM के साथ मैन्युअल तरीके से भी रजिस्ट्रेशन ट्रिगर किया जा सकता है:

// Manually register with FCM
Firebase.Messaging.FirebaseMessaging.RegisterAsync().ContinueWith(task => {
  if (task.IsCompleted) {
    // Note: The registered Installation ID is delivered to the
    // RegistrationReceived event handler.
    UnityEngine.Debug.Log("Registered with FCM");
  }
});

FCM रजिस्ट्रेशन टोकन को ऐक्सेस करना (अब काम नहीं करता)

अगर आपका ऐप्लिकेशन अब भी ऐसे टोकन एपीआई इस्तेमाल करता है जो अब काम नहीं करते, तो TokenReceived को सुना जा सकता है:

// Deprecated: Use RegistrationReceived instead
public void Start() {
  Firebase.Messaging.FirebaseMessaging.TokenReceived += OnTokenReceived;
}

public void OnTokenReceived(
    object sender,
    Firebase.Messaging.TokenReceivedEventArgs token) {
  UnityEngine.Debug.Log("Received Registration Token: " + token.Token);
}

Android प्लैटफ़ॉर्म पर सेट अप करना

Unity और Android प्लैटफ़ॉर्म पर FCM को सेट अप करने के लिए, यहां दिए गए निर्देशों का पालन करें.

Android एंट्री पॉइंट ऐक्टिविटी को कॉन्फ़िगर करना

Firebase Cloud Messaging में कस्टम एंट्री पॉइंट वाली गतिविधि शामिल होती है. यह डिफ़ॉल्ट UnityPlayerActivity की जगह ले लेती है. अगर कस्टम एंट्री पॉइंट का इस्तेमाल नहीं किया जा रहा है, तो यह बदलाव अपने-आप हो जाता है. इसके लिए, आपको कुछ और करने की ज़रूरत नहीं है.

Android पर Firebase Cloud Messaging Unity प्लगिन के साथ दो अतिरिक्त फ़ाइलें बंडल की गई हैं:

  • Assets/Plugins/Android/libmessaging_unity_player_activity.jar में MessagingUnityPlayerActivity नाम की एक गतिविधि है, जो स्टैंडर्ड UnityPlayerActivity की जगह लेती है.
  • Assets/Plugins/Android/AndroidManifest.xml, ऐप्लिकेशन को MessagingUnityPlayerActivity को ऐप्लिकेशन के एंट्री पॉइंट के तौर पर इस्तेमाल करने का निर्देश देता है.

ये फ़ाइलें इसलिए उपलब्ध कराई गई हैं, क्योंकि डिफ़ॉल्ट UnityPlayerActivity, onStop, onRestart गतिविधि पूरी होने की प्रोसेस के ट्रांज़िशन को मैनेज नहीं करता या onNewIntent को लागू नहीं करता. यह Firebase Cloud Messaging के लिए ज़रूरी है, ताकि आने वाले मैसेज को सही तरीके से मैनेज किया जा सके.

कस्टम एंट्री पॉइंट वाली ऐक्टिविटी कॉन्फ़िगर करना

अगर आपका ऐप्लिकेशन डिफ़ॉल्ट UnityPlayerActivity का इस्तेमाल नहीं करता है, तो आपको दिए गए AndroidManifest.xml को हटाना होगा. साथ ही, यह पक्का करना होगा कि आपकी पसंद के मुताबिक बनाई गई ऐक्टिविटी, Android ऐक्टिविटी पूरी होने की प्रोसेस के सभी ट्रांज़िशन को सही तरीके से हैंडल करे. ऐसा करने का उदाहरण यहां दिया गया है. अगर आपकी कस्टम गतिविधि UnityPlayerActivity को एक्सटेंड करती है, तो आपके पास com.google.firebase.MessagingUnityPlayerActivity को एक्सटेंड करने का विकल्प होता है. यह सभी ज़रूरी तरीकों को लागू करता है.

अगर कस्टम ऐक्टिविटी का इस्तेमाल किया जा रहा है और com.google.firebase.MessagingUnityPlayerActivity को एक्सटेंड नहीं किया जा रहा है, तो आपको अपनी ऐक्टिविटी में ये स्निपेट शामिल करने चाहिए.

/**
 * Workaround for when a message is sent containing both a Data and Notification payload.
 *
 * When the app is in the background, if a message with both a data and notification payload is
 * received the data payload is stored on the Intent passed to onNewIntent. By default, that
 * intent does not get set as the Intent that started the app, so when the app comes back online
 * it doesn't see a new FCM message to respond to. As a workaround, we override onNewIntent so
 * that it sends the intent to the MessageForwardingService which forwards the message to the
 * FirebaseMessagingService which in turn sends the message to the application.
 */
@Override
protected void onNewIntent(Intent intent) {
  Intent message = new Intent(this, MessageForwardingService.class);
  message.setAction(MessageForwardingService.ACTION_REMOTE_INTENT);
  message.putExtras(intent);
  message.setData(intent.getData());
  // For earlier versions of Firebase C++ SDK (< 7.1.0), use `startService`.
  // startService(message);
  MessageForwardingService.enqueueWork(this, message);
}

/**
 * Dispose of the mUnityPlayer when restarting the app.
 *
 * This makes sure that when the app starts up again it does not start with stale data.
 */
@Override
protected void onCreate(Bundle savedInstanceState) {
  if (mUnityPlayer != null) {
    mUnityPlayer.quit();
    mUnityPlayer = null;
  }
  super.onCreate(savedInstanceState);
}

Firebase C++ SDK के नए वर्शन (7.1.0 और इसके बाद के वर्शन) JobIntentService का इस्तेमाल करते हैं. इसके लिए, AndroidManifest.xml फ़ाइल में और बदलाव करने होंगे.

<service android:name="com.google.firebase.messaging.MessageForwardingService"
     android:permission="android.permission.BIND_JOB_SERVICE"
     android:exported="false" >
</service>

Android पर मैसेज की डिलीवरी

जब ऐप्लिकेशन नहीं चल रहा होता है और कोई उपयोगकर्ता किसी सूचना पर टैप करता है, तो डिफ़ॉल्ट रूप से मैसेज को FCM के पहले से मौजूद कॉलबैक के ज़रिए रूट नहीं किया जाता है. इस मामले में, मैसेज पेलोड Intent के ज़रिए मिलते हैं. इसका इस्तेमाल, ऐप्लिकेशन को शुरू करने के लिए किया जाता है.

जब ऐप्लिकेशन बैकग्राउंड में होता है, तब मिलने वाले मैसेज में सूचना फ़ील्ड का कॉन्टेंट होता है. इसका इस्तेमाल, सिस्टम ट्रे की सूचना को भरने के लिए किया जाता है. हालांकि, सूचना के उस कॉन्टेंट की जानकारी FCM को नहीं दी जाएगी. इसका मतलब है कि FirebaseMessage.Notification की वैल्यू शून्य होगी.

सारांश में:

ऐप्लिकेशन की स्थिति सूचना डेटा दोनों
फ़ोरग्राउंड Firebase.Messaging.FirebaseMessaging.MessageReceived Firebase.Messaging.FirebaseMessaging.MessageReceived Firebase.Messaging.FirebaseMessaging.MessageReceived
बैकग्राउंड सिस्टम ट्रे Firebase.Messaging.FirebaseMessaging.MessageReceived सूचना: सिस्टम ट्रे
डेटा: इंटेंट के अतिरिक्त डेटा में.

FCM, आपके ऐप्लिकेशन में डीप लिंक वाले मैसेज भेजने की अनुमति देता है. डीप लिंक वाले मैसेज पाने के लिए, आपको उस गतिविधि में एक नया इंटेंट फ़िल्टर जोड़ना होगा जो आपके ऐप्लिकेशन के लिए डीप लिंक मैनेज करती है. इंटेंट फ़िल्टर को आपके डोमेन के डीप लिंक को कैच करना चाहिए. AndroidManifest.xml में:

<intent-filter>
  <action android:name="android.intent.action.VIEW"/>
  <category android:name="android.intent.category.DEFAULT"/>
  <category android:name="android.intent.category.BROWSABLE"/>
  <data android:host="CHANGE_THIS_DOMAIN.example.com" android:scheme="http"/>
  <data android:host="CHANGE_THIS_DOMAIN.example.com" android:scheme="https"/>
</intent-filter>

इंटेंट फ़िल्टर को ज़्यादा फ़्लेक्सिबल बनाने के लिए, वाइल्डकार्ड भी तय किया जा सकता है. उदाहरण के लिए:

<intent-filter>
  <action android:name="android.intent.action.VIEW"/>
  <category android:name="android.intent.category.DEFAULT"/>
  <category android:name="android.intent.category.BROWSABLE"/>
  <data android:host="*.example.com" android:scheme="http"/>
  <data android:host="*.example.com" android:scheme="https"/>
</intent-filter>

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

अपने-आप शुरू होने की प्रोसेस को रोकना

FCM, डिवाइस टारगेटिंग के लिए रजिस्ट्रेशन टोकन जनरेट करता है. टोकन जनरेट होने पर, लाइब्रेरी आइडेंटिफ़ायर और कॉन्फ़िगरेशन डेटा को Firebase पर अपलोड करती है. अगर आपको टोकन का इस्तेमाल करने से पहले, साफ़ तौर पर ऑप्ट-इन करना है, तो कॉन्फ़िगरेशन के समय टोकन जनरेट होने से रोका जा सकता है. इसके लिए, आपको एफ़सीएम (और Android पर Analytics) को बंद करना होगा. Apple पर, अपने Info.plist (GoogleService-Info.plist नहीं) में या Android पर, अपने AndroidManifest.xml में मेटाडेटा वैल्यू जोड़ी जा सकती है:

Android

<?xml version="1.0" encoding="utf-8"?>
<application>
  <meta-data android:name="firebase_messaging_auto_init_enabled"
             android:value="false" />
  <meta-data android:name="firebase_analytics_collection_enabled"
             android:value="false" />
</application>

Swift

FirebaseMessagingAutoInitEnabled = NO

FCM को फिर से चालू करने के लिए, रनटाइम कॉल किया जा सकता है:

Firebase.Messaging.FirebaseMessaging.RegistrationOnInitEnabled = true;

एक बार सेट होने के बाद, यह वैल्यू ऐप्लिकेशन को रीस्टार्ट करने पर भी बनी रहती है.

अगले चरण

सेटअप पूरा करने के बाद, Unity के लिए FCM का इस्तेमाल करने के लिए, यहां कुछ विकल्प दिए गए हैं: