Apps can use notifications to provide timely and important information anytime, whether the device is locked or in use. For example, notifications can signal when a message has arrived, an event is about to occur, new data is available, or the status of something has changed. People see notifications on the lock screen, at the top of the screen while using the device, and in Notification Center.
TIP Notifications can be local or remote. Local notifications originate and are delivered on the same device. A to-do list app might use local notifications to alert someone about an upcoming meeting or due date. Remote notifications, also called push notifications, come from a server. A multiplayer game might use remote notifications to let players know when it’s their move.
For developer guidance, see UserNotifications.
People go to Settings > Notifications to manage notification behavior on an app-by-app basis. For example, people can turn an app's notifications on or off, allow notifications to be visible in Notification Center and on the lock screen, enable app icon badging, and choose one of the following notification styles:
Banner. Appears at the top of the screen for a few seconds while the device is in use, then disappears.
Alert. Appears at the top of the screen while the device is in use and stays there until manually dismissed.
Tapping a notification when the device is unlocked — or swiping it to the side when the device is locked — dismisses the notification, removes it from Notification Center, opens the corresponding app, and shows related information. For example, tapping a new email notification on an unlocked device opens Mail and shows the new message. On an unlocked device, swiping a notification up or letting it disappear dismisses the notification and may remove it from Notification Center.
A notification can also include a customizable detail view that provides more information and up to four buttons. For example, a to-do list app might deliver a task notification with a detail view that includes actions for deferring the task and marking it as complete. Calendar includes a detail view in event notifications that provides a Snooze button that briefly delays the event's alarm. People can open a detail view by using the touch and hold gesture on the notification or, on an unlocked device, swiping down.
NOTE People must explicitly opt into receiving notifications from every app that supports them — they’re asked to do so the first time they use the app. If someone opts out, they can always visit Settings to opt in.
Designing a Great Notification Experience
Create succinct, easy-to-read notifications that provide useful information. People enable notifications to get quick updates, so focus on providing information of value. Use complete sentences, sentence case, proper punctuation, and don’t truncate your message — the system does this automatically, if necessary. Avoid telling people to open your app, navigate to specific screens, tap specific buttons, and perform other tasks that are hard to remember after the notification disappears.
Don't include sensitive, personal, or confidential information in a notification. You can't predict what people will be doing when they receive a notification, so it's essential to avoid including private information that could display on the device screen.
Avoid sending multiple notifications for the same thing, even if the user hasn't responded. People attend to notifications at their convenience. If you send multiple notifications for the same thing, you fill up Notification Center, and people may turn off notifications from your app.
Provide descriptive, nonspecific text to display when notification previews are hidden. In Settings, people can choose to hide notification previews for all apps. In this situation, the system shows only your app icon and the default description Notification. To give people sufficient context to know whether they want to view the full notification, write text that succinctly describes the notification content without revealing too many details, like Friend Request, New Comment, Reminder, or Shipment. For developer guidance, see hiddenPreviewsBodyPlaceholder.
Don’t include your app name or icon. The system automatically shows this information at the top of each notification.
Consider providing a sound to supplement your notifications. Sound is a great way to get someone's attention when they’re not looking at the screen. For example, a to-do list app might play an alert sound when it’s time to perform an important task. Your app can use a custom sound or a built-in alert sound for this. If you use a custom sound, make sure it’s short, distinctive, and professionally produced. (For developer guidance, see UNNotificationSound.) Keep in mind that people can turn off notification alert sounds, so don't rely on the sound to communicate important information. People can also enable a vibration that accompanies alert sounds; you can't enable such a vibration programmatically.
Consider providing a detail view. A notification detail view provides more information and lets people take immediate action without leaving their current context to open your app. A detail view should include useful information, be recognizable, and feel like a natural extension of your app. It can contain photos, videos, and other content, and you can update it dynamically while it's onscreen. For example, a ridesharing app could use a detail view to display a map that shows a car approaching the user's current location.
Provide intuitive, beneficial actions. A notification detail view can include up to four action buttons. These buttons should be for performing common, time-saving tasks that eliminate the need to open your app. Create short, title-case button names that clearly describe the results of the action. A notification detail view can also display an onscreen keyboard for collecting information needed to take action. For example, a messaging app might let people respond directly from a new message notification.
Avoid providing destructive actions. Think carefully before providing destructive actions in a notification detail view. If you must provide them, make sure people have enough context to avoid unintended consequences. Actions you identify as destructive appear in red.
Sending Marketing Notifications
Don't use notifications to send marketing or promotional content unless people explicitly agree to receive such information. When people want to learn about new features, content, or events related to your app, they can grant their permission to receive marketing notifications. For example, the users of a subscriptions app might appreciate getting an offer to become a subscriber, and the players of a game might want to receive a special offer related to a live event.
Get people's permission if you want to send them promotional or marketing notifications. Before you send these notifications to people, you must receive their explicit permission to do so. Create an alert, modal view, or other interface that describes the types of information you want to send and gives people a clear way to opt in or out.
Make sure people can manage their notification preferences within your app. In addition to requesting permission to send informational or marketing notifications, you must also provide an in-app settings screen that lets people change their choice. For guidance, see Settings.
Use badging to supplement notifications, not to denote critical information. Keep in mind that people can turn off badging for your app. If you rely on badging to communicate important information, you run the risk of people missing it.
Use badging for notification purposes only. Badges shouldn't be used to display other types of numeric information, such as air quality, dates, stock prices, or weather.
Keep badges up to date. Update your app’s badge as soon as people view the corresponding information. You don’t want people to think there’s new information available, only to find that they’ve already seen it. Note that reducing a badge’s count to zero removes all related notifications from Notification Center.