Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

फायरबेस इंस्टॉलेशन प्रबंधित करें

फायरबेस इंस्टॉलेशन सर्विस (एफआईएस) एक फायरबेस ऐप के प्रत्येक इंस्टॉल इंस्टेंस के लिए एक फायरबेस इंस्टॉलेशन आईडी (एफआईडी) प्रदान करती है। फ़ायरबेस इंस्टॉलेशन आईडी का उपयोग इन-ऐप मैसेजिंग या रिमोट कॉन्फिगर जैसी फायरबेस सेवाओं द्वारा आंतरिक रूप से किया जाता है, बिना डेवलपर्स को सीधे एफआईएस एपीआई के साथ बातचीत करने की आवश्यकता होती है। हालांकि, ऐसे मामले हैं जहां ऐप डेवलपर सीधे FIS API को कॉल करना चाहते हैं, जैसे:

  • एक फायरबेस इंस्टॉलेशन और इंस्टॉलेशन से जुड़े डेटा को हटाने के लिए।
  • विशिष्ट ऐप इंस्टॉलेशन को लक्षित करने के लिए आइडेंटिफ़ायर (फ़ायरबेस इंस्टॉलेशन आईडी) को पुनः प्राप्त करने के लिए।
  • फायरबेस इंस्टॉलेशन को प्रमाणित करने के लिए इंस्टॉलेशन ऑथ टोकन को पुनः प्राप्त करने के लिए।

सीधे FIS API को कॉल करना शुरू करने के लिए, अपने ऐप में SDK जोड़ें।

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

आईओएस

  1. : अपने Podfile को Firebase प्रतिष्ठानों के लिए निर्भरता जोड़ें
    pod 'Firebase/Installations'
  2. भागो pod install और बनाया खोलने .xcworkspace फ़ाइल।
  3. अपने में Firebase मॉड्यूल आयात UIApplicationDelegate :

    तीव्र

    import Firebase

    उद्देश्य सी

    @import Firebase;
  4. कॉन्फ़िगर एक FirebaseApp , उदाहरण के साझा आम तौर पर यदि आपके ऐप की में application:didFinishLaunchingWithOptions: विधि:

    तीव्र

    // Use Firebase library to configure APIs
    FirebaseApp.configure()

    उद्देश्य सी

    // Use Firebase library to configure APIs
    [FIRApp configure];

एंड्रॉयड

Firebase प्रतिष्ठानों Android SDK अपने मॉड्यूल (एप्लिकेशन-स्तरीय) Gradle फ़ाइल (आमतौर पर करने के लिए निर्भरता जोड़ें app/build.gradle ):

implementation 'com.google.firebase:firebase-installations:17.0.0'

जावास्क्रिप्ट

कैसे अपने वेब एप्लिकेशन को होस्ट किया गया है के आधार पर, आपके विन्यास स्वचालित रूप से प्रबंधित किया जा सकता है या आप अपने अद्यतन करना पड़ सकता Firebase विन्यास वस्तु

उदाहरण के लिए, यदि आपकी निर्भरताएँ index.html में जोड़ी जाती हैं, तो <head> तत्व में निर्भरता जोड़ें:

<script src="/__/firebase/9.1.3/firebase-installations.js"></script>

एक फायरबेस स्थापना हटाएं

डाटा एक Firebase स्थापना से बंधा आम तौर पर व्यक्तिगत रूप से पहचान नहीं है। फिर भी, उपयोगकर्ताओं को इस डेटा को प्रबंधित करने और हटाने का विकल्प देना मददगार हो सकता है।

प्रत्येक एप्लिकेशन के प्रत्येक इंस्टॉलेशन के लिए फायरबेस इंस्टॉलेशन आईडी अलग हैं; एक ही डिवाइस पर अलग-अलग एप्लिकेशन में अलग-अलग फायरबेस इंस्टॉलेशन आईडी होते हैं। फायरबेस इंस्टॉलेशन आईडी ऐप इंस्टॉलेशन और उन ऐप इंस्टॉलेशन से जुड़े डेटा की पहचान करते हैं।

जब आप किसी इंस्टॉलेशन आईडी को हटाते हैं, तो उस इंस्टॉलेशन आईडी से जुड़ा डेटा सभी फायरबेस सेवाओं के लाइव और बैकअप सिस्टम से हटा दिया जाता है, जो 180 दिनों के भीतर इंस्टॉलेशन की पहचान करने के लिए फायरबेस इंस्टॉलेशन आईडी का उपयोग करते हैं। इस प्रक्रिया में Google के दशक में एक उच्च स्तर पर वर्णन किया गया है विलोपन और प्रतिधारण पर बयान

जब तक आप अपने ऐप में सभी FID-जनरेटिंग सेवाओं को अक्षम नहीं करते, FIS कुछ दिनों के भीतर एक नई ID बनाता है। फायरबेस नई बनाई गई आईडी को एक नया फायरबेस इंस्टॉलेशन मानता है, और इसे किसी भी तरह से पिछली आईडी या डेटा से संबद्ध नहीं करता है।

क्लाइंट API कॉल के साथ FID हटाएं

फायरबेस सेवाओं द्वारा उत्पन्न एफआईडी को हटाने के लिए, फायरबेस इंस्टॉलेशन एसडीके से उपयुक्त विधि को कॉल करें:

तीव्र

Installations.installations().delete { error in
  if let error = error {
    print("Error deleting installation: \(error)")
    return
  }
  print("Installation deleted");
}

उद्देश्य सी

[[FIRInstallations installations] deleteWithCompletion:^(NSError *error) {
   if (error != nil) {
     NSLog(@"Error deleting Installation %@", error);
     return;
   }
   NSLog(@"Installation deleted");
}];

जावा

FirebaseInstallations.getInstance().delete()
        .addOnCompleteListener(new OnCompleteListener<Void>() {
    @Override
    public void onComplete(@NonNull Task<Void> task) {
        if (task.isSuccessful()) {
            Log.d("Installations", "Installation deleted");
        } else {
            Log.e("Installations", "Unable to delete Installation");
        }
    }
});

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

FirebaseInstallations.getInstance().delete().addOnCompleteListener { task ->
    if (task.isComplete) {
        Log.d("Installations", "Installation deleted")
    }  else {
        Log.e("Installations", "Unable to delete Installation")
    }
}

जावास्क्रिप्ट

await firebase.installations().delete();

सर्वर API कॉल के साथ FID हटाएं

एक सर्वर API कॉल के साथ एक खूंटी हटाने के लिए, अपने सर्वर पर Firebase नियंत्रक SDK जोड़ने , अगर आप पहले से ही नहीं है।

एक बार एसडीके जोड़ने के बाद, अपनी पसंद की भाषा में हटाने के कार्य में कॉल के माध्यम से एफआईडी हटाएं (नोट: नोड.जेएस को छोड़कर, ये विधियां इंस्टेंस आईडी नामकरण को दर्शाती हैं। हालांकि, किसी भी मौजूदा फायरबेस के साथ कॉल किए जाने पर वे सभी वास्तव में एफआईडी को हटा देते हैं एसडीके)।

Node.js

// An FIDsent from a client service SDK
const idToDelete = 'eyJhbGciOiJFUzI1N_iIs5';

admin.installations().deleteInstallation(idToDelete);

जावा

// An FID sent from a client service SDK
String idToDelete = "eyJhbGciOiJFUzI1N_iIs5";

FirebaseInstanceId.getInstance().deleteInstanceIdAsync(idToDelete).get();

अजगर

  from firebase_admin import instance_id

  # An FID sent from a client service SDK
  id_to_delete = 'eyJhbGciOiJFUzI1N_iIs5'

  instance_id.delete_instance_id(id_to_delete)

जाना

client, err := app.InstanceId(ctx)
if err != nil {
  log.Fatalln("error initializing client", err)
}

iidToDelete := "eyJhbGciOiJFUzI1N_iIs5"
if err := client.DeleteInstanceId(ctx, iidToDelete); err != nil {
  log.Fatalln("error deleting FID", err)
}

जब आप सर्वर एपीआई कॉल के साथ एक फायरबेस इंस्टॉलेशन आईडी हटाते हैं, तो फायरबेस सेवाएं उस इंस्टॉलेशन आईडी से जुड़े डेटा को हटाने की प्रक्रिया शुरू करती हैं, 1-2 दिनों के दौरान उस आईडी के लिए नया डेटा स्वीकार करना बंद कर देती हैं, और फिर क्लाइंट ऐप को सूचित करती हैं। कि आईडी हटा दी गई थी। जब तक फायरबेस क्लाइंट ऐप को सूचित नहीं करता, तब तक ऐप की कुछ सेवाएं आईडी को लक्षित कर सकती हैं—उदाहरण के लिए, फायरबेस इंस्टॉलेशन को कुछ घंटों के लिए एफसीएम नोटिफिकेशन प्राप्त करना जारी रह सकता है।

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

ग्राहक पहचानकर्ताओं को पुनः प्राप्त करें

यदि आपके पास अपने ऐप के विशेष इंस्टॉलेशन की पहचान करने की आवश्यकता है, तो आप Firebase इंस्टॉलेशन आईडी प्राप्त करके ऐसा कर सकते हैं। उदाहरण के लिए, फायरबेस इन-ऐप मैसेजिंग डेवलपमेंट के दौरान परीक्षण करने के लिए, आप इसकी फायरबेस इंस्टॉलेशन आईडी का उपयोग करके सही परीक्षण डिवाइस को पहचान सकते हैं और लक्षित कर सकते हैं।

Firebase स्थापना आईडी पुनर्प्राप्त करने के लिए:

तीव्र

Installations.installations().installationID { (id, error) in
  if let error = error {
    print("Error fetching id: \(error)")
    return
  }
  guard let id = id else { return }
  print("Installation ID: \(id)")
}

उद्देश्य सी

[[FIRInstallations installations] installationIDWithCompletion:^(NSString *identifier, NSError *error) {
  if (error != nil) {
    NSLog(@"Error fetching Installation ID %@", error);
    return;
  }
  NSLog(@"Installation ID: %@", identifier);
}];

जावा

FirebaseInstallations.getInstance().getId()
        .addOnCompleteListener(new OnCompleteListener<String>() {
    @Override
    public void onComplete(@NonNull Task<String> task) {
        if (task.isSuccessful()) {
            Log.d("Installations", "Installation ID: " + task.getResult());
        } else {
            Log.e("Installations", "Unable to get Installation ID");
        }
    }
});

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

FirebaseInstallations.getInstance().id.addOnCompleteListener { task ->
    if (task.isSuccessful) {
        Log.d("Installations", "Installation ID: " + task.result)
    } else {
        Log.e("Installations", "Unable to get Installation ID")
    }
}

जावास्क्रिप्ट

const installationId = await firebase.installations().getId();
console.log(installationId);

स्थापना प्रमाणीकरण टोकन प्राप्त करें

फायरबेस सेवाएं एफआईएस से प्राप्त प्रामाणिक टोकन के साथ फायरबेस इंस्टॉलेशन को प्रमाणित कर सकती हैं। उदाहरण के लिए, रिमोट कॉन्फिग के लिए ए/बी टेस्ट डिजाइन करते समय, आप एक इंस्टॉलेशन ऑथ टोकन का उपयोग करके एक लक्षित परीक्षण डिवाइस को प्रमाणित कर सकते हैं।

एक इंस्टॉलेशन ऑथ टोकन JSON वेब टोकन (JWT) फॉर्मेट में एक अल्पकालिक बियरर टोकन है जिसमें इंस्टॉलेशन के लिए निम्नलिखित जानकारी होती है:

  • फायरबेस इंस्टॉलेशन आईडी
  • जुड़े परियोजना ( projectNumber )
  • जुड़े Firebase आवेदन आईडी ( appId )
  • टोकन की समाप्ति तिथि

एक इंस्टॉलेशन ऑथ टोकन निरस्त नहीं किया जा सकता है, और इसकी समाप्ति तिथि तक वैध रहता है। डिफ़ॉल्ट टोकन जीवनकाल एक सप्ताह है।

एक संस्थापन प्रमाणीकरण टोकन प्राप्त करने के लिए:

तीव्र

Installations.installations().authTokenForcingRefresh(true, completion: { (result, error) in
  if let error = error {
    print("Error fetching token: \(error)")
    return
  }
  guard let result = result else { return }
  print("Installation auth token: \(result.authToken)")
})

उद्देश्य सी

[[FIRInstallations installations] authTokenForcingRefresh:true
                                               completion:^(FIRInstallationsAuthTokenResult *result, NSError *error) {
  if (error != nil) {
    NSLog(@"Error fetching Installation token %@", error);
    return;
  }
  NSLog(@"Installation auth token: %@", [result authToken]);
}];

जावा

FirebaseInstallations.getInstance().getToken(/* forceRefresh */true)
        .addOnCompleteListener(new OnCompleteListener<InstallationTokenResult>() {
    @Override
    public void onComplete(@NonNull Task<InstallationTokenResult> task) {
        if (task.isSuccessful() && task.getResult() != null) {
            Log.d("Installations", "Installation auth token: " + task.getResult().getToken());
        } else {
            Log.e("Installations", "Unable to get Installation auth token");
        }
    }
});

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

FirebaseInstallations.getInstance().getToken(/* forceRefresh */ true)
    .addOnCompleteListener { task ->
        if (task.isSuccessful) {
            Log.d("Installations", "Installation auth token: " + task.result?.token)
        } else {
            Log.e("Installations", "Unable to get Installation auth token")
        }
    }

जावास्क्रिप्ट

const installationToken = await firebase.installations()
    .getToken(/* forceRefresh */ true);
console.log(installationToken);

फायरबेस इंस्टॉलेशन आईडी जीवनचक्र की निगरानी करें

किसी ऐप के सामान्य संचालन के दौरान, फायरबेस इंस्टॉलेशन आईडी (एफआईडी) को विशेष निगरानी की आवश्यकता नहीं होती है। हालांकि, एफआईडी को खोजने और उपयोग करने वाले ऐप्स को एफआईडी के संभावित विलोपन या रोटेशन की निगरानी के लिए तर्क जोड़ना चाहिए। यहां कुछ मामले दिए गए हैं जहां FID को हटाया या घुमाया जा सकता है:

  • ऐप को अनइंस्टॉल करना या फिर से इंस्टॉल करना, उदाहरण के लिए जब कोई अंतिम उपयोगकर्ता किसी नए डिवाइस पर इंस्टॉल करता है।
  • अंतिम उपयोगकर्ता ऐप या डिवाइस का कैशे साफ़ करता है।
  • ऐप निष्क्रियता के कारण बैकएंड में FID विलोपन शुरू हो गया है (वर्तमान में इसके लिए सीमा 270 दिनों की निष्क्रियता है)।

जब ऐप्स इस प्रकार के मामलों में FID रोटेशन या विलोपन का अनुभव करते हैं, तो उन्हें एक नया FID असाइन किया जाता है। साथ ही, हटाए गए FID से जुड़े इंस्टॉलेशन ऑथ टोकन को अपनी परिपक्वता की परवाह किए बिना हटा दिया जाता है, और इसे एक नए इंस्टॉलेशन ऑथ टोकन से बदल दिया जाता है।

ऐप्स इन परिवर्तनों की निगरानी कर सकते हैं और तदनुसार प्रतिक्रिया दे सकते हैं।

एफआईडी रोटेशन की निगरानी के लिए:

तीव्र

installationIDObserver = NotificationCenter.default.addObserver(
        forName: .InstallationIDDidChange,
        object: nil,
        queue: nil
) { (notification) in
  // Fetch new Installation ID
  self.fetchInstallationToken()
}

उद्देश्य सी

__weak __auto_type weakSelf = self;
self.installationIDObserver = [[NSNotificationCenter defaultCenter]
        addObserverForName: FIRInstallationIDDidChangeNotification
                    object:nil
                     queue:nil
                usingBlock:^(NSNotification * _Nonnull notification) {
    // Fetch new Installation ID
    [weakSelf fetchInstallationsID];
}];

एक NSNotification नामित NSNotificationName.InstallationIDDidChange डिफ़ॉल्ट NSNotificationCenter जब भी कोई नया खूंटी असाइन किया गया है करने के लिए तैनात किया गया है।

एंड्रॉयड

कोटलिन और जावा क्लाइंट को नई FID को पुनः प्राप्त करने के लिए विफल कॉल पर प्रतिक्रिया देने के लिए पुनः प्रयास तर्क जोड़ना चाहिए।

जावास्क्रिप्ट

वेब एप्लिकेशन की सदस्यता ले सकते onIdChange हुक।

जब भी कोई नया FID बनाया जाता है, सब्स्क्राइब्ड कॉलबैक ट्रिगर होता है:

await firebase.installations().onIdChange((newId) => {
  console.log(newId);
  // TODO: Handle new installation ID.
});

इंस्टेंस आईडी से फायरबेस इंस्टॉलेशन में माइग्रेट करें

Firebase इंस्टॉलेशन की शुरुआत से पहले, Firebase ऐप्लिकेशन इंस्टॉल के पहचानकर्ताओं के लिए इंस्टेंस आईडी SDK पर निर्भर था। फायरबेस इंस्टॉलेशन विश्वसनीयता, प्रदर्शन और सुरक्षा में इंस्टेंस आईडी पर महत्वपूर्ण लाभ प्रदान करता है। इंस्टेंस आईडी एसडीके पर निर्भर Firebase ऐप्लिकेशन को Firebase इंस्टॉलेशन में माइग्रेट करना चाहिए.

आपके ऐप के आधार पर माइग्रेशन प्रक्रिया अलग है:

  • ऐसे ऐप्स जो सीधे उदाहरण आईडी एपीआई कॉल नहीं करते द्वारा माइग्रेट कर सकते हैं उनके SDK संस्करण को अद्यतन करने । अधिकांश फायरबेस ऐप्स इसी श्रेणी में आते हैं।

  • ऐसे ऐप्स जो स्पष्ट रूप से उदाहरण आईडी को API कॉल करने के SDK संस्करण और अद्यतन करना होगा कर कोड में परिवर्तन उनके Firebase प्रतिष्ठानों या FCM समकक्ष के साथ उदाहरण आईडी तरीकों को बदलने के लिए। यदि आपका ऐप FCM पंजीकरण टोकन पुनर्प्राप्त करने के लिए इंस्टेंस आईडी का उपयोग करता है या ऐप इंस्टेंस को लक्षित करने के लिए या किसी अन्य उद्देश्य के लिए इंस्टेंस आईडी का स्पष्ट रूप से उपयोग करता है, तो आपको अपना एप्लिकेशन कोड अपडेट करना होगा।

वर्तमान में, FIS लीगेसी पहचानकर्ता Firebase इंस्टेंस आईडी के साथ पिछड़ा-संगत है। एक आईआईडी हटाया जा रहा है इन Firebase SDKs साथ डेटा हटाने का अनुरोध करने का एक वैकल्पिक तरीका है:

  • आईओएस 6.14.0 और निचला
  • 27 फरवरी, 2020 से पहले के Android SDK

इसका मतलब है कि क्षुधा Firebase प्रतिष्ठानों को विस्थापित करने के लिए आवश्यकता नहीं है; हालाँकि, ऐसा करने की अत्यधिक अनुशंसा की जाती है।

फायरबेस इंस्टॉलेशन के लिए न्यूनतम एसडीके संस्करणों में अपग्रेड करना

इंस्टेंस आईडी से फायरबेस इंस्टॉलेशन में माइग्रेट करने के लिए, सुनिश्चित करें कि आपके एप्लिकेशन निम्न फायरबेस एसडीके की कम से कम सूचीबद्ध न्यूनतम संस्करण संख्याओं का उपयोग करते हैं:

फायरबेस एसडीके न्यूनतम Android संस्करण न्यूनतम आईओएस संस्करण
फायरबेस क्लाउड मैसेजिंग v20.3.0 v6.34.0
रिमोट कॉन्फिग v19.2.0 v6.24.0
Google Analytics \ (माप एसडीके) v17.4.4 v6.18.0
इन-ऐप मैसेजिंग v19.0.7 v6.24.0
निष्पादन की निगरानी v19.0.8 v6.21.0
क्रैशलिटिक्स v17.2.1 v6.23.0
एमएल किट v22.1.2 v6.28.0

कोड अपडेट करना जो स्पष्ट रूप से इंस्टेंस आईडी एपीआई को कॉल करता है

अगर आपका एंड्रॉइड या आईओएस ऐप सीधे इंस्टेंस आईडी एसडीके विधियों का उपयोग करता है, तो आप उस उपयोग को फायरबेस इंस्टॉलेशन एसडीके या एफसीएम एसडीके में समान विकल्पों के साथ बदल सकते हैं।

एक पहचानकर्ता को पुनः प्राप्त करना

इंस्टेंस आईडी प्राप्त करने के तरीकों को इंस्टॉलेशन आईडी प्राप्त करने के तरीकों से बदल दिया जाता है। उदाहरण के लिए:

पहले

तीव्र

Messaging.messaging().token { token, error in
  if let error = error {
    print("Error fetching remote FCM registration token: \(error)")
  } else if let token = token {
    print("Remote instance ID token: \(token)")
    self.remoteFCMTokenMessage.text = "Remote FCM registration token: \(token)"
  }
}

उद्देश्य सी

[[FIRMessaging messaging] tokenWithCompletion:^(NSString * _Nullable token, NSError * _Nullable error) {
   if (error != nil) {
     NSLog(@"Error fetching the remote FCM registration token: %@", error);
   } else {
     NSLog(@"Remote FCM registration token: %@", token);
     NSString* message =
       [NSString stringWithFormat:@"FCM registration token: %@", token];
     self.remoteFCMTokenMessage.text = message;
   }
 }];

जावा

FirebaseInstanceId.getInstance().getInstanceId()
        .addOnCompleteListener(new OnCompleteListener<InstanceIdResult>() {
            @Override
            public void onComplete(@NonNull Task<InstanceIdResult> task) {
                Log.d("IID_TOKEN", task.getResult().getToken());
            }
        });

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

FirebaseInstanceId.getInstance().instanceId
        .addOnSuccessListener { result ->
            Log.d("IID_TOKEN", result.token)
        }

बाद में

तीव्र

Installations.installations().installationID { (id, error) in
  if let error = error {
    print("Error fetching id: \(error)")
    return
  }
  guard let id = id else { return }
  print("Installation ID: \(id)")
}

उद्देश्य सी

[[FIRInstallations installations] installationIDWithCompletion:^(NSString *identifier, NSError *error) {
  if (error != nil) {
    NSLog(@"Error fetching Installation ID %@", error);
    return;
  }
  NSLog(@"Installation ID: %@", identifier);
}];

जावा

FirebaseInstallations.getInstance().getId()
        .addOnCompleteListener(new OnCompleteListener<String>() {
    @Override
    public void onComplete(@NonNull Task<String> task) {
        if (task.isSuccessful()) {
            Log.d("Installations", "Installation ID: " + task.getResult());
        } else {
            Log.e("Installations", "Unable to get Installation ID");
        }
    }
});

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

FirebaseInstallations.getInstance().id.addOnCompleteListener { task ->
    if (task.isSuccessful) {
        Log.d("Installations", "Installation ID: " + task.result)
    } else {
        Log.e("Installations", "Unable to get Installation ID")
    }
}

एक पहचानकर्ता को हटाना

इंस्टेंस आईडी को हटाने के तरीकों को फायरबेस इंस्टॉलेशन आईडी को हटाने के तरीकों से बदल दिया जाता है। उदाहरण के लिए:

पहले

तीव्र

InstanceID.instanceID().deleteID { error in
  if let error = error {
    print("Error deleting instance ID: \(error)")
  }
}

उद्देश्य सी

[FIRInstanceID instanceID] deleteIDWithHandler:^(NSError *error) {
  if error != nil {
    NSLog(@"Error deleting instance ID: %@", error);
  }
}];

एंड्रॉयड

FirebaseInstanceId.deleteInstanceId();

बाद में

तीव्र

func delete(completion: @escaping (Error?) -> Void)

उद्देश्य सी

- (void)deleteWithCompletion:(nonnull void (^)(NSError *_Nullable))completion;

जावा

FirebaseInstallations.getInstance().delete()
        .addOnCompleteListener(new OnCompleteListener<Void>() {
    @Override
    public void onComplete(@NonNull Task<Void> task) {
        if (task.isSuccessful()) {
            Log.d("Installations", "Installation deleted");
        } else {
            Log.e("Installations", "Unable to delete Installation");
        }
    }
});

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

FirebaseInstallations.getInstance().delete().addOnCompleteListener { task ->
    if (task.isComplete) {
        Log.d("Installations", "Installation deleted")
    }  else {
        Log.e("Installations", "Unable to delete Installation")
    }
}

FCM पंजीकरण टोकन प्राप्त करना

फायरबेस इंस्टालेशन की शुरुआत से पहले, एफसीएम क्लाइंट्स ने इंस्टेंस आईडी से पंजीकरण टोकन प्राप्त किए। अब, FCM SDK पंजीकरण टोकन प्राप्त करने के तरीके प्रदान करता है।

पहले

जावा

FirebaseInstanceId.getInstance().getInstanceId()
        .addOnCompleteListener(new OnCompleteListener<InstanceIdResult>() {
            @Override
            public void onComplete(@NonNull Task<InstanceIdResult> task) {
                if (!task.isSuccessful()) {
                    Log.w(TAG, "getInstanceId failed", task.getException());
                    return;
                }

                // Get new Instance ID token
                String token = task.getResult().getToken();

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

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

FirebaseInstanceId.getInstance().instanceId
        .addOnCompleteListener(OnCompleteListener { task ->
            if (!task.isSuccessful) {
                Log.w(TAG, "getInstanceId failed", task.exception)
                return@OnCompleteListener
            }

            // Get new Instance ID token
            val token = task.result?.token

            // Log and toast
            val msg = getString(R.string.msg_token_fmt, token)
            Log.d(TAG, msg)
            Toast.makeText(baseContext, msg, Toast.LENGTH_SHORT).show()
        })

तीव्र

Messaging.messaging().token { token, error in
  if let error = error {
    print("Error fetching remote FCM registration token: \(error)")
  } else if let token = token {
    print("Remote instance ID token: \(token)")
    self.remoteFCMTokenMessage.text = "Remote FCM registration token: \(token)"
  }
}

उद्देश्य सी

[[FIRMessaging messaging] tokenWithCompletion:^(NSString * _Nullable token, NSError * _Nullable error) {
   if (error != nil) {
     NSLog(@"Error fetching the remote FCM registration token: %@", error);
   } else {
     NSLog(@"Remote FCM registration token: %@", token);
     NSString* message =
       [NSString stringWithFormat:@"FCM registration token: %@", token];
     self.remoteFCMTokenMessage.text = message;
   }
 }];

बाद में

जावा

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

तीव्र

Messaging.messaging().token { token, error in
  if let error = error {
    print("Error fetching FCM registration token: \(error)")
  } else if let token = token {
    print("FCM registration token: \(token)")
    self.fcmRegTokenMessage.text  = "Remote FCM registration token: \(token)"
  }
}

उद्देश्य सी

[[FIRMessaging messaging] tokenWithCompletion:^(NSString *token, NSError *error) {
  if (error != nil) {
    NSLog(@"Error getting FCM registration token: %@", error);
  } else {
    NSLog(@"FCM registration token: %@", token);
    self.fcmRegTokenMessage.text = token;
  }
}];