वेब संदेश इनबॉक्स सेट करें
पूर्वापेक्षाएँ
Anchor link toसुनिश्चित करें कि आपने अपनी वेबसाइट पर Pushwoosh Web SDK लागू किया है। ऐसा करने के लिए, कृपया हमारे गाइड का पालन करें।
वेबसाइटों के लिए Message Inbox आपको वेब पुश नोटिफिकेशन स्टोर करने की अनुमति देता है ताकि उपयोगकर्ता बाद में उन्हें फिर से देख सकें, यह सुनिश्चित करते हुए कि महत्वपूर्ण संदेश देखे जाते हैं।
यह कैसे काम करता है
Anchor link toयहाँ InboxMessages के साथ एक सामान्य वर्कफ़्लो है:
| चरण | मेथड |
|---|---|
| पेज लोड | |
| सर्वर के साथ संदेशों को सिंक्रनाइज़ करना |
|
| पुराने संदेशों को हटाना |
|
| बैज को अपडेट करने के लिए अपठित संदेशों की संख्या प्राप्त करना |
|
| इनबॉक्स में प्रदर्शित होने वाले संदेशों को लोड करना |
|
| व्यूपोर्ट में आए संदेशों को पढ़े गए के रूप में चिह्नित करना |
|
| खोले गए संदेश को सौंपे गए कार्य को करना |
|
| डिलीट आइकन पर क्लिक करके या संदेश को दाएं स्वाइप करके संदेशों को हटाना |
|
इवेंट श्रोता
Anchor link to// पेज लोड होने के दौरान इनबॉक्स के स्वचालित रूप से अपडेट होने के बाद निष्पादित होता है।Pushwoosh.push(['onUpdateInboxMessages', function(api, pwinbox) { pwinbox.loadMessages().then(function(messages) { console.log('EVENT: onUpdateInboxMessages', messages); });}]);// ServiceWorker द्वारा इनबॉक्स संदेश प्राप्त होने और indexedDB में सहेजे जाने के बाद निष्पादित होता है।Pushwoosh.push(['onPutNewMessageToInboxStore', function(api, message) { console.log('EVENT: onPutNewMessageToInboxStore', message);}]);पब्लिक मॉड्यूल
Anchor link toWebSDK InboxMessagesPublic मॉड्यूल वेब इनबॉक्स को लागू करने के लिए एक सार्वजनिक इंटरफ़ेस प्रस्तुत करता है।
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 toWeb Push SDK 3.0 गाइड में सार्वजनिक तरीकों के विवरण देखें।
Pushwoosh.pwinbox.syncMessages() सर्वर से वर्तमान इनबॉक्स खींचता है; बिल्ट-इन विजेट के अपने पोलिंग के बाहर एक रिफ्रेश को मजबूर करने के लिए इसे कॉल करें।