iOS: Provisional Push Notifications

Provisional Notifications can be sent to users without needing to first request notification permissions.

iOS 12 introduced Provisional (Also known as Direct-To-History) push notification authorization. This means that instead of having to prompt the user for permission to send them push notifications, your app can request provisional authorization.

As these are provisional there is some reduced functionality including

  • No banner shown
  • No corresponding sound
  • No user alert
  • Sent directly to the Notification Center
Images shows provisional notification prompting user to keep notifications available from providerImages shows provisional notification prompting user to keep notifications available from provider

Images shows provisional notification prompting user to keep notifications available from provider

If the user selects Keep... in response, then they have the options:

  • Deliver Quietly: Subscribes the user to quiet push notifications. It keeps push notifications silent and only shows on Notification Center. Additionally, it removes the options to "Keep..." or "Turn off..."
  • Turn Off: Unsubscribes the user from notifications.
Image showing user ability to deliver notifications quietly, turn them off or go to settingsImage showing user ability to deliver notifications quietly, turn them off or go to settings

Image showing user ability to deliver notifications quietly, turn them off or go to settings

You can still prompt the user to subscribe normally to push even with these turned on or turned off.

If you prompt for regular push notifications and the user denies, they will not get any further push notifications.


How do I disable or enable provisional authorization?

To enable or disable provisional authorization for your app, go to your OneSignal dashboard Settings > Apple iOS > Advanced Configuration > Enable iOS 12 direct to history option for your app (which currently requires using the OneSignal SDK 2.9.0 or newer).

To disable uncheck the box (this is unchecked by default).


What is the difference between Provisional vs. Normal Authorization?

Once you enable provisional notifications for your app, iOS 12 users will automatically be authorized the next time they launch the app.

However, your application can still request push notification permissions traditionally, which will still cause the permission prompt to be shown to the user.

In addition, if your app does not set the kOSSettingsKeyAutoPrompt iOS setting to false during init(), the SDK will still show the normal permission prompt, and your app will not get provisional permission.

Once you've enabled direct to history in the Dashboard, our SDK will automatically request provisional authorization and you will be able to send push notifications to these users.

However, if you only want to request provisional authorization in only some situations, you can also use a new method in our SDK:

OneSignal.registerForProvisionalAuthorization({ accepted in
    //handle authorization
})
[OneSignal registerForProvisionalAuthorization:^(BOOL accepted) {
    //handle authorization
}];

How do I update the App Title?

If you changed your app name and/or would like to change the App Title, simply update the "Display Name" in Xcode for the main app target and release an app update.

Devices will see a push containing the new App Title once the user restarts the device.


Did this page help you?