![]() |
شرح تركيب الإشعارات للمواقع والمنتديات وإرسال التنبيهات للزوار
شرح تركيب وتفعيل إشعارات Push لموقعك أو منتداك طريقة إضافة إشعارات حقيقية للموقع واستقبالها على الكمبيوتر والآيفون تقدر تضيف لموقعك أو منتداك ميزة إشعارات Web Push، بحيث يظهر للزائر خيار تفعيل الإشعارات، وبعد موافقته تقدر ترسل له تنبيه عن موضوع جديد أو خبر أو تحديث بالموقع. الإشعارات تعتمد على تقنية Push API و Service Worker، ويستطيع الموقع استقبال الإشعار حتى عندما لا تكون صفحة الموقع مفتوحة أمام المستخدم. ـــــــــــــــــــــــــ ـــــــــــ شكل طلب تفعيل الإشعارات في الموقع https://zmzm.net/up/uploads/elite_up...1907_7908.jpeg ـــــــــــــــــــــــــ ـــــــــــ المتطلبات • الموقع يعمل على HTTPS • إمكانية رفع ملفات PHP و JavaScript • Composer على السيرفر أو الكمبيوتر • إنشاء مفاتيح VAPID • ملف Service Worker • مكان لحفظ اشتراكات الزوار ـــــــــــــــــــــــــ ـــــــــــ أولاً: تثبيت مكتبة Web Push إذا كان موقعك يعمل بـ PHP، نستخدم مكتبة Web Push. من خلال Composer شغل الأمر التالي: كود:
composer require minishlink/web-pushكود:
vendorكود:
require DIR . ‘/vendor/autoload.php’;ـــــــــــــــــــــــــ ـــــــــــ ثانياً: إنشاء مفاتيح VAPID الإشعارات تحتاج مفتاحين: • Public Key • Private Key المفتاح العام يوضع في JavaScript ويمكن أن يظهر للزوار. أما Private Key فلا تضعه داخل JavaScript ولا تنشره، ويجب أن يبقى داخل السيرفر فقط. بعد إنشاء المفاتيح احتفظ بها لأننا سنستخدمها في الاشتراك وإرسال الإشعارات. ـــــــــــــــــــــــــ ـــــــــــ ثالثاً: إنشاء ملف Service Worker أنشئ ملف باسم مثلاً: كود:
sw.jsمثال بسيط: كود:
self.addEventListener(‘push’, function(event) {ـــــــــــــــــــــــــ ـــــــــــ رابعاً: تسجيل Service Worker نضيف JavaScript داخل الموقع: كود:
if (‘serviceWorker’ in navigator) {ـــــــــــــــــــــــــ ـــــــــــ خامساً: زر تمكين الإشعارات الأفضل ألا تطلب الإذن من الزائر مباشرة عند فتح الموقع. ضع له زر واضح مثل: كود:
تمكين الإشعاراتكود:
document.getElementById(‘enableNotifications’).onclick = async function() {ـــــــــــــــــــــــــ ـــــــــــ سادساً: إنشاء اشتراك Push بعد موافقة الزائر يجب إنشاء اشتراك للمتصفح. ضع المفتاح العام الخاص بك مكان: كود:
YOUR_PUBLIC_VAPID_KEYكود:
const registration = await navigator.serviceWorker.ready;كود:
function urlBase64ToUint8Array(base64String) {ـــــــــــــــــــــــــ ـــــــــــ سابعاً: حفظ اشتراك الزائر مثلاً نرسل الاشتراك إلى: كود:
save-subscription.phpكود:
await fetch(’/save-subscription.php’, {كل متصفح أو جهاز سيملك اشتراكاً خاصاً به. ـــــــــــــــــــــــــ ـــــــــــ ثامناً: إرسال إشعار من PHP مثال أساسي: كود:
ـــــــــــــــــــــــــ ـــــــــــ طريقة تفعيل الإشعارات على الآيفون إذا ظهر للمستخدم تنبيه يطلب منه إضافة الموقع إلى الشاشة الرئيسية، يتبع الخطوات التالية: 1- افتح الموقع بواسطة Safari 2- اضغط زر المشاركة 3- اختر إضافة إلى الشاشة الرئيسية 4- افتح الموقع من الأيقونة الجديدة 5- اضغط تمكين الإشعارات بعد إضافة الموقع للشاشة الرئيسية سيظهر كأنه تطبيق مستقل. https://zmzm.net/up/uploads/elite_up...11907_5755.png وهنا أصبح الموقع موجوداً على الشاشة الرئيسية ويمكن فتحه مثل أي تطبيق. ـــــــــــــــــــــــــ ـــــــــــ ملاحظات مهمة • لا تنشر Private VAPID Key • لا تطلب الإذن من الزائر بطريقة مزعجة • الأفضل وضع زر خاص لتفعيل الإشعارات • احذف الاشتراكات المنتهية أو غير الصالحة من قاعدة البيانات • استخدم الإشعارات للمواضيع المهمة ولا تكثر منها • اختبر الإشعارات على أكثر من متصفح وجهاز ـــــــــــــــــــــــــ ـــــــــــ النتيجة الزائر يوافق على الإشعارات مرة واحدة، وبعدها تستطيع إرسال تنبيه يحتوي على عنوان ونص ورابط، وعند الضغط عليه ينتقل مباشرة إلى الصفحة أو الموضوع المطلوب. وتصلح الطريقة للمواقع المبنية بـ PHP وكذلك المنتديات القديمة مثل vBulletin مع بعض التعديل البسيط على أماكن الأكواد. منتديات النخبة | ZMZM.NET |
| الساعة الآن 03:06 AM |
Powered by vBulletin® Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. TranZ By
Almuhajir
© 2026 ZMZM.NET - منتدى النخبة