การตั้งค่า Message Inbox สำหรับ Flutter
Message Inbox (App Inbox ที่มี “ไอคอนรูประฆัง”) สำหรับ Flutter มาในรูปแบบแพ็คเกจแยกชื่อ pushwoosh_inbox ให้ติดตั้งควบคู่ไปกับแพ็คเกจพื้นฐาน pushwoosh_flutter
ข้อกำหนดเบื้องต้น
Anchor link to- Pushwoosh Flutter SDK พื้นฐาน ได้รับการผสานรวมและส่ง push อยู่แล้ว
เพิ่มแพ็คเกจ
Anchor link toเพิ่ม pushwoosh_inbox ไปยัง pubspec.yaml ของคุณ ตรวจสอบเวอร์ชันปัจจุบันได้ที่ pub.dev:
dependencies: pushwoosh_inbox: '^2.3.24'แสดงกล่องข้อความ
Anchor link toimport 'package:pushwoosh_inbox/pushwoosh_inbox.dart';
PushwooshInbox.presentInboxUI();คำสั่งนี้จะเปิดหน้าจอแบบเนทีฟ (view controller บน iOS, Activity บน Android) ที่มีลักษณะหน้าตาเริ่มต้นของ SDK
ปรับแต่งสไตล์
Anchor link toส่ง PWInboxStyle ไปยัง presentInboxUI() ทุกฟิลด์เป็นทางเลือกและจะคงค่าเริ่มต้นไว้หากไม่ได้ตั้งค่า ฟิลด์รูปภาพคือพาธของ asset ใน 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 | สีไอคอนการกระทำที่ยังไม่ได้อ่าน เช่น deep link หรือ 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โหลดรายการข้อความ, จำนวนที่ยังไม่ได้อ่าน, และดำเนินการกับข้อความแต่ละรายการโดยไม่ต้องเปิดหน้าจอที่มาพร้อมกับ SDK ซึ่งมีประโยชน์สำหรับการสร้าง 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() และยังคงเรียกเครือข่ายอยู่