OnDevicePersonalization

The OnDevicePersonalization module, introduced in Android 13, provides a set of tools developed with user-privacy as their core tenet. These tools support software that operates on data from many users and for the consumption of many users. Each user can have a customized data and application experience. Customization may have to do with data access, but it may also have to do with all sorts of access permissions and other preferences of the data producers and the consumers.

OnDevicePersonalization attempts to create a developer experience that removes bottlenecks that arose from data collection, consent, control and compliance. This allows OEMs and app developers to focus on the novel and semantically interesting parts of their applications and take advantage of the super-rich and real-time data that's available only on the devices.

Motivation

The goal of the OnDevicePersonalization module is to build new technology to enable OEMs and app developers to continue to offer a quality personalization experience to their end users while keeping user information private.

Module boundary

This is all new code with no module boundary.

Code Location: packages/modules/OnDevicePersonalization

Figure 1 shows the OnDevicePersonalization module API design.

OnDevicePersonalization module API design

Figure 1. OnDevicePersonalization module API design

Package format

Main functionality for the package will be available in APEX: com.google.android.ondevicepersonalization

APIs functionality will be available in APK com.google.android.ondevicepersonalization

Dependencies

  • Changes in PackageManager to interpret the new manifest tag