ОнДевицеПерсонализацияДиспетчер
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) Выполняет |
void | requestSurfacePackage ( SurfacePackageToken surfacePackageToken, IBinder surfaceViewHostToken, int displayId, int width, int height, Executor executor, OutcomeReceiver < SurfaceControlViewHost.SurfacePackage , Exception > receiver) Запрашивает вставку |
Унаследованные методы | |
---|---|
Публичные методы
выполнять
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.SurfacePackage, Exception> 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 . |