لوحة تحكم الدورة

أساسيات الإشعارات في تطبيقات الجوال

تعد الإشعارات (Notifications) واحدة من أقوى أدوات التفاعل في تطبيقات الجوال الحديثة. فهي الجسر الذي يربط تطبيقك بالمستخدم حتى عندما لا يكون التطبيق مفتوحاً. في هذا الدليل، سنستكشف المفاهيم الأساسية، الأنواع المختلفة، والفروقات الجوهرية بين نظامي Android و iOS.


ما هي الإشعارات؟

ببساطة، الإشعارات هي رسائل يرسلها التطبيق لتنبيه المستخدم بحدث معين. تكمن أهميتها في:

  • زيادة التفاعل: أظهرت الدراسات أن التطبيقات التي تستخدم الإشعارات بذكاء تحقق معدل احتفاظ بالمستخدمين أعلى بـ 4 أضعاف.
  • التنبيه بالأحداث الهامة: مثل وصول رسالة جديدة، تحديث في حالة طلب، أو تذكير بموعد.
  • تحديث البيانات في الخلفية: دون الحاجة لفتح التطبيق يدوياً.

[!IMPORTANT] مع القوة تأتي المسؤولية. الإشعارات المزعجة هي السبب الأول لحذف التطبيقات (Uninstalls). التوازن هو المفتاح.


أنواع الإشعارات

يمكن تصنيف الإشعارات إلى ثلاثة أنواع رئيسية بناءً على مصدرها وسلوكها:

1. الإشعارات المحلية (Local Notifications)

يتم توليد هذه الإشعارات وجدولتها من داخل التطبيق نفسه على الجهاز.

  • المصدر: كود التطبيق مباشرة.
  • الاتصال: لا تحتاج إلى إنترنت أو خادم خارجي.
  • حالات الاستخدام: المنبهات، تذكيرات المهام، الإشعارات المجدولة مسبقاً بناءً على إدخال المستخدم.

2. الإشعارات الفورية (Push Notifications)

تأتي هذه الإشعارات من خادم خارجي (Server) إلى جهاز المستخدم.

  • المصدر: خادم التطبيق عبر خدمات مثل Firebase (FCM) أو Apple (APNs).
  • الاتصال: تتطلب اتصالاً فعالاً بالإنترنت.
  • حالات الاستخدام: رسائل الشات، أخبار عاجلة، تحديثات الطلبات الحية.

3. الإشعارات الصامتة (Silent Notifications)

إشعارات تصل للجهاز لكنها لا تظهر للمستخدم (لا يوجد صوت أو نص).

  • الغرض: تنبيه التطبيق للقيام بمهمة في الخلفية (Background Task) مثل تحميل محتوى جديد.

الفروقات بين Android و iOS

على الرغم من أن نظام Expo يوفر واجهة برمجية موحدة، إلا أن هناك اختلافات جوهرية يجب مراعاتها:

الميزةAndroidiOS
قنوات الإشعارات (Channels)إلزامية (تسمح بتصنيف الإشعارات والتحكم بها)غير موجودة (التحكم يتم عالمياً أو عبر الفئات)
الظهور في شريط الحالةتظهر أيقونات صغيرة في الأعلىلا تظهر أيقونات (تظهر فقط في مركز الإشعارات)
التخصيصمرونة عالية في الصوت، الاهتزاز، والألوانقيود أكثر صرامة لضمان تجربة مستخدم موحدة
الصلاحياتتختلف حسب إصدار النظام (أصبحت اختيارية مؤخراً)كانت دائماً تتطلب موافقة صريحة من المستخدم

البدء مع Expo

للتعامل مع الإشعارات في مشروع Expo، نستخدم المكتبة الرسمية expo-notifications.

التثبيت

في مشروعك الجديد، قم بتشغيل الأمر التالي:

App.jsbash
npx expo install expo-notifications

تجهيز بيئة العمل

تأكد من تحديث ملف app.json (أو app.config.js) لإضافة الإعدادات اللازمة، خاصة في المشاريع التي سيتم رفعها للمتاجر.


التحدي الأول

قبل الانتقال للدرس القادم، ابحث في هاتفك عن 3 تطبيقات تستخدمها يومياً. حاول تخمين: هل تستخدم إشعارات Local (مثل منبه) أم Push (مثل واتساب)؟ وكيف تؤثر هذه الإشعارات على رغبتك في فتح التطبيق؟