بدأت شركة آبل في إيجاد حلول بديلة لعناصر التصميم القديمة التي تم إهمالها أو تجاوزها بسبب تحديثات نظام التشغيل. واحدة من هذه الحالات هي استبدال UIUserNotificationSettings
بواجهة UNNotificationSettings
في نظام التشغيل iOS 10 والإصدارات اللاحقة. يتمثل الهدف الرئيسي لهذا التغيير في توحيد وتبسيط واجهة تحكم الإشعارات لتسهيل عملية التطوير وضمان التوافقية مع التحديثات المستقبلية.
يمكنك الاطلاع على الرابط الذي قدمته من الوثائق الخاصة بآبل لفهم كيفية استخدام UNNotificationSettings
. ومن أجل تقديم لك فكرة عن كيفية تنفيذ الشيفرة المذكورة باستخدام UNNotificationSettings
، يمكنني تقديم بعض الشروحات والأمثلة.
قبل كل شيء، يجب عليك أن تعرف أن UNNotificationSettings
لا تقوم بتهيئة الإشعارات بنفس الطريقة التي كانت تقوم بها UIUserNotificationSettings
. بدلاً من ذلك، يتم التحكم في إعدادات الإشعارات عبر تكوين UNNotificationRequest
واستخدام UNUserNotificationCenter
لتقديمها.
في الشيفرة الأسفل، سأوضح كيف يمكنك تحقيق نفس الغرض باستخدام UNNotificationSettings
وطريقة جديدة لتسجيل الإشعارات:
swiftimport 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 والإصدارات اللاحقة.