When your users keep your app up to date on their devices, they can try new features, as well as benefit from performance improvements and bug fixes. Although some users enable background updates when their device is connected to an unmetered connection, other users might need to be reminded to install updates. In-app updates is a Google Play Core libraries feature that prompts active users to update your app.

The in-app updates feature is supported on devices running Android 5.0 (API level 21) or higher. Additionally, in-app updates are only supported for Android mobile devices, Android tablets, and ChromeOS devices.
| **Note:** In-app updates are not compatible with apps that use APK expansion files (`.obb`files).

## Update flows

Your app can use the Google Play Core libraries to support the following UX flows for in-app updates:

### Flexible updates

Flexible updates provide background download and installation with graceful state monitoring. This UX flow is appropriate when it's acceptable for the user to use the app while downloading the update. For example, you might want to encourage users to try a new feature that's not critical to the core functionality of your app.![](https://developer.android.com/static/images/app-bundle/flexible_flow.png)

**Figure 1.**An example of a flexible update flow.

<br />

### Immediate updates

Immediate updates are fullscreen UX flows that require the user to update and restart the app in order to continue using it. This UX flow is best for cases where an update is critical to the core functionality of your app. After a user accepts an immediate update, Google Play handles the update installation and app restart.![](https://developer.android.com/static/images/app-bundle/immediate_flow.png)

**Figure 2.**An example of an immediate update flow.

<br />

## Support in-app updates in your app

Learn how to support in-app updates in your app, depending on your development environment:

- [Kotlin or Java](https://developer.android.com/guide/playcore/in-app-updates/kotlin-java)
- [Native (C/C++)](https://developer.android.com/guide/playcore/in-app-updates/native)
- [Unity](https://developer.android.com/guide/playcore/in-app-updates/unity)
- [Unreal Engine](https://developer.android.com/guide/playcore/in-app-updates/unreal-engine)

## Terms of service

By accessing or using the Play In-App Updates Library, you agree to the[Play Core Software Development Kit Terms of Service](https://developer.android.com/guide/playcore#license). Read and understand all applicable terms and policies before accessing the library.

## Data Safety

The Play Core libraries are your app's runtime interface with the Google Play Store. As such, when you use Play Core in your app, the Play Store runs its own processes, which include handling data as governed by the[Google Play Terms of Service](https://play.google.com/about/play-terms/index.html). The following information describes how the Play Core libraries handle data to process specific requests from your app.

### In-app Updates

|----------------------------|----------------------------------------------------------------------------------------------------------------------|
| Data collected on usage    | Device metadata Application version List of modules and asset packs installed                                        |
| Purpose of data collection | The data collected is used to determine if an update is available and what the size of the update is expected to be. |
| Data encryption            | Data is encrypted.                                                                                                   |
| Data sharing               | Data is not transferred to any third parties.                                                                        |
| Data deletion              | Data is deleted following a fixed retention period.                                                                  |

While we aim to be as transparent as possible, you are solely responsible for deciding how to respond to Google Play's data safety section form regarding your app's user data collection, sharing, and security practices.