iOS: App Clip Support

OneSignal support for App Clips

Create a new app for your App Clip in the OneSignal Dashboard
To send notifications to App Clips via OneSignal you will need to create a new app in the dashboard for the App Clip. An App Clip requires a separate APNs certificate from its parent App since it has a different bundle identifier.

Enabling push notifications in App Clips

  1. Setup OneSignal in your App Clip target in the same way as your full App, however App Clips do not support Notification Service Extensions so you can skip that part of the iOS SDK setup guide.

  2. In the info.plist for your App Clip make sure to add NSAppClipRequestEphemeralUserNotification to the NSAppClip dictionary and set its value to true. This will automatically enable the 8 hour push permission upon opening the App Clip. Note that users are able to disable this permission.
    You can still request indefinite push permissions upon launch of the App Clip.

Apples documentation on this topic can be found here.

Advanced Experiences
To send a notification to a particular App Clip experience you will want to use the "Target-Content-ID" field in the iOS platform settings. The value of this field will be the experience URL you created in AppStore Connect. Read Apple's guide for more information on Associated Domains and advanced App Clip experiences here.

Limitations of App Clips

  1. The Ephemeral push notification permission will only last 8 hours. Request indefinite push permissions like you would in the full application in order to send notifications past this 8 hour window.
  2. Since App Clips do not support Notification Service Extensions we are not able to support images or other media in notifications.
  3. Since App Clips do not support Notification Service Extensions we are not able to add additional action buttons that are not part of a pre-defined category in your app.
  4. App Clips cannot request continuous location access, however they may request the When In Use authorization which lasts until the next day at 4:00 a.m.