هل فكرت يومًا في الإشعارات التي نتلقاها من التطبيقات التي قمنا بتثبيتها؟ أو كيف يستفزنا Swiggy أو Zomato لطلب الطعام في الساعة 3 صباحًا بإشعاراتهم الإبداعية؟ ?
دعونا نتعمق في مفهوم الإشعارات!
الإشعار هو رسالة أو تنبيه يرسله التطبيق لإعلام المستخدمين بالتحديثات أو الأحداث أو الإجراءات، ويتم تسليمها عادةً خارج واجهة التطبيق.
الآن يمكن أن يكون هناك نوعين من الإشعارات كما هو موضح أدناه -
إشعارات الدفع هي رسائل أو تنبيهات يتم إرسالها من الخادم إلى التطبيق عندما لا يكون التطبيق قيد التشغيل بشكل نشط في المقدمة. يتم استخدامها بشكل أساسي للحفاظ على تفاعل المستخدمين عن طريق إرسال التحديثات أو التذكيرات أو المحتوى المخصص. يتم تسليم الإشعارات الفورية من خلال خدمات نظام التشغيل مثل خدمة Apple Push Notification Service (APNs) لنظام التشغيل iOS أو Firebase Cloud Messaging (FCM) لنظام Android.
الإشعارات داخل التطبيق هي رسائل أو تنبيهات يتم عرضها للمستخدمين أثناء استخدامهم للتطبيق بشكل نشط. على عكس الإشعارات الفورية، لا تتطلب هذه الإشعارات تدخل الخادم ويتم تشغيلها داخل التطبيق نفسه، عادةً نتيجة لإجراءات المستخدم أو أحداث التطبيق.
الآن بعد أن عرفنا الإشعارات وأنواعها، حان الوقت لتطبيق الميزة في تطبيق التفاعل الأصلي الخاص بك. هذا الدليل مخصص لتنفيذ الإشعارات الفورية فقط في تطبيق React الأصلي لنظام Android فقط، إذا كنت تريد إشعارًا لنظام iOS أو داخل التطبيق، فاكتب تعليقًا وسأنشر ذلك بالتأكيد!
للبدء، سنستخدم خدمة خارجية تسمى OneSignal. لقد عثرت مؤخرًا على هذه المنصة وأذهلتني الخدمات التي تقدمها.
OneSignal هي خدمة إشعارات دفعية تمكن مطوري التطبيقات من إرسال إشعارات مستهدفة للمستخدمين عبر منصات مختلفة، بما في ذلك تطبيقات الهاتف المحمول ومواقع الويب والبريد الإلكتروني. وهو يدعم إشعارات الدفع وداخل التطبيق والويب، ويوفر ميزات مثل التجزئة والأتمتة واختبار A/B والتحليلات في الوقت الفعلي. يتم استخدام OneSignal على نطاق واسع لتحسين تفاعل المستخدمين والاحتفاظ بهم من خلال تقديم حل سهل التكامل لإرسال رسائل مخصصة. تتكون الطبقة المجانية الخاصة بهم من 10,000 إرسال بريد إلكتروني مجاني شهريًا، وعمليات إرسال غير محدودة عبر الهاتف المحمول، وسير عمل الرحلات، ومتوافق مع اللائحة العامة لحماية البيانات، واختبار A/B
بالرجوع إلى الدليل، نظرًا لأننا نعلم بالفعل أن إشعارات الدفع تتطلب معالجة من جانب الخادم عبر FCM (Firebase Cloud Messaging) ومن ثم هناك بعض الخطوات التي يجب اتباعها:
إعداد مشروع Firebase (تجاهل الخطوتين الأوليين إذا كان لديك بالفعل مشروع Firebase):
إعداد OneSignal
لقد انتهينا من الإعداد في Firebase وOneSignal، والآن المهمة الوحيدة المتبقية هي بعض Coffee with Code
npm i react-native-onesignal
import { OneSignal } from 'react-native-onesignal';
ولقد قمت بإضافة مقتطف الكود هذا لتهيئة OneSignal
OneSignal.initialize('YOUR_APP_ID');
يمكنك تغليف هذا داخل خطاف useEffect للتكامل والاتصال السلس مع OneSignal.
سيؤدي هذا إلى تهيئة الجهاز بمعرف فريد لـ OneSignal ويمكنك التحقق من ذلك في الاشتراكات في الشريط الجانبي. سيتم تعريف كل جهاز تتم تهيئته باستخدام معرف OneSignal الفريد هذا ويمكنك تعيينه يدويًا أيضًا إذا كان لديك مستخدمين بمعرفاتهم الفريدة بالفعل باستخدام مقتطف الرمز هذا:
OneSignal.login(userId)
بمجرد اشتراك المستخدم بنجاح، سيظهر في لوحة التحكم مثل هذا
الآن قد تواجه بعض المشكلات المتعلقة بعدم استخدام OneSignal بشكل صحيح أو بعض الأخطاء الجسيمة، لذا إليك جزء يمكنك متابعته والذي ساعدني في حل هذه المشكلات.
dependencies{ ... implementation('com.onesignal:OneSignal:[3.15.4, 3.99.99]') ... }
مباشرة قبل علامة التطبيق. يعد إذن الإنترنت اختياريًا، ولكن لأنه قد يتم تمكينه افتراضيًا.
بوم؟ تمت تغطية كافة الخطوات لتنفيذ الإشعارات، ويمكنك إرسال إشعار اختباري من لوحة تحكم OneSignal نفسها.
جرب بنفسك وإذا كان لديك أي شك يمكنك التعليق أدناه. اتبع للحصول على أدلة أكثر تفصيلا!
مراجع:
https://documentation.onesignal.com/docs/react-native-sdk-setup
https://documentation.onesignal.com/reference/push-notification
https://medium.com/tribalscale/mobile-push-notifications-implementation-in-react-native-with-one-signal-4e810dddd350
تعليمات سعيدة!؟?
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3