Added in API level 35

FederatedComputeScheduler


open class FederatedComputeScheduler
kotlin.Any
   ↳ android.adservices.ondevicepersonalization.FederatedComputeScheduler

Handles scheduling federated compute jobs. See android.adservices.ondevicepersonalization.IsolatedService#getFederatedComputeScheduler.

Summary

Nested classes
open

The parameters related to job scheduling.

Public methods
open Unit

Cancels a federated compute job with input training params.

open Unit

Schedules a federated compute job.

open Unit
schedule(federatedComputeScheduleRequest: FederatedComputeScheduleRequest, executor: Executor, outcomeReceiver: OutcomeReceiver<FederatedComputeScheduleResponse!, Exception!>)

Schedules a federated compute job.

Public methods

cancel

Added in API level 35
open fun cancel(input: FederatedComputeInput): Unit

Cancels a federated compute job with input training params. In android.adservices.ondevicepersonalization.IsolatedService#onRequest, the app can call android.adservices.ondevicepersonalization.IsolatedService#getFederatedComputeScheduler to pass scheduler when constructing the IsolatedWorker.
This method may take several seconds to complete, so it should only be called from a worker thread.

Parameters
input FederatedComputeInput: the configuration of the federated compute. It should be consistent with the federated compute server setup. This value cannot be null.

schedule

Added in API level 35
open fun schedule(
    params: FederatedComputeScheduler.Params,
    input: FederatedComputeInput
): Unit

Schedules a federated compute job. In IsolatedService.onRequest, the app can call IsolatedService.getFederatedComputeScheduler to pass the scheduler when constructing the IsolatedWorker.
This method may take several seconds to complete, so it should only be called from a worker thread.

Parameters
params FederatedComputeScheduler.Params: parameters related to job scheduling. This value cannot be null.
input FederatedComputeInput: the configuration of the federated computation. It should be consistent with the federated compute server setup as described in Federated Compute Server documentation. . This value cannot be null.

schedule

Added in API level 35
open fun schedule(
    federatedComputeScheduleRequest: FederatedComputeScheduleRequest,
    executor: Executor,
    outcomeReceiver: OutcomeReceiver<FederatedComputeScheduleResponse!, Exception!>
): Unit

Schedules a federated compute job. In IsolatedService.onRequest, the app can call IsolatedService.getFederatedComputeScheduler to pass the scheduler when constructing the IsolatedWorker.
This method may take several seconds to complete, so it should only be called from a worker thread.

Parameters
federatedComputeScheduleRequest FederatedComputeScheduleRequest: input parameters related to job scheduling. This value cannot be null.
executor Executor: the Executor on which to invoke the callback. This value cannot be null. Callback and listener events are dispatched through this Executor, providing an easy way to control which thread is used. To dispatch events through the main thread of your application, you can use Context.getMainExecutor(). Otherwise, provide an Executor that dispatches to an appropriate thread.
outcomeReceiver OutcomeReceiver<FederatedComputeScheduleResponse!, Exception!>: This either returns a FederatedComputeScheduleResponse on success, or Exception on failure. The exception type is OnDevicePersonalizationException with error code android.adservices.ondevicepersonalization.OnDevicePersonalizationException#ERROR_INVALID_TRAINING_MANIFEST if the manifest is missing the federated compute server URL or android.adservices.ondevicepersonalization.OnDevicePersonalizationException#ERROR_SCHEDULE_TRAINING_FAILED when scheduling fails for other reasons. This value cannot be null.