ОнДевицеПерсонализацияДиспетчер

public class OnDevicePersonalizationManager
extends Object

java.lang.Объект
android.adservices.ondevicepersonalization.OnDevicePersonalizationManager


OnDevicePersonalizationManager предоставляет приложениям API-интерфейсы для загрузки IsolatedService в изолированном процессе и взаимодействия с ней. Приложение может запросить IsolatedService для создания контента для отображения в SurfaceView в иерархии представлений приложения, а также записать постоянные результаты в хранилище на устройстве, которое может использоваться Federated Analytics для статистического анализа между устройствами или Federated Learning для обучения модели. . Отображаемый контент и постоянный вывод не доступны напрямую вызывающему приложению.

Краткое содержание

Публичные методы

void execute ( ComponentName handler, PersistableBundle params, Executor executor, OutcomeReceiver < List < SurfacePackageToken >, Exception > receiver)

Выполняет IsolatedService в изолированной программной среде OnDevicePersonalization.

void requestSurfacePackage ( SurfacePackageToken surfacePackageToken, IBinder surfaceViewHostToken, int displayId, int width, int height, Executor executor, OutcomeReceiver < SurfaceControlViewHost.SurfacePackage , Exception > receiver)

Запрашивает вставку SurfaceControlViewHost.SurfacePackage в SurfaceView внутри вызывающего приложения.

Унаследованные методы

Публичные методы

выполнять

public void execute (ComponentName handler, 
                PersistableBundle params, 
                Executor executor, 
                OutcomeReceiver<List<SurfacePackageToken>, Exception> receiver)

Выполняет IsolatedService в изолированной программной среде OnDevicePersonalization. Платформа привязывается к указанному IsolatedService в изолированном процессе и вызывает IsolatedWorker#onExecute(ExecuteInput, java.util.function.Consumer) с параметрами, предоставленными вызывающей стороной. Когда IsolatedService завершает выполнение, платформа возвращает токены, которые ссылаются на результаты службы, вызывающей стороне. Эти токены впоследствии можно использовать для отображения результатов в SurfaceView в вызывающем приложении.

Параметры
handler ComponentName : ComponentName IsolatedService . Это значение не может быть null .

params PersistableBundle : PersistableBundle , который передается из вызывающего приложения в IsolatedService . Ожидаемое содержимое этого параметра определяется IsolatedService . Платформа не интерпретирует этот параметр. Это значение не может быть null .

executor Executor : Executor , для которого вызывается обратный вызов. Это значение не может быть null . События обратного вызова и прослушивателя отправляются через этот Executor , предоставляя простой способ контролировать, какой поток используется. Чтобы отправлять события через основной поток вашего приложения, вы можете использовать Context.getMainExecutor() . В противном случае предоставьте Executor , который отправляет данные в соответствующий поток.

receiver OutcomeReceiver : возвращает список объектов SurfacePackageToken , каждый из которых представляет собой непрозрачную ссылку на RenderingConfig , возвращаемую IsolatedService , или Exception в случае сбоя. Возвращенные объекты SurfacePackageToken можно использовать в последующем requestSurfacePackage(android.adservices.ondevicepersonalization.SurfacePackageToken, android.os.IBinder, int, int, int, java.util.concurrent.Executor, android.os.OutcomeReceiver) для отображения результат в представлении. Вызывающее приложение и IsolatedService должны согласовать ожидаемый размер этого списка. Запись в возвращаемом списке объектов SurfacePackageToken может иметь значение null, что указывает на то, что служба не имеет выходных данных для этой конкретной поверхности. В случае ошибки получатель возвращает одно из следующих исключений: Возвращает PackageManager.NameNotFoundException , если пакет обработчика не установлен или не имеет допустимого манифеста ODP. Возвращает ClassNotFoundException , если класс-обработчик не найден. Возвращает OnDevicePersonalizationException , если выполнение обработчика завершается неудачно.

запросПоверхностьПакет

public void requestSurfacePackage (SurfacePackageToken surfacePackageToken, 
                IBinder surfaceViewHostToken, 
                int displayId, 
                int width, 
                int height, 
                Executor executor, 
                OutcomeReceiver<SurfaceControlViewHost.SurfacePackageException> receiver)

Запрашивает вставку SurfaceControlViewHost.SurfacePackage в SurfaceView внутри вызывающего приложения. Пакет поверхности будет содержать View с содержимым, полученным в результате предыдущего вызова #execute(ComponentName, PersistableBundle, Executor, OutcomeReceiver) выполняющегося в изолированной программной среде OnDevicePersonalization.

Параметры
surfacePackageToken SurfacePackageToken : ссылка на SurfacePackageToken , возвращенная предыдущим вызовом #execute(ComponentName, PersistableBundle, Executor, OutcomeReceiver) . Это значение не может быть null .

surfaceViewHostToken IBinder : hostToken SurfaceView , который возвращается SurfaceView.getHostToken() после добавления SurfaceView в иерархию представлений. Это значение не может быть null .

displayId int : целочисленный идентификатор логического дисплея, на котором будет отображаться SurfaceControlViewHost.SurfacePackage , возвращаемый Context.getDisplay().getDisplayId() .

width int : ширина SurfaceControlViewHost.SurfacePackage в пикселях.

height int : высота SurfaceControlViewHost.SurfacePackage в пикселях.

executor Executor : Executor , для которого вызывается обратный вызов. Это значение не может быть null . События обратного вызова и прослушивателя отправляются через этот Executor , предоставляя простой способ контролировать, какой поток используется. Чтобы отправлять события через основной поток вашего приложения, вы можете использовать Context.getMainExecutor() . В противном случае предоставьте Executor , который отправляет данные в соответствующий поток.

receiver OutcomeReceiver : возвращает либо SurfaceControlViewHost.SurfacePackage в случае успеха, либо Exception в случае неудачи. Тип исключения — OnDevicePersonalizationException если выполнение обработчика завершается неудачей. Это значение не может быть null .