Notifications is a way to inform users when new data becomes available for the app, even when the app is not running in the foreground.
For example, a messaging app might let the user know when a new message has arrived, and a calendar app might inform the user of an upcoming appointment.
With the release of iOS-10, Apple introduces brand new frameworks to support notifications, be it local or remote. Customized notifications is what this release focussed on.
your app configures the notification details locally and passes those details to the system, which then handles the delivery of the notification when your app is not in the foreground. (we tell the system to schedule the notification)
you use one of your company’s servers to push data to user devices via the Apple Push Notification service. For remote notifications, you must also provide a server environment that is capable of receiving data from user devices and sending notification-related data to the Apple Push Notification service (APNs), which is an Apple-provided service that handles the delivery of remote notifications to user devices. (APNs sends the notification to system)
you modify the content of remote notifications before they are delivered. If you include a notification service app extension with your app, the system passes incoming notifications to your extension before delivering them to the user.
Instead of the user being forced to launch your app, the interface for an actionable notification displays custom action buttons that the user can tap. When tapped, each button dismisses the notification interface and forwards the selected action to your app for immediate handling.
customize the appearance of the system’s notification interface.
Here you can find the complete implementation details of notifications both local as well as remote.
This project covers complete implementation details of:
- User Notifications framework for both Local & Remote notifications.
- Actionable Notifications - Configuring Categories and Actions in notifications.
- Scheduling a Local Notification.
- Responding to User Actions.
- Handling Remote Notifications at App End.
- Modification of Remote Notification's payload with Notification Service Extension.
- Creating custom UI using Notification Content Extension.
