Pusher — البثّ اللحظي للإشعارات
مع Pusher تزيد شارة الجرس في تبويب مفتوح لحظة وصول تذكير أو إشعار إجراء — بلا تحديث. بدونه لا يتعطّل شيء: الجرس والبريد يعملان، والشارة تتحدّث عند تحميل الصفحة. الإعداد من تبويب Pusher، والمتصفح يشترك في قناة خاصة لكل مستخدم.
آخر تحديث: 2026-10-09
في الصفحة دي
ماذا يُبثّ؟
إشعاران فقط: تذكيرات الاستحقاق وإشعارات إجراءات الشيك — على قناة خاصة لكل مستخدم private-App.Models.User.{id} بحدث الفريمورك BroadcastNotificationCreated وحمولة {cheque_log_id, type, id}. لا قنوات عامة ولا حضور. والمتصفح عند الاستقبال يزيد رقم شارة الجرس بواحد فقط؛ التفاصيل تُقرأ من صفحة الإشعارات كالمعتاد.
الإعداد
الإعدادات ← اعدادات عامة ← تبويب Pusher (عرض بصلاحية إدارة التكامل):
| الحقل | ملاحظة |
|---|---|
| تفعيل Pusher | مطفأ ⟹ البثّ يسقط إلى log (لا شيء يُرسل) |
| اتصال البثّ | Pusher · Log · Null |
| استخدام TLS | موصى به في الإنتاج |
| App ID · App Key · App Secret · Cluster | من لوحة Pusher — السرّ يُكتب ولا يُقرأ بعد الحفظ |
| المضيف (اختياري) · المنفذ (اختياري) · البروتوكول | لخادم بثّ ذاتي متوافق مع Pusher |

جدول الإعدادات هو المصدر (لا .env)، ويُقرأ عند الإقلاع. حارس مزدوج: التفعيل مطفأ أو البيانات ناقصة ⟹ الاتصال log. وسطر حالة القنوات في تبويب الإشعارات يقولها: «الجرس داخل البرنامج: مفعَّل دائمًا · البثّ اللحظي: معطّل (لا خادم بثّ مضبوط) · البريد: …».
ما يلزم على الخادم
البثّ فوري من الطلب نفسه — بلا طابور ولا عامل طابور على الخادم: الإشعار يصل المستلم لحظة الإجراء. (قبل 1.9.0 كان البثّ يُدفع إلى الطابور فيلزمه queue:work؛ والتحديث إلى 1.9.0 يمسح صفوف البثّ القديمة المتراكمة في جدول jobs.)
المتصفح يحمّل pusher.min.js من CDN ويشترك بقناة المستخدم — ويشترط Cluster مضبوطًا (خادم ذاتي بمضيف بلا cluster يبثّ ولا يستمع أحد).
أثر الغياب
لا شيء يتعطّل: الإشعارات في القاعدة والجرس والبريد كلها تعمل — البثّ يُضاف فقط حين يكون المحرّك حقيقيًا. الخسارة الوحيدة: الشارة لا تزيد لحظيًا في تبويب مفتوح. ولو كان Pusher بطيئًا أو واقعًا يكمل الإجراء عاديًا (بعد 3 ثوانٍ على الأكثر)، ويظهر الإشعار في الجرس عند التحديث.
مشاكل شائعة
- الحفظ يرفض بلا تغيير السرّ — في الإصدارات قبل 1.8.0: أعد كتابة App Secret مع كل حفظ؛ من 1.8.0 الفارغ يبقي المحفوظ.
- مفعَّل ولا يصل شيء — Cluster فارغ أو مفاتيح خاطئة (راجع لوحة Pusher). الإشعار نفسه يبقى في الجرس عند تحديث الصفحة.
- يعمل على جهاز ولا يعمل على آخر — القناة لكل مستخدم؛ المستخدم الآخر ليس مستهدفًا بالإشعار (نطاق الرؤية).
صفحات ذات صلة
هل أجابت هذه الصفحة عن سؤالك؟
شكرًا — رأيك يصلنا ويساعدنا نحسّن الدليل.
تعذّر الإرسال — حاول مرة أخرى بعد قليل.