# আপনার পুশ সাবস্ক্রাইবার বেস পরিচালনা করা

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 সহ) সহ [`/registerDevice`](/bn/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) | ২৭০ দিনের বেশি নিষ্ক্রিয় টোকেনগুলিকে পুরনো/মেয়াদোত্তীর্ণ হিসাবে বিবেচনা করা হয়। 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`](/bn/developer/api-reference/audience-api/#bulkunregisterdevice) ডিভাইস API পদ্ধতি ব্যবহার করতে পারেন, উদাহরণস্বরূপ, যখন ব্যবহারকারীরা অপ্ট-আউট করে বা আর সক্রিয় থাকে না।

এটি করতে:

1. আপনার মানদণ্ডের সাথে মিলে যাওয়া ব্যবহারকারীদের একটি সেগমেন্ট তৈরি করুন (যেমন, অপ্ট-আউট, ফ্রি-টিয়ার ব্যবহারকারী, বা যারা X দিনের জন্য নিষ্ক্রিয়)।
2. কন্ট্রোল প্যানেল বা [`exportSegment`](/bn/developer/api-reference/segmentation-filters-api/#exportsegment) API পদ্ধতি ব্যবহার করে সেগমেন্টটি এক্সপোর্ট করুন।
3. সেই সেগমেন্টের ডিভাইসগুলির জন্য পুশ টোকেনগুলি মুছতে [`/bulkUnregisterDevice`](/bn/developer/api-reference/audience-api/#bulkunregisterdevice) কল করুন।

### ৯০ দিন পর স্বয়ংক্রিয়ভাবে নিষ্ক্রিয় টোকেনগুলি স্বয়ংক্রিয় যাচাইকরণের মাধ্যমে সরান

Pushwoosh-এর স্বয়ংক্রিয় নিষ্ক্রিয়তা পরিষ্কারকরণ অ্যালগরিদম ৯০ দিন ধরে নিষ্ক্রিয় থাকা ব্যবহারকারীদের পুশ টোকেনগুলি সরিয়ে আপনার সাবস্ক্রাইবার তালিকা পরিষ্কার রাখতে সাহায্য করে।

এটি ডিফল্ট **Last Application Open** ট্যাগ ব্যবহার করে ব্যবহারকারীরা শেষবার কখন আপনার অ্যাপ খুলেছিল তা ট্র্যাক করে কাজ করে। যদি কোনো ব্যবহারকারী ৯০ দিন বা তার বেশি সময় ধরে অ্যাপটি না খোলেন, তাহলে তাদের পুশ টোকেনটি নিষ্ক্রিয় হিসাবে চিহ্নিত করা হয় এবং আপনার সাবস্ক্রাইবার বেস থেকে সরিয়ে দেওয়া হয়।
<Aside type="caution" title="Important">
এই বৈশিষ্ট্যটি ১ জানুয়ারী, ২০২৪ বা তার পরে তৈরি করা সমস্ত অ্যাকাউন্টের জন্য ডিফল্টরূপে সক্রিয় করা আছে। আপনার অ্যাকাউন্টের জন্য এটি সক্রিয় কিনা তা পরীক্ষা করতে বা সক্রিয়করণের অনুরোধ করতে, দয়া করে [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`](/bn/developer/api-reference/device-api/#registerdevice) এর মাধ্যমে)।
3. ব্যবহারকারী আবার একজন সক্রিয় সাবস্ক্রাইবার হয়ে যায় এবং ভবিষ্যতে পুশ নোটিফিকেশন পেতে থাকবে।