Flutter के लिए मैसेज इनबॉक्स सेटअप करना
Flutter के लिए मैसेज इनबॉक्स (“घंटी आइकन” ऐप इनबॉक्स) एक अलग pushwoosh_inbox पैकेज के रूप में आता है, इसे बेस pushwoosh_flutter पैकेज के साथ इंस्टॉल करें।
पूर्वापेक्षाएँ
Anchor link to- बेस Pushwoosh Flutter SDK पहले से ही एकीकृत है और पुश भेज रहा है।
पैकेज जोड़ें
Anchor link toअपने pubspec.yaml में pushwoosh_inbox जोड़ें। वर्तमान संस्करण के लिए pub.dev देखें:
dependencies: pushwoosh_inbox: '^2.3.24'इनबॉक्स दिखाएं
Anchor link toimport 'package:pushwoosh_inbox/pushwoosh_inbox.dart';
PushwooshInbox.presentInboxUI();यह SDK के डिफ़ॉल्ट रूप के साथ एक नेटिव स्क्रीन (iOS पर एक व्यू कंट्रोलर, Android पर एक एक्टिविटी) खोलता है।
स्टाइल को कस्टमाइज़ करें
Anchor link topresentInboxUI() में एक PWInboxStyle पास करें। हर फ़ील्ड वैकल्पिक है और अगर सेट नहीं किया गया है तो अपना डिफ़ॉल्ट मान रखता है। इमेज फ़ील्ड Flutter एसेट पाथ हैं और उन्हें आपके pubspec.yaml में घोषित किया जाना चाहिए:
| फ़ील्ड | कस्टमाइज़ करता है |
|---|---|
dateFormat | तारीख का फ़ॉर्मेटिंग, जैसे "dd.MMMM.yyyy" |
defaultImage | बिना इमेज वाले संदेश के बगल में डिफ़ॉल्ट आइकन |
unreadImage | न पढ़े गए संदेशों का निशान (केवल iOS) |
listErrorImage | सूची लोड होने में विफल होने पर दिखाया जाता है |
listEmptyImage | जब सूची में कोई संदेश नहीं होता है तो दिखाया जाता है |
listErrorMessage | त्रुटि टेक्स्ट (स्थानीयकृत नहीं) |
listEmptyMessage | खाली-सूची टेक्स्ट (स्थानीयकृत नहीं) |
barTitle | इनबॉक्स स्क्रीन का शीर्षक |
defaultTextColor | डिफ़ॉल्ट टेक्स्ट का रंग (केवल iOS) |
accentColor | एक्सेंट रंग |
backgroundColor | बैकग्राउंड का रंग |
highlightColor | चयन का रंग |
titleColor | संदेश के शीर्षक का रंग |
readTitleColor | पढ़े गए संदेशों के लिए शीर्षक का रंग (केवल Android) |
descriptionColor | संदेश के विवरण का रंग |
readDescriptionColor | पढ़े गए संदेशों के लिए विवरण का रंग (केवल Android) |
dateColor | संदेश की तारीख का रंग |
readDateColor | पढ़े गए संदेशों के लिए तारीख का रंग (केवल Android) |
dividerColor | विभाजक का रंग |
barBackgroundColor | टाइटल बार के बैकग्राउंड का रंग |
barAccentColor | टाइटल बार के बैक-बटन का रंग |
barTextColor | टाइटल बार के टेक्स्ट का रंग |
imageTypeColor | न पढ़े गए एक्शन आइकन का रंग, जैसे डीप लिंक या URL (केवल Android) |
readImageTypeColor | पढ़े गए एक्शन आइकन का रंग (केवल Android) |
PWInboxStyle style = PWInboxStyle();style.barTitle = "Messages";style.barBackgroundColor = "#3AD29F";style.accentColor = "#6750A4";style.listEmptyMessage = "No messages yet";style.defaultImage = "assets/images/logo.png";PushwooshInbox.presentInboxUI(style: style);संदेशों को प्रोग्रामेटिक रूप से प्रबंधित करें
Anchor link toबिल्ट-इन स्क्रीन खोले बिना संदेश सूची, पढ़े गए संदेशों की गिनती लोड करें, और व्यक्तिगत संदेशों पर कार्रवाई करें। यह एक कस्टम इनबॉक्स UI या एक न पढ़े गए बैज के लिए उपयोगी है:
try { List<InboxMessage> messages = await PushwooshInbox.loadMessages(); for (final message in messages) { print("${message.title}: ${message.message}"); }
int? unread = await PushwooshInbox.unreadMessagesCount(); int? total = await PushwooshInbox.messagesCount(); int? notActedOn = await PushwooshInbox.messagesWithNoActionPerformedCount();} catch (error) { print("Failed to load inbox data: $error");}
PushwooshInbox.readMessage(messageCode);PushwooshInbox.deleteMessage(messageCode);PushwooshInbox.performAction(messageCode); // runs the message's default action, e.g. opening a URLloadCachedMessages() Android पर नेटवर्क कॉल के बिना अंतिम स्थानीय रूप से कैश्ड सूची लौटाता है। iOS पर यह वर्तमान में loadMessages() के समान व्यवहार करता है और अभी भी नेटवर्क को कॉल करता है।