مقدمة
يُرسِل Atelerix إشعارات الويب باستخدام بروتوكول Web Push القياسي (VAPID) — نفس المعيار المفتوح الذي تطبّقه Chrome وFirefox وEdge وSafari الحديث أصلياً. بدون مشروع Firebase، بدون حساب OneSignal — يُنشئ Atelerix زوج المفاتيح ويديره نيابةً عنك.هذه حزمة منفصلة عن SDK الخاص بـ Flutter —
lerix_web_notification مكتبة
JS/TS صغيرة ومستقلة عن أي إطار عمل، مخصّصة لتطبيقات الويب غير المبنية
بـ Flutter (React، Vue، HTML عادي، إلخ). إذا كان تطبيقك مبنياً بـ
Flutter — بما في ذلك Flutter Web — لا تستخدم هذه الحزمة؛ حزمة atelerix
الخاصة بـ Flutter تدعم iOS وAndroid والويب أصلياً من حزمة واحدة وبـ API
واحد. راجع Flutter — الإشعارات
بدلاً من ذلك.1. التثبيت
2. انسخ عامل الخدمة (service worker)
يتطلّب Web Push ملف عامل خدمة (service worker) يُقدَّم من نفس أصل موقعك — لا يمكن لاستيراد<script> عادي تسجيل واحد نيابةً عنك. انسخ
node_modules/lerix_web_notification/sw/atelerix-sw.js إلى جذر موقعك
العام بحيث يكون متاحاً على https://yoursite.com/atelerix-sw.js (أي مسار
آخر يعمل أيضاً، طالما مرّرته إلى subscribe() إن لم يكن في هذا المسار
الافتراضي).
3. أنشئ مفتاح Web Push
من لوحة التحكم: الإشعارات ← الإعدادات ← Web Push ← إنشاء المفاتيح. هذه خطوة بنقرة واحدة — يُنشئ Atelerix زوج مفاتيح VAPID ويخزّنه للمشروع؛ لا حاجة لنسخ أي شيء في كودك.4. استخدمها
API
البيانات (Payload) المُستلَمة مع الإشعار
يستقبل كلا الاستدعائين كائناً من نوعAtelerixNotificationPayload — بنفس
الشكل الذي يستخدمه نموذج SDK الخاص بـ Flutter:
إرسال صورة
اضبطimageUrl عند الإرسال — من تبويب إرسال إشعار في لوحة التحكم، أو
معامل imageUrl في REST API.
بخلاف iOS، يعمل هذا تلقائياً على الويب بدون أي إعداد إضافي: يعرضها عامل
الخدمة مباشرة كأيقونة/صورة الإشعار.
إرسال بيانات وصفية (Metadata)
اضبطmetadata عند الإرسال — تصل إلى الصفحة داخل payload.metadata،
لتوجيه الضغط على الإشعار إلى عرض معيّن داخل التطبيق مثلاً. راجع
إرسال بيانات وصفية
لتفاصيل المعامل الكاملة (متطابقة عبر كل المنصات).
الصوت المخصّص غير مدعوم لإشعارات الويب. لا توفّر واجهة Web
Notifications طريقة موحّدة عبر المتصفحات لتحديد صوت إشعار مخصّص، لذا
يُتجاهَل معامل
sound في لوحة التحكم/الـ API بالنسبة لمستلمي الويب — يُطبَّق
فقط على iOS وAndroid.دعم المتصفحات
تدعم Chrome وFirefox وEdge بروتوكول Web Push بشكل كامل. يتطلّب Safari إصدار macOS 13+ أو iOS 16.4+ — الإصدارات الأقدم من Safari لا تدعم البروتوكول القياسي إطلاقاً.Flutter Web
لا تستخدم JS SDK هذا لتطبيق Flutter، حتى لو كان بناء Flutter Web — حزمةatelerix الخاصة بـ Flutter تدعم iOS وAndroid والويب أصلياً من حزمة واحدة،
وتتواصل مباشرةً مع Push API الخاصة بالمتصفح بدون أي اعتماد JS منفصل إطلاقاً.
نفس استدعاءات Atelerix.notifications.*، ونفس شكل AtelerixNotificationPayload،
على كل منصة: