# ওয়েব মেসেজ ইনবক্স সেট আপ করুন

#### পূর্বশর্ত

নিশ্চিত করুন যে আপনি আপনার ওয়েবসাইটে Pushwoosh Web SDK ইমপ্লিমেন্ট করেছেন। এটি করার জন্য, অনুগ্রহ করে আমাদের [গাইড](/bn/developer/pushwoosh-sdk/web-push-notifications/web-push-sdk-30/) অনুসরণ করুন।


**ওয়েবসাইটের জন্য মেসেজ ইনবক্স** আপনাকে ওয়েব পুশ নোটিফিকেশন সংরক্ষণ করতে দেয় যাতে ব্যবহারকারীরা পরে সেগুলি আবার দেখতে পারে, এটি নিশ্চিত করে যে গুরুত্বপূর্ণ বার্তাগুলি দেখা হয়েছে।

## এটি কিভাবে কাজ করে

এখানে InboxMessages-এর একটি সাধারণ ওয়ার্কফ্লো দেওয়া হলো:

| ধাপ | মেথড |
| -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| পেজ লোড | |
| সার্ভারের সাথে মেসেজ সিঙ্ক্রোনাইজ করা | <p><code>InboxMessagesModel.updateMessages</code><br/>SDK ইনিশিয়ালাইজ করার সময় এক্সিকিউট হয়</p> |
| পুরানো মেসেজ মুছে ফেলা | <p><code>InboxMessagesModel.updateMessages</code><br/>SDK ইনিশিয়ালাইজ করার সময় এক্সিকিউট হয়</p> |
| ব্যাজ আপডেট করার জন্য অপঠিত মেসেজের সংখ্যা গ্রহণ করা | <p><code>Pushwoosh.pwinbox.unreadMessagesCount</code><br/>ম্যানুয়ালি এক্সিকিউট করা হয় (<code>onUpdateInboxMessages</code> ইভেন্ট ট্রিগার হওয়ার পরে)</p> |
| ইনবক্সে প্রদর্শনের জন্য মেসেজ লোড করা | <p><code>Pushwoosh.pwinbox.loadMessages</code><br/>ম্যানুয়ালি এক্সিকিউট করা হয় (<code>onUpdateInboxMessages</code> ইভেন্ট ট্রিগার হওয়ার পরে)</p> |
| ভিউ-পোর্টে আসা মেসেজগুলিকে পঠিত হিসাবে চিহ্নিত করা | <p><code>Pushwoosh.pwinbox.readMessagesWithCodes</code><br/>ম্যানুয়ালি এক্সিকিউট করা হয়</p> |
| খোলা মেসেজের জন্য নির্ধারিত অ্যাকশন সম্পাদন করা | <p><code>Pushwoosh.pwinbox.performActionForMessageWithCode</code><br/>ম্যানুয়ালি এক্সিকিউট করা হয়</p> |
| ডিলিট আইকনে ক্লিক করে বা মেসেজ ডানদিকে সোয়াইপ করে মেসেজ মুছে ফেলা | <p><code>Pushwoosh.pwinbox.performActionForMessageWithCode</code><br/>ম্যানুয়ালি এক্সিকিউট করা হয়</p> |

## ইভেন্ট লিসেনার

```javascript title="onUpdateInboxMessages"
// পেজ লোড হওয়ার সময় ইনবক্স স্বয়ংক্রিয়ভাবে আপডেট হওয়ার পরে এটি এক্সিকিউট হয়।
Pushwoosh.push(['onUpdateInboxMessages', function(api, pwinbox) {
  pwinbox.loadMessages().then(function(messages) {
    console.log('ইভেন্ট: onUpdateInboxMessages', messages);
  });
}]);
```

```javascript title="onPutNewMessageToInboxStore"
// ইনবক্স মেসেজ পাওয়ার পরে এবং indexedDB-তে সেভ হওয়ার পরে ServiceWorker দ্বারা এটি এক্সিকিউট হয়।
Pushwoosh.push(['onPutNewMessageToInboxStore', function(api, message) {
  console.log('ইভেন্ট: onPutNewMessageToInboxStore', message);
}]);
```

## পাবলিক মডিউল

**WebSDK InboxMessagesPublic module** ওয়েব ইনবক্স ইমপ্লিমেন্ট করার জন্য একটি পাবলিক ইন্টারফেস উপস্থাপন করে।

```txt title="মডেল"
type TInboxMessageTypePlain = 0;
type TInboxMessageTypeRichmedia = 1;
type TInboxMessageTypeURL = 2;
type TInboxMessageTypeDeeplink = 3;
type TInboxMessageType = TInboxMessageTypePlain  // depends on action_params
  | TInboxMessageTypeRichmedia
  | TInboxMessageTypeURL
  | TInboxMessageTypeDeeplink;
 
 
interface IInboxMessagePublic {
  code: string;  // inbox_id
  title: string;  // title
  message: string; // body
  imageUrl: string;  // image
  sendDate: string;  // send_date
  type: TInboxMessageType;  // depends on action_params
  isRead: boolean;  // true if status is "read" or "open"
  link: string; // Deeplink | URL | "/"
  isActionPerformed: boolean;  // true if status is "open"
}
```

## পাবলিক মেথড

[Web Push SDK 3.0](/bn/developer/pushwoosh-sdk/web-push-notifications/web-push-sdk-30/) গাইডে পাবলিক মেথডগুলির বিবরণ দেখুন।