বিষয়বস্তুতে যান

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

পূর্বশর্ত

Anchor link to

নিশ্চিত করুন যে আপনি আপনার ওয়েবসাইটে Pushwoosh Web SDK প্রয়োগ করেছেন। এটি করতে, অনুগ্রহ করে আমাদের গাইড অনুসরণ করুন।

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

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

Anchor link to

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

ধাপমেথড
পেজ লোড
সার্ভারের সাথে মেসেজ সিঙ্ক্রোনাইজ করা

InboxMessagesModel.updateMessages
SDK ইনিশিয়ালাইজ করার সময় সম্পাদিত হয়

পুরানো মেসেজ মুছে ফেলা

InboxMessagesModel.updateMessages
SDK ইনিশিয়ালাইজ করার সময় সম্পাদিত হয়

একটি ব্যাজ আপডেট করার জন্য অপঠিত মেসেজের সংখ্যা গ্রহণ করা

Pushwoosh.pwinbox.unreadMessagesCount
ম্যানুয়ালি সম্পাদিত হয় (onUpdateInboxMessagesইভেন্ট ট্রিগার হওয়ার পরে)

ইনবক্সে প্রদর্শনের জন্য মেসেজ লোড করা

Pushwoosh.pwinbox.loadMessages
ম্যানুয়ালি সম্পাদিত হয় (onUpdateInboxMessagesইভেন্ট ট্রিগার হওয়ার পরে)

ভিউ-পোর্টে আসা মেসেজগুলিকে পঠিত হিসাবে চিহ্নিত করা

Pushwoosh.pwinbox.readMessagesWithCodes
ম্যানুয়ালি সম্পাদিত হয়

খোলা মেসেজের জন্য নির্ধারিত একটি অ্যাকশন সম্পাদন করা

Pushwoosh.pwinbox.performActionForMessageWithCode
ম্যানুয়ালি সম্পাদিত হয়

একটি ডিলিট আইকনে ক্লিক করে বা একটি মেসেজ ডানদিকে সোয়াইপ করে মেসেজ মুছে ফেলা

Pushwoosh.pwinbox.performActionForMessageWithCode
ম্যানুয়ালি সম্পাদিত হয়

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

Anchor link to
onUpdateInboxMessages
// Executed after the Inbox is updated automatically while the page is loading.
Pushwoosh.push(['onUpdateInboxMessages', function(api, pwinbox) {
pwinbox.loadMessages().then(function(messages) {
console.log('EVENT: onUpdateInboxMessages', messages);
});
}]);
onPutNewMessageToInboxStore
// Executed by ServiceWorker after the Inbox Message is received and saved to indexedDB.
Pushwoosh.push(['onPutNewMessageToInboxStore', function(api, message) {
console.log('EVENT: onPutNewMessageToInboxStore', message);
}]);

পাবলিক মডিউল

Anchor link to

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

Model
type TInboxMessageTypePlain = 0;
type TInboxMessageTypeRichmedia = 1;
type TInboxMessageTypeURL = 2;
type TInboxMessageTypeDeeplink = 3;
type TInboxMessageType = TInboxMessageTypePlain // depends on action_params
| TInboxMessageTypeRichmedia
| TInboxMessageTypeURL
| TInboxMessageTypeDeeplink;
type TInboxLayout = 'classic' | 'banner' | 'captioned' | 'carousel';
interface IInboxMessageSlide {
imageUrl: string;
caption: string; // caption overlaid on the slide; empty when the slide has none
link: string; // where a tap on the slide goes; empty when the slide has none, and the message's own action applies instead
}
interface IInboxMessagePublic {
code: string; // inbox_id
title: string; // title
message: string; // body
imageUrl: string; // image
sendDate: string; // send_date, ISO 8601 in UTC
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"
layout: TInboxLayout; // cell layout to draw, already degraded to one this message can render
iconUrl: string; // small round avatar; same value as imageUrl, under the name the layouts use
heroUrl: string; // hero image; falls back to iconUrl when the message has no banner, so it's set for classic messages too
carousel: Array<IInboxMessageSlide>; // slides of the carousel layout; empty for every other layout
customData: Record<string, unknown>; // the campaign's own custom data, as sent from the control panel
}

সেল লেআউট। একটি মেসেজ চারটি লেআউটের মধ্যে একটি হিসাবে রেন্ডার হয় — classic, banner, captioned, বা carousel — কন্ট্রোল প্যানেলে ক্যাম্পেইন প্রিভিউতে দেখানো একই লেআউট। একটি লেআউট যা মেসেজের বিষয়বস্তু দিয়ে রেন্ডার করতে পারে না তা classic-এ অবনমিত হয়: banner-এর জন্য একটি হিরো ইমেজ প্রয়োজন, captioned-এর জন্য একটি হিরো ইমেজ এবং একটি টাইটেল ও বডি উভয়ই প্রয়োজন, এবং carousel-এর জন্য কমপক্ষে একটি স্লাইড এবং একটি টাইটেল ও বডি উভয়ই প্রয়োজন। পাবলিক মেসেজে layout সর্বদা সেই লেআউটটি হয় যা আসলে আঁকা হয়েছে, যা ইতিমধ্যেই অবনমিত।

layout পরীক্ষা করাই একটি মেসেজ কী রেন্ডার করবে তা জানার একমাত্র নির্ভরযোগ্য উপায় — heroUrl classic মেসেজের জন্যও সেট করা থাকে (উপরের ফিল্ড নোট দেখুন), তাই একটি ইন্টিগ্রেশনকে হিরো আঁকতে হবে কিনা তা নির্ধারণ করার জন্য এর উপস্থিতি ব্যবহার করা উচিত নয়।

পাবলিক মেথড

Anchor link to

Web Push SDK 3.0 গাইডে পাবলিক মেথডগুলির বিবরণ দেখুন।

Pushwoosh.pwinbox.syncMessages() সার্ভার থেকে বর্তমান ইনবক্স নিয়ে আসে; বিল্ট-ইন উইজেটের নিজস্ব পোলিংয়ের বাইরে একটি রিফ্রেশ জোর করে করতে এটি কল করুন।