مقدمة
يُرسِل Lerix الإشعارات إلى تطبيقات Angular باستخدام بروتوكول Web Push القياسي (VAPID) — نفس المعيار المفتوح الذي تطبّقه Chrome وFirefox وEdge وSafari الحديث أصلياً. بدون مشروع Firebase، بدون حساب OneSignal — يُنشئ Lerix زوج المفاتيح ويديره نيابةً عنك. بعد إتمام تثبيت Angular، اتّبع الخطوات أدناه لتفعيل تسليم الإشعارات.تأكّد من تسجيل الـ SDK عبر
provideLerix() قبل إعداد الإشعارات.1. انسخ عامل الخدمة (service worker)
يتطلّب Web Push ملف عامل خدمة يُقدَّم من نفس أصل تطبيقك — لا يمكن لحزمة إضافة هذا الملف إلى تطبيقك تلقائياً. انسخه إلى مجلدpublic الخاص بك
بحيث يكون متاحاً على جذر موقعك:
2. أنشئ مفتاح Web Push
من لوحة التحكم: الإشعارات ← الإعدادات ← Web Push ← إنشاء المفاتيح. هذه خطوة بنقرة واحدة — يُنشئ Lerix زوج مفاتيح VAPID ويخزّنه للمشروع؛ لا حاجة لنسخ أي شيء في كودك.3. اشترك
subscribe() إذن الإشعارات، وتسجّل عامل الخدمة، وتشترك في هذا
المتصفح للإشعارات، وتسجّل الاشتراك لدى الخادم (backend) — استدعاء واحد
للتدفّق (flow) بأكمله.
البيانات (Payload) المُستلَمة مع الإشعار
يستقبل كل من الدالتين كائناً من نوعLerixNotificationPayload:
معرّفات الجهاز
null حتى تكتمل subscribe() مرة واحدة على الأقل.
إرسال بيانات وصفية (Metadata)
أرفق بيانات مخصّصة عبرmetadata (كائن JSON) عند الإرسال — من تبويب
إرسال إشعار في لوحة التحكم، أو معامل
metadata في REST API. تصل هذه
البيانات إلى الصفحة داخل payload.metadata:
إرسال صورة
اضبطimageUrl عند الإرسال — من تبويب إرسال إشعار في لوحة التحكم، أو
معامل imageUrl في REST API. يعمل
هذا تلقائياً دون أي إعداد إضافي: يعرض عامل الخدمة الصورة مباشرة كأيقونة/صورة
الإشعار.
الصوت المخصّص غير مدعوم في إشعارات الويب. لا تتيح واجهة Web
Notifications API طريقة لضبط صوت إشعار مخصّص عبر المتصفحات، لذا يُتجاهَل
معامل
sound في لوحة التحكم/API بالنسبة للمستقبِلين عبر المتصفح — ينطبق
فقط على iOS وAndroid.استهدف مستخدماً على كل أجهزته
إذا كان منتجك يعمل أيضاً على منصات أخرى (الويب أو الجوال أو سطح المكتب)، فأضِفها إلى نفس المشروع واربط كل تثبيت بمعرّف المستخدم الخاص بك بعد تسجيل الدخول. عندها يستطيع الباك إند الخاص بك الإرسال إلىexternalUserIds والوصول
إلى هذا الشخص على كل أجهزته في طلب واحد.
المواضيع (Topics)
بدلاً من استهداف رموز أجهزة محددة، يمكن للجهاز الاشتراك في موضوع (topic) باسم معيّن — أرسِل إشعاراً واحداً إلى الموضوع ليصل لكل مشترك فيه. لا حاجة لإنشاء الموضوع مسبقاً؛ يُنشأ تلقائياً أول مرة يشترك فيها أي جهاز. يمكنك أيضاً عرض المواضيع وإنشاءها وحذفها من تبويب الإشعارات ← المواضيع في لوحة التحكم.sendByTopic: true.