Our site uses cookies. By continuing to use our site, you are agreeing to our Cookie Policy
OK, I understand

How Android 13 Affects Permissioning - Featured Image
By Filip Eldic | August 30

How Android 13 Affects Permissioning

On August 15, Google released the newest iteration of the Android Operating System, Android 13 "Tiramisu." This update brings a significant number of changes for every app developer. These range from simple design changes affecting the theming of icons all the way through to deep privacy and security changes that affect how notifications work.

There are a few new things to consider when developing for Android 13:

  1. Apps must now ask the user for permission to use notifications.
  2. Users can now stop foreground services from the notifications tray.
  3. The time to move an app to the restricted bucket has been reduced from 45 to 8 days when a user doesn't interact with your app.
  4. It is now required to declare intents from external apps. Non-matching intents will be blocked.

Ask the User for Permission to Use Notifications.

For apps targeting Android 13 and onward, you'll need to ask for authorization to send notifications.

Android 13 notification requestDepending on the customer experience you are using the Bluedot SDK to power, your app may want to display notifications to the user based on their location. When using the Bluedot SDK, it is necessary to ask for notification permissions when:

  • Running the geo-triggering service as a foreground service with a persistent notification.
  • Using the Tempo service, which runs by default as a foreground service with a persistent notification.
  • Using the geo-triggering Message Action to send local notifications.
💡 If your app runs on an Android 13 device and targets Android 12 and lower, then notifications permissions are automatically granted.

Users can Stop Foreground Services from the Notifications Tray.

With Android 13, users can stop apps using ongoing foreground services. There is a new active apps section in the task manager with a list of apps running a foreground service. 

Android 13 active apps tray notification

Next to each app, there is a stop button to stop the app completely.Android 13 active apps stop menu

Bluedot’s Tempo ETA function runs as foreground service, and geo-triggering can, optionally, run as foreground service too. That means if users stop the app from the active apps section, the Bluedot SDK will also stop. Once the user re-opens the app, the Bluedot SDK will automatically start running again.

To reduce the likelihood that a user stops the app from the active apps section, we strongly recommended explaining the value proposition for having the app open as a foreground service persistent notification.

Battery Resource Utilization Updates

To save more battery, Android 13 is now stricter about deciding when to move an inactive app to the restricted bucket. Apps that have been moved to the restricted bucket have the highest number of restrictions applied (including access to location updates) until the user interacts with them again.

The app will move to the restricted bucket in the following situations:

  • The user doesn't interact with your app for 8 days. Previously it was 45 days.
  • The app invokes an excessive number of broadcasts or binding during a 24-hour period.
💡 If the user grants location permission to “Always,” the restrictions above won’t apply.

When using the Bluedot SDK for a use-case that requires running the geo-triggering service all the time, we recommend making use of notifications to invite users to frequently engage with your app. This will put your application back in the active bucket and the restrictions won’t apply.

See this video for more details.

Declare the Intent Filters in the App Manifest

From Android 13 onwards, if a matching intent filter and action are not declared, the intent will be blocked.

As part of our recommendations and best practices, we’ve already been recommending declaring the Bluedot SDK Broadcast Receivers for geo-triggering and Tempo services in the app manifest. Now it’s a required step to use the Bluedot SDK.

Ahead of any major update to mobile operating systems, Bluedot conducts a detailed analysis of the impact any changes may have to the performance of our technology. This is also accompanied by rigorous testing of our SDKs to ensure the continued performance our customers have come to expect from our products. Subscribe to the blog to stay up to date.

If you have any questions about the impact that Android 13 has on your use of Bluedot technology, visit our support site.