البرمجة

تحديث إشعارات التطبيق في iOS 10

بدأت شركة آبل في إيجاد حلول بديلة لعناصر التصميم القديمة التي تم إهمالها أو تجاوزها بسبب تحديثات نظام التشغيل. واحدة من هذه الحالات هي استبدال UIUserNotificationSettings بواجهة UNNotificationSettings في نظام التشغيل iOS 10 والإصدارات اللاحقة. يتمثل الهدف الرئيسي لهذا التغيير في توحيد وتبسيط واجهة تحكم الإشعارات لتسهيل عملية التطوير وضمان التوافقية مع التحديثات المستقبلية.

يمكنك الاطلاع على الرابط الذي قدمته من الوثائق الخاصة بآبل لفهم كيفية استخدام UNNotificationSettings. ومن أجل تقديم لك فكرة عن كيفية تنفيذ الشيفرة المذكورة باستخدام UNNotificationSettings، يمكنني تقديم بعض الشروحات والأمثلة.

قبل كل شيء، يجب عليك أن تعرف أن UNNotificationSettings لا تقوم بتهيئة الإشعارات بنفس الطريقة التي كانت تقوم بها UIUserNotificationSettings. بدلاً من ذلك، يتم التحكم في إعدادات الإشعارات عبر تكوين UNNotificationRequest واستخدام UNUserNotificationCenter لتقديمها.

في الشيفرة الأسفل، سأوضح كيف يمكنك تحقيق نفس الغرض باستخدام UNNotificationSettings وطريقة جديدة لتسجيل الإشعارات:

swift
import UserNotifications let center = UNUserNotificationCenter.current() // تكوين إعدادات الإشعار let options: UNAuthorizationOptions = [.badge, .sound, .alert] center.requestAuthorization(options: options) { granted, error in if let error = error { // يمكنك التعامل مع الخطأ هنا } else { // تم تفويض الوصول للإشعارات } }

يقوم الكود السابق بطلب تفويض المستخدم للوصول إلى الإشعارات بواسطة UNUserNotificationCenter. يتم تحديد الخيارات المسموح بها في الإشعارات باستخدام UNAuthorizationOptions. بمجرد أن يقرر المستخدم ما إذا كان يسمح بالوصول أو لا، يتم استدعاء التكوين الخاص بك من داخل الإغلاق.

من المهم أن تتذكر أن عملية تحديد الإشعارات قد تكون قيد الاختبار للمستخدم، ولذلك يجب أن تتحقق من استجابة granted للتحقق مما إذا كان المستخدم قد وافق على الوصول إلى الإشعارات أم لا.

من الجدير بالذكر أنه بعدما يقرر المستخدم إذا كان يريد تفويض الوصول للإشعارات أم لا، يمكنك تكوين UNNotificationRequest لإرسال الإشعارات الفعلية.

هذه الطريقة الجديدة تسهل العملية على المطورين وتجعل إدارة الإشعارات أكثر سلاسة في تطبيقات iOS 10 والإصدارات اللاحقة.

المزيد من المعلومات

بالطبع، يمكننا استكمال المقالة بمزيد من التفاصيل حول كيفية استخدام UNNotificationRequest وUNUserNotificationCenter لتنفيذ إشعارات التطبيق بشكل أكثر تفصيلًا.

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

swift
// تحديد محتوى الإشعار let content = UNMutableNotificationContent() content.title = "عنوان الإشعار" content.body = "نص الإشعار يمكن أن يحتوي على معلومات إضافية هنا." // تحديد نوع الإشعارات let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 5, repeats: false) // تكوين الطلب let request = UNNotificationRequest(identifier: "identifier", content: content, trigger: trigger) // إرسال الطلب لعرض الإشعار center.add(request) { error in if let error = error { // يمكنك التعامل مع الخطأ هنا } else { // تم إرسال الإشعار بنجاح } }

في هذا المثال، يتم بناء محتوى الإشعار باستخدام UNMutableNotificationContent حيث يمكن تحديد عنوان الإشعار ونص الإشعار الذي يظهر للمستخدم. ثم يتم تحديد نوع الإشعار باستخدام UNTimeIntervalNotificationTrigger حيث يمكن تحديد وقت ظهور الإشعار بناءً على الزمن المحدد.

بعد ذلك، يتم بناء UNNotificationRequest باستخدام المحتوى والمشغل المحدد لتنفيذ الإشعار، ثم يتم إرسال الطلب إلى UNUserNotificationCenter لعرض الإشعار في التطبيق.

يمكنك تكرار هذه العملية لإنشاء وعرض الإشعارات بناءً على الأحداث والتفاعلات في تطبيقك.

من المهم أن تتذكر أنه يمكنك أيضًا تخصيص الإشعارات بشكل أكبر من خلال إضافة أنواع مختلفة من المشغلات مثل UNCalendarNotificationTrigger لتنفيذ الإشعارات بناءً على التاريخ والوقت أو UNLocationNotificationTrigger لتنفيذ الإشعارات بناءً على الموقع الجغرافي للمستخدم.

بهذه الطريقة، يمكنك استخدام UNNotificationRequest وUNUserNotificationCenter لإدارة الإشعارات بشكل متقدم وفعّال في تطبيقك الموجه لنظام iOS 10 والإصدارات اللاحقة.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر