इंस्टेंस आईडी डेटा प्रबंधित करें

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

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

  • एनालिटिक्स
  • क्रैशलिटिक्स
  • क्लाउड मैसेजिंग
  • रिमोट कॉन्फिग

इंस्टेंस आईडी से जुड़े ऐप डेटा को प्रबंधित करें

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

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

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

एक इंस्टेंस आईडी हटाएँ

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

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

क्लाइंट एपीआई कॉल से एक आईडी हटाएं

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

तीव्र

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

सर्वर एपीआई कॉल से एक आईडी हटाएं

सर्वर एपीआई कॉल के साथ एक इंस्टेंस आईडी को हटाने के लिए, यदि आपने पहले से नहीं किया है तो अपने सर्वर पर फायरबेस एडमिन एसडीके जोड़ें

एक बार यह जुड़ जाने के बाद, अपनी पसंद की भाषा में इंस्टेंस आईडी डिलीट फ़ंक्शन पर कॉल के माध्यम से आईडी हटाएं:

नोड.जे.एस

// An Instance ID sent from a client service SDK
const idToDelete = 'INSTANCE_ID';

admin.instanceId().deleteInstanceId(idToDelete);

जावा

// An Instance ID sent from a client service SDK
String idToDelete = "INSTANCE_ID";

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

अजगर

  from firebase_admin import instance_id

  # An Instance ID sent from a client service SDK
  id_to_delete = 'INSTANCE_ID'

  instance_id.delete_instance_id(id_to_delete)

जाना

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

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

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

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

इंस्टेंस आईडी जनरेशन अक्षम करें

इंस्टेंस आईडी का उपयोग करने वाली सेवाएँ किसी ऐसे ऐप में प्रारंभ होने पर स्वचालित रूप से एक नई आईडी उत्पन्न करती हैं जिसमें वर्तमान में कोई आईडी नहीं है। आमतौर पर, जब आपका ऐप लॉन्च होता है तो वे सेवाएँ भी स्वचालित रूप से प्रारंभ हो जाती हैं। इंस्टेंस आईडी जनरेशन को अक्षम करने के लिए, आपको उन सेवाओं के लिए ऑटो-इनिशियलाइज़ेशन को अक्षम करना होगा जो उनका उपयोग करती हैं।

एक सामान्य दृष्टिकोण यह है कि उपयोगकर्ताओं को डेटा संग्रह में ऑप्ट-इन करने का विकल्प दिया जाए: इंस्टेंस आईडी का उपयोग करने वाली सेवाओं के लिए ऑटो-इनिशियलाइज़ेशन अक्षम करें, एक संवाद लागू करें जो उपयोगकर्ताओं को डेटा संग्रह के लिए उनकी सहमति के लिए संकेत दे, और सेवाओं को एक बार मैन्युअल रूप से पुनः सक्षम करें आपकी सहमति है.

इंस्टेंस-आईडी-उपयोग सेवाओं के लिए ऑटो-इनिशियलाइज़ेशन को अक्षम करने और इसके बजाय उन्हें मैन्युअल रूप से इनिशियलाइज़ करने का तरीका जानने के लिए नीचे दिए गए गाइड पढ़ें:

,

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

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

  • एनालिटिक्स
  • क्रैशलिटिक्स
  • क्लाउड मैसेजिंग
  • रिमोट कॉन्फिग

इंस्टेंस आईडी से जुड़े ऐप डेटा को प्रबंधित करें

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

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

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

एक इंस्टेंस आईडी हटाएँ

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

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

क्लाइंट एपीआई कॉल से एक आईडी हटाएं

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

तीव्र

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

सर्वर एपीआई कॉल से एक आईडी हटाएं

सर्वर एपीआई कॉल के साथ एक इंस्टेंस आईडी को हटाने के लिए, यदि आपने पहले से नहीं किया है तो अपने सर्वर पर फायरबेस एडमिन एसडीके जोड़ें

एक बार यह जुड़ जाने के बाद, अपनी पसंद की भाषा में इंस्टेंस आईडी डिलीट फ़ंक्शन पर कॉल के माध्यम से आईडी हटाएं:

नोड.जे.एस

// An Instance ID sent from a client service SDK
const idToDelete = 'INSTANCE_ID';

admin.instanceId().deleteInstanceId(idToDelete);

जावा

// An Instance ID sent from a client service SDK
String idToDelete = "INSTANCE_ID";

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

अजगर

  from firebase_admin import instance_id

  # An Instance ID sent from a client service SDK
  id_to_delete = 'INSTANCE_ID'

  instance_id.delete_instance_id(id_to_delete)

जाना

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

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

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

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

इंस्टेंस आईडी जनरेशन अक्षम करें

इंस्टेंस आईडी का उपयोग करने वाली सेवाएँ किसी ऐसे ऐप में प्रारंभ होने पर स्वचालित रूप से एक नई आईडी उत्पन्न करती हैं जिसमें वर्तमान में कोई आईडी नहीं है। आमतौर पर, जब आपका ऐप लॉन्च होता है तो वे सेवाएँ भी स्वचालित रूप से प्रारंभ हो जाती हैं। इंस्टेंस आईडी जनरेशन को अक्षम करने के लिए, आपको उन सेवाओं के लिए ऑटो-इनिशियलाइज़ेशन को अक्षम करना होगा जो उनका उपयोग करती हैं।

एक सामान्य दृष्टिकोण यह है कि उपयोगकर्ताओं को डेटा संग्रह में ऑप्ट-इन करने का विकल्प दिया जाए: इंस्टेंस आईडी का उपयोग करने वाली सेवाओं के लिए ऑटो-इनिशियलाइज़ेशन अक्षम करें, एक संवाद लागू करें जो उपयोगकर्ताओं को डेटा संग्रह के लिए उनकी सहमति के लिए संकेत दे, और सेवाओं को एक बार मैन्युअल रूप से पुनः सक्षम करें आपकी सहमति है.

इंस्टेंस-आईडी-उपयोग सेवाओं के लिए ऑटो-इनिशियलाइज़ेशन को अक्षम करने और इसके बजाय उन्हें मैन्युअल रूप से इनिशियलाइज़ करने का तरीका जानने के लिए नीचे दिए गए गाइड पढ़ें: