انتقل إلى المحتوى

إعداد صندوق الرسائل الواردة لـ Flutter

يأتي صندوق الرسائل الواردة (Message 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(). كل حقل اختياري ويحتفظ بقيمته الافتراضية عند تركه فارغًا. حقول الصور هي مسارات أصول 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

قم بتحميل قائمة الرسائل، وعدد الرسائل المقروءة، واتخاذ إجراءات على الرسائل الفردية دون فتح الشاشة المدمجة. هذا مفيد لواجهة مستخدم مخصصة لصندوق الرسائل الواردة أو لشارة غير مقروءة:

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() ولا تزال تستدعي الشبكة.