OneSignal joined Google I/O 2022 virtually this year to stay at the cutting edge of key platform changes.
This year's Google I/O brings a few notable changes that impact OneSignal and our customers. Among these changes, the Android 13 notification permissions protocol is the most significant. Here’s a quick roundup of what Google I/O brings to our space.
Android 13 Brings Changes to Notification Permissions
Android 13 is currently in Beta and is on track for release later this year. One of the biggest changes included in the Beta is a new requirement requiring user permission to show notifications. This new permission prompt will show on all apps that display notifications on Android 13, regardless of whether any change is made to your app! In order to receive your notifications, users must first accept this prompt.
What Happens if you Don’t Update Your App?
If your platform displays notifications and you make no changes to your app, your Android 13 users will be immediately prompted for push permissions. This occurs because almost apps that display notifications initialize Android Notification Channels upon startup. Abruptly prompting users for their permission when your app is first opened creates a less than ideal user experience and users may reflexively decline permission. At this point, users haven’t had a chance to understand your app’s value and the notifications it will display. Because iOS has historically required permissions in the same way Android 13 does now, we recommend following similar best practices that we’ve outlined in prior content.
Controlling When Users Are Prompted for Notification Permissions
To delay the default prompt, you will first need to follow Google’s documentation on updating your app to target Android 13 by updating your app’s targetSdk.
Next, update your app to OneSignal-Android-SDK 4.8.0-beta2:
Other SDKs such as Unity, Flutter, React Native, etc. will be available soon.
Lastly, call OneSignal.promptForPushNotifications() when you wish to prompt them for permission.
Implementing a Pre-Permission Prompt With OneSignal's In-App Messages
Use OneSignal's In-App Messaging product to provide your users context around the types of notifications you'll be sending them—all before the system level permission prompt shows. We will soon be releasing support for notification prompting actions to our In-App Messages, so you can simply update the OneSignal SDK and design the pre-prompt on the OneSignal dashboard without having to write any code!
What Happens if a User Declines to Receive Notifications?
Even after a user declines your notification permission prompt, your app has a second chance to make the request. However, keep in mind that before presenting a second prompt, you should explain the value of notifications to the given user. Unfortunately, after a user declines your permissions a second time, Android doesn’t allow your app to show the permission prompt again. Users may still decide to enable notifications in your app settings, which is why OneSignal provides a fallback to settings option as an easy way to redirect users to enable notifications in this scenario.
To show this dialog, call OneSignal.promptForPushNotifications(true) to enable this fallback to settings when it is required.
Introducing the Android Google Play SDK Index
Open to everyone, The Google Play SDK Index will allow app developers and other site visitors to browse detailed listings for commercial SDKs widely used in Play apps.
Visitors can now search for an SDK by name or select it from an alphabetized list of SDKs in its category. Each individual SDK’s listing will comprise a fixed set of attributes and signals to learn more about the SDK and its versions.
OneSignal is proud to have supported testing of the Google Play SDK Index and can be our Android SDK can be found in its listings.
Announcing Flutter 3
Flutter 3 has also been announced at Google I/O , with improved Desktop support. Currently, our Flutter PlugIn only supports Android and iOS platforms, and increased platform support (Web, Desktop) is on our roadmap.
We’re actively testing the OneSignal flutter SDK against Flutter 3 for Android and iOS, and expect to have confirmed support in the next release.