# android.adservices.ondevicepersonalization

*** ** * ** ***

Kotlin \|[Java](https://developer.android.com/reference/android/adservices/ondevicepersonalization/package-summary "View this page in Java")

## Interfaces

|---|---|
| [IsolatedWorker](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/IsolatedWorker) | Interface with methods that need to be implemented to handle requests from the OnDevicePersonalization service to an `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/IsolatedService`. |
| [KeyValueStore](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/KeyValueStore) | An interface to a read-only key-value store. |
| [MutableKeyValueStore](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/MutableKeyValueStore) | An interface to a read-write key-value store. |

## Classes

|---|---|
| [AppInfo](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/AppInfo) | Information about apps. |
| [DownloadCompletedInput](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/DownloadCompletedInput) | The input data for `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/IsolatedWorker#onDownloadCompleted(android.adservices.ondevicepersonalization.DownloadCompletedInput,%20android.os.OutcomeReceiver)`. |
| [DownloadCompletedOutput](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/DownloadCompletedOutput) | The result returned by `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/IsolatedWorker#onDownloadCompleted(android.adservices.ondevicepersonalization.DownloadCompletedInput,%20android.os.OutcomeReceiver)`. |
| [EventInput](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/EventInput) | The input data for `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/IsolatedWorker#onEvent(android.adservices.ondevicepersonalization.EventInput,%20android.os.OutcomeReceiver)`. |
| [EventLogRecord](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/EventLogRecord) | Data to be logged in the EVENTS table. |
| [EventOutput](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/EventOutput) | The result returned by `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/IsolatedWorker#onEvent(android.adservices.ondevicepersonalization.EventInput,%20android.os.OutcomeReceiver)`. |
| [EventUrlProvider](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/EventUrlProvider) | Generates event tracking URLs for a request. |
| [ExecuteInIsolatedServiceRequest](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/ExecuteInIsolatedServiceRequest) | The request of `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/OnDevicePersonalizationManager#executeInIsolatedService(android.adservices.ondevicepersonalization.ExecuteInIsolatedServiceRequest,%20java.util.concurrent.Executor,%20android.os.OutcomeReceiver)`. |
| [ExecuteInIsolatedServiceResponse](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/ExecuteInIsolatedServiceResponse) | The response of `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/OnDevicePersonalizationManager#executeInIsolatedService(android.adservices.ondevicepersonalization.ExecuteInIsolatedServiceRequest,%20java.util.concurrent.Executor,%20android.os.OutcomeReceiver)`. |
| [ExecuteInput](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/ExecuteInput) | The input data for `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/IsolatedWorker#onExecute(android.adservices.ondevicepersonalization.ExecuteInput,%20android.os.OutcomeReceiver)`. |
| [ExecuteOutput](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/ExecuteOutput) | The result returned by `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/IsolatedWorker#onExecute(android.adservices.ondevicepersonalization.ExecuteInput,%20android.os.OutcomeReceiver)` in response to a call to `OnDevicePersonalizationManager#execute(ComponentName, PersistableBundle, java.util.concurrent.Executor, OutcomeReceiver)` from a client app. |
| [FederatedComputeInput](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/FederatedComputeInput) | The input data for android. |
| [FederatedComputeScheduler](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/FederatedComputeScheduler) | Handles scheduling federated compute jobs. |
| [FederatedComputeScheduleRequest](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/FederatedComputeScheduleRequest) | The input for `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/FederatedComputeScheduler#schedule(android.adservices.ondevicepersonalization.FederatedComputeScheduleRequest,%20java.util.concurrent.Executor,%20android.os.OutcomeReceiver)`. |
| [FederatedComputeScheduleResponse](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/FederatedComputeScheduleResponse) | The result returned by `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/FederatedComputeScheduler#schedule(android.adservices.ondevicepersonalization.FederatedComputeScheduleRequest,%20java.util.concurrent.Executor,%20android.os.OutcomeReceiver)` when successful. |
| [InferenceInput](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/InferenceInput) | Contains all the information needed for a run of model inference. |
| [InferenceOutput](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/InferenceOutput) | The result returned by `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/ModelManager#run(android.adservices.ondevicepersonalization.InferenceInput,%20java.util.concurrent.Executor,%20android.os.OutcomeReceiver)`. |
| [IsolatedService](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/IsolatedService) | Base class for services that are started by ODP on a call to `OnDevicePersonalizationManager#execute(ComponentName, PersistableBundle, java.util.concurrent.Executor, OutcomeReceiver)` and run in an [isolated process](https://developer.android.com/guide/topics/manifest/service-element#isolated). |
| [LogReader](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/LogReader) | An interface to a read logs from REQUESTS and EVENTS Used as a Data Access Object for the REQUESTS and EVENTS table. |
| [ModelManager](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/ModelManager) | Handles model inference and only support TFLite model inference now. |
| [OnDevicePersonalizationManager](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/OnDevicePersonalizationManager) | OnDevicePersonalizationManager provides APIs for apps to load an `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/IsolatedService` in an isolated process and interact with it. |
| [RenderingConfig](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/RenderingConfig) | Information returned by `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/IsolatedWorker#onExecute(android.adservices.ondevicepersonalization.ExecuteInput,%20android.os.OutcomeReceiver)` that is used in a subesequent call to `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/IsolatedWorker#onRender(android.adservices.ondevicepersonalization.RenderInput,%20android.os.OutcomeReceiver)` to identify the content to be displayed in a single `https://developer.android.com/reference/kotlin/android/view/View.html#`. |
| [RenderInput](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/RenderInput) | The input data for `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/IsolatedWorker#onRender(android.adservices.ondevicepersonalization.RenderInput,%20android.os.OutcomeReceiver)`. |
| [RenderOutput](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/RenderOutput) | The result returned by `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/IsolatedWorker#onRender(android.adservices.ondevicepersonalization.RenderInput,%20android.os.OutcomeReceiver)`. |
| [RequestLogRecord](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/RequestLogRecord) | Contains data that will be written to the REQUESTS table at the end of a call to `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/IsolatedWorker#onExecute(android.adservices.ondevicepersonalization.ExecuteInput,%20android.os.OutcomeReceiver)`. |
| [RequestToken](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/RequestToken) | An opaque token that identifies the current request to an `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/IsolatedService`. |
| [SurfacePackageToken](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/SurfacePackageToken) | An opaque reference to content that can be displayed in a `https://developer.android.com/reference/kotlin/android/view/SurfaceView.html#`. |
| [TrainingExampleRecord](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/TrainingExampleRecord) | One record of `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/TrainingExamplesOutput`. |
| [TrainingExamplesInput](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/TrainingExamplesInput) | The input data for `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/IsolatedWorker#onTrainingExamples(android.adservices.ondevicepersonalization.TrainingExamplesInput,%20android.os.OutcomeReceiver)`. |
| [TrainingExamplesOutput](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/TrainingExamplesOutput) | The output data of `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/IsolatedWorker#onTrainingExamples(android.adservices.ondevicepersonalization.TrainingExamplesInput,%20android.os.OutcomeReceiver)` |
| [TrainingInterval](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/TrainingInterval) | Training interval settings required for federated computation jobs. |
| [UserData](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/UserData) | User data provided by the platform to an `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/IsolatedService`. |
| [WebTriggerInput](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/WebTriggerInput) | The input data for `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/IsolatedWorker#onWebTrigger(android.adservices.ondevicepersonalization.WebTriggerInput,%20android.os.OutcomeReceiver)`. |
| [WebTriggerOutput](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/WebTriggerOutput) | The result that should be returned by `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/IsolatedWorker#onWebTrigger(android.adservices.ondevicepersonalization.WebTriggerInput,%20android.os.OutcomeReceiver)`. |

## Exceptions

|---|---|
| [IsolatedServiceException](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/IsolatedServiceException) | A class that an `https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/IsolatedService` can use to signal a failure in handling a request and return an error to be logged and aggregated. |
| [OnDevicePersonalizationException](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/OnDevicePersonalizationException) | Exception thrown by OnDevicePersonalization APIs. |