إعداد صندوق الرسائل الواردة لـ Flutter
يأتي صندوق الرسائل الواردة (Message Inbox) (صندوق وارد التطبيق “أيقونة الجرس”) لـ Flutter كحزمة منفصلة باسم pushwoosh_inbox، قم بتثبيتها إلى جانب الحزمة الأساسية pushwoosh_flutter.
المتطلبات الأساسية
Anchor link to- أن تكون حزمة Pushwoosh Flutter SDK الأساسية مدمجة بالفعل وترسل الإشعارات.
أضف الحزمة
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(). كل حقل اختياري ويحتفظ بقيمته الافتراضية عند تركه فارغًا. حقول الصور هي مسارات أصول 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() ولا تزال تستدعي الشبكة.