# अपने पुश सब्सक्राइबर बेस का प्रबंधन करना

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


## पुश टोकन को समझना और वे कैसे काम करते हैं

एक पुश टोकन एक अद्वितीय, अनाम पहचानकर्ता है जो किसी डिवाइस पर एक विशिष्ट ऐप इंस्टेंस को उसके पुश सेवा प्रदाता द्वारा सौंपा जाता है:

*   iOS उपकरणों के लिए Apple Push Notification Service (APNs)
*   Android उपकरणों के लिए Firebase Cloud Messaging (FCM)

यह टोकन सुनिश्चित करता है कि पुश नोटिफिकेशन उपयोगकर्ता के डिवाइस पर सही ऐप तक पहुँचाए जाएँ।

Pushwoosh में, पुश टोकन जीवनचक्र में ये प्रमुख चरण शामिल हैं:

1.  जब ऐप पहली बार लॉन्च होता है, तो यह डिवाइस के ऑपरेटिंग सिस्टम (OS) से पुश नोटिफिकेशन प्राप्त करने की अनुमति मांगता है।

2.  एप्लिकेशन की पुश सेवा (जैसे, iOS के लिए APNs, Android के लिए FCM) उस ऐप इंस्टेंस के लिए एक अद्वितीय पुश टोकन उत्पन्न करती है। डिफ़ॉल्ट रूप से, Pushwoosh SDK इस टोकन को एकत्र और संग्रहीत करता है, भले ही उपयोगकर्ता ने नोटिफिकेशन प्रदर्शन की अनुमति न दी हो। इन उपयोगकर्ताओं को पुश संदेश नहीं दिखाए जाएँगे, लेकिन टोकन का उपयोग अभी भी उनके एप्लिकेशन इनबॉक्स में संदेश भेजने के लिए किया जा सकता है, जो Pushwoosh में एक और मैसेजिंग चैनल है।

    हालाँकि, आप SDK को केवल उन उपयोगकर्ताओं से टोकन एकत्र करने के लिए कॉन्फ़िगर कर सकते हैं जिन्होंने अनुमति दी है।

3.  ऐप Pushwoosh SDK का उपयोग करके इस टोकन को Pushwoosh डेटाबेस में डिवाइस डेटा (हार्डवेयर आईडी या HWID सहित) के साथ Pushwoosh को [`/registerDevice`](/hi/developer/api-reference/device-api/#registerdevice) API एंडपॉइंट के माध्यम से भेजता है।

4.  Pushwoosh भविष्य में मैसेजिंग के लिए टोकन को सुरक्षित रूप से संग्रहीत करता है।

5.  जब कोई नोटिफिकेशन ट्रिगर होता है, तो Pushwoosh संग्रहीत टोकन का उपयोग करके संदेश को उपयुक्त डिलीवरी गेटवे के माध्यम से रूट करता है।

6.  चुना हुआ गेटवे संदेश को डिवाइस तक पहुँचाता है, और OS इसे सिस्टम और ऐप नोटिफिकेशन सेटिंग्स के आधार पर प्रदर्शित करता है।

7.  यदि पुश टोकन अमान्य हो जाता है (उदाहरण के लिए, ऐप अनइंस्टॉल होने के कारण), तो Pushwoosh दूसरे नोटिफिकेशन भेजे जाने के बाद डिलीवरी विफलता का पता लगाता है, जब गेटवे भेजे जाने की त्रुटियों की सूची लौटाता है, जिसमें समाप्त/अमान्य/आदि टोकन शामिल होते हैं। फिर Pushwoosh टोकन को निष्क्रिय के रूप में चिह्नित करता है और इसे डेटाबेस से हटा देता है। यदि ऐप उसी डिवाइस पर फिर से इंस्टॉल किया जाता है, तो एक नया टोकन जारी किया जाएगा।

### पुश टोकन के अमान्य होने के सामान्य कारण

जबकि Apple Push Notification Service (APNs) और Firebase Cloud Messaging (FCM) टोकन जीवनचक्र नीतियों में पूरी पारदर्शिता प्रदान नहीं करते हैं या सक्रिय टोकन सत्यापन की अनुमति नहीं देते हैं, ऐसे ज्ञात परिदृश्य हैं जिनमें पुश टोकन अमान्य हो सकते हैं या समाप्त हो सकते हैं।

| कारण | APNs (iOS) | FCM (Android) |
| :---- | ----- | ----- |
| **ऐप अनइंस्टॉल** | ऐप अनइंस्टॉल के बाद टोकन अमान्य हो जाता है। APNs अंततः `410 Unregistered` त्रुटि लौटाता है। Apple यह निर्दिष्ट नहीं करता है कि अमान्यकरण कब होता है; इसमें कुछ मिनटों से लेकर कई दिनों तक का समय लग सकता है। [और जानें](https://developer.apple.com/forums/thread/670868) | अनइंस्टॉल करने पर टोकन तुरंत अमान्य हो जाता है। बाद में भेजने पर `Unregistered` त्रुटि लौटती है। [और जानें](https://help.pushwoosh.com/hc/en-us/articles/19861855131805-Sudden-increasing-of-unregistered-errors-on-the-Android-platform) |
| **टोकन रिफ्रेश** | APNs OS अपग्रेड, डिवाइस बैकअप/रिस्टोर, ऐप रीइंस्टॉल, या OS अपडेट के बाद एक नया टोकन जारी करता है। [और जानें](https://developer.apple.com/documentation/usernotifications/registering-your-app-with-apns#:~:text=Never%20cache%20device%20tokens%20in%20local%20storage.%20APNs%20issues%20a%20new%20token%20when%20the%20user%20restores%20a%20device%20from%20a%20backup%2C%20when%20the%20user%20installs%20your%20app%20on%20a%20new%20device%2C%20and%20when%20the%20user%20reinstalls%20the%20operating%20system.%20You%20get%20an%20up%2Dto%2Ddate%20token%20each%20time%20you%20ask%20the%20system%20to%20provide%20the%20token.) | APNs के समान व्यवहार। ऐप डेटा क्लियरेंस या डिवाइस रिस्टोरेशन द्वारा भी ट्रिगर होता है। [और जानें](https://firebase.google.com/docs/cloud-messaging/manage-tokens?utm_source=chatgpt.com#retrieve-and-store-registration-tokens) |
| **टोकन निष्क्रियता** | निष्क्रियता के कारण कोई प्रलेखित समाप्ति नहीं है। [और जानें](https://developer.apple.com/forums/thread/671310) | 270 दिनों से अधिक समय तक निष्क्रिय टोकन को पुराना/समाप्त माना जाता है। FCM उन्हें अमान्य के रूप में चिह्नित करता है। [और जानें](https://firebase.google.com/docs/cloud-messaging/manage-tokens#stale-and-expired-tokens) |
<Aside type="caution" title="Important">

Pushwoosh टोकन की वैधता तभी निर्धारित करता है जब कोई पुश नोटिफिकेशन डिलीवर करने में विफल रहता है। यह सक्रिय रूप से टोकन की स्थिति की जाँच नहीं करता है।

</Aside>


## अमान्य पुश टोकन हटाकर अपनी सब्सक्राइबर सूची को कैसे साफ रखें

अपनी पुश सब्सक्राइबर सूची को साफ रखने के लिए, नियमित रूप से डिलीवरी आँकड़ों की जाँच करें, अमान्य टोकन हटाएँ, और सुनिश्चित करें कि आपके ऐप और बैकएंड में हमेशा नवीनतम टोकन डेटा हो।

Pushwoosh आपको ऐसा करने में मदद करने के लिए कई तरीके प्रदान करता है:

### नियमित रूप से अपने पूरे सब्सक्राइबर बेस को पुश नोटिफिकेशन भेजें

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

> **महत्वपूर्ण:** टोकन की वैधता केवल तभी जाँची जाती है जब कोई पुश भेजा जाता है। Pushwoosh टोकन की वैधता पर पृष्ठभूमि जाँच नहीं करता है।

### API का उपयोग करके डिवाइसों को अपंजीकृत करें
<Aside type="caution" icon="setting" title="Developer assistance needed">
API के माध्यम से डिवाइसों को अपंजीकृत करने के लिए आपकी विकास टीम से सहायता की आवश्यकता है। कृपया इस प्रक्रिया को लागू करने के लिए उनके साथ यह गाइड साझा करें।
</Aside>


आप अपने सब्सक्राइबर बेस से पुश टोकन हटाने के लिए [`/bulkUnregisterDevice`](/hi/developer/api-reference/audience-api/#bulkunregisterdevice) डिवाइस API विधि का उपयोग कर सकते हैं, उदाहरण के लिए, जब उपयोगकर्ता ऑप्ट-आउट करते हैं या अब सक्रिय नहीं होते हैं।

ऐसा करने के लिए:

1.  अपने मानदंडों से मेल खाने वाले उपयोगकर्ताओं का एक सेगमेंट बनाएँ (उदाहरण के लिए, ऑप्ट-आउट, फ्री-टियर उपयोगकर्ता, या जो X दिनों से निष्क्रिय हैं)।
2.  कंट्रोल पैनल या [`exportSegment`](/hi/developer/api-reference/segmentation-filters-api/#exportsegment) API विधि का उपयोग करके सेगमेंट को निर्यात करें।
3.  उस सेगमेंट में डिवाइसों के लिए पुश टोकन हटाने के लिए [`/bulkUnregisterDevice`](/hi/developer/api-reference/audience-api/#bulkunregisterdevice) को कॉल करें।

### ऑटोलिडेशन के साथ 90 दिनों के बाद निष्क्रिय टोकन को स्वचालित रूप से हटाएँ

Pushwoosh में स्वचालित निष्क्रियता सफाई एल्गोरिथ्म उन उपयोगकर्ताओं के पुश टोकन को हटाकर आपकी सब्सक्राइबर सूची को साफ रखने में मदद करता है जो 90 दिनों से सक्रिय नहीं हैं।

यह डिफ़ॉल्ट **Last Application Open** टैग का उपयोग करके ट्रैक करता है कि उपयोगकर्ताओं ने आखिरी बार आपका ऐप कब खोला था। यदि किसी उपयोगकर्ता ने 90 दिनों या उससे अधिक समय तक ऐप नहीं खोला है, तो उनके पुश टोकन को निष्क्रिय के रूप में चिह्नित किया जाता है और आपके सब्सक्राइबर बेस से हटा दिया जाता है।
<Aside type="caution" title="Important">
यह सुविधा 1 जनवरी, 2024 को या उसके बाद बनाए गए सभी खातों के लिए डिफ़ॉल्ट रूप से सक्षम है। यह जाँचने के लिए कि यह आपके खाते के लिए सक्रिय है या सक्रियण का अनुरोध करने के लिए, कृपया [Pushwoosh सहायता से संपर्क करें](https://help.pushwoosh.com/hc/en-us/requests/new/)।
</Aside>

### अनइंस्टॉल ट्रैकिंग का उपयोग करें

अनइंस्टॉल ट्रैकिंग यह पता लगाकर आपकी पुश सब्सक्राइबर सूची को सटीक रखती है कि उपयोगकर्ता आपके ऐप को कब अनइंस्टॉल करते हैं। यह Pushwoosh को स्वचालित रूप से अमान्य टोकन हटाने की अनुमति देता है।
> **ध्यान दें:** अनइंस्टॉल ट्रैकिंग केवल **iOS** और **Android** पर समर्थित है।

यह इस प्रकार काम करता है:

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



<Aside type="caution" title="Important">
अनइंस्टॉल ट्रैकिंग सभी सब्सक्राइबरों को प्रतिदिन साइलेंट पुश नोटिफिकेशन भेजती है, जिससे सिस्टम लोड बढ़ सकता है। सुनिश्चित करें कि आपका इंफ्रास्ट्रक्चर इस वॉल्यूम का समर्थन कर सकता है। यह सुविधा समर्थित प्लेटफार्मों पर डिफ़ॉल्ट रूप से सक्षम है। इसे अक्षम करने के लिए, [Pushwoosh सहायता से संपर्क करें](https://help.pushwoosh.com/hc/en-us/requests/new/) या अपने ग्राहक सफलता प्रबंधक से संपर्क करें।
</Aside>


#### अनइंस्टॉल ट्रैकिंग की सीमाएँ

नोटिफिकेशन गेटवे साइलेंट पुश की डिलीवरी की गारंटी नहीं देते हैं। इन संदेशों को गेटवे द्वारा प्राथमिकता से हटाया जा सकता है या छोड़ दिया जा सकता है, जिससे अनइंस्टॉल का पता लगाने में देरी हो सकती है या सटीकता सीमित हो सकती है। [और जानें](https://help.pushwoosh.com/hc/en-us/articles/26713265335581-Understanding-Silent-Push-Notification-Behavior-and-Limits-on-iOS)

#### अनइंस्टॉल डेटा देखें

अनइंस्टॉल गतिविधि की निगरानी के लिए, अपने Pushwoosh कंट्रोल पैनल में **Statistics > Dashboards > Application dashboard** पर जाएँ। **App Uninstalls** ग्राफ़ आपके एप्लिकेशन के लिए अनइंस्टॉल रुझानों का एक टाइमलाइन दृश्य प्रदान करता है।

## क्या आप पुश टोकन हटाने के बाद उपयोगकर्ताओं को पुनर्स्थापित कर सकते हैं?

किसी भी समर्थित विधि का उपयोग करके पुश टोकन को हटाना आसानी से प्रतिवर्ती है।

जब कोई उपयोगकर्ता आपका ऐप फिर से खोलता है:

1.  Pushwoosh SDK स्वचालित रूप से एक नए पुश टोकन का अनुरोध करता है।
2.  यह फिर डिवाइस को फिर से पंजीकृत करता है ([`registerDevice`](/hi/developer/api-reference/device-api/#registerdevice) के माध्यम से)।
3.  उपयोगकर्ता फिर से एक सक्रिय सब्सक्राइबर बन जाता है और आगे पुश नोटिफिकेशन प्राप्त करेगा।