ข้ามไปยังเนื้อหา

การตั้งค่า Message Inbox สำหรับ Flutter

Message Inbox (App Inbox ที่มี “ไอคอนรูประฆัง”) สำหรับ Flutter มาในรูปแบบแพ็คเกจแยกชื่อ pushwoosh_inbox ให้ติดตั้งควบคู่ไปกับแพ็คเกจพื้นฐาน pushwoosh_flutter

ข้อกำหนดเบื้องต้น

Anchor link to

เพิ่มแพ็คเกจ

Anchor link to

เพิ่ม pushwoosh_inbox ไปยัง pubspec.yaml ของคุณ ตรวจสอบเวอร์ชันปัจจุบันได้ที่ pub.dev:

pubspec.yaml
dependencies:
pushwoosh_inbox: '^2.3.24'

แสดงกล่องข้อความ

Anchor link to
import '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 URL

loadCachedMessages() จะส่งคืนรายการที่แคชไว้ล่าสุดในเครื่องโดยไม่มีการเรียกเครือข่ายบน Android ส่วนบน iOS ปัจจุบันมีพฤติกรรมเหมือนกับ loadMessages() และยังคงเรียกเครือข่ายอยู่