OnDevicePersonalizationManager
public
class
OnDevicePersonalizationManager
extends Object
| java.lang.Object | |
| ↳ | android.adservices.ondevicepersonalization.OnDevicePersonalizationManager |
OnDevicePersonalizationManager는 앱이 기본 스레드를
IsolatedService를 호출하여 상호작용합니다.
앱은 표시할 콘텐츠를 생성하도록 IsolatedService를 요청할 수 있습니다.
앱의 뷰 계층 구조 내 SurfaceView 내에
사용자의 데이터 액세스를 위해 제휴 분석에서 사용할 수 있는 온디바이스 저장소에
제휴 학습에 의해 사용될 수 있습니다. 표시된
콘텐츠와 영구 출력 모두 호출 앱에서 직접 액세스할 수 없습니다.
요약
공개 메서드 | |
|---|---|
void
|
execute(ComponentName handler, PersistableBundle params, Executor executor, OutcomeReceiver<List<SurfacePackageToken>, Exception> receiver)
OnDevicePersonalization 샌드박스에서 |
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)
OnDevicePersonalization 샌드박스에서 IsolatedService를 실행합니다. 이
플랫폼이 격리된 프로세스에서 지정된 IsolatedService에 바인딩됨
및 IsolatedWorker#onExecute(ExecuteInput, java.util.function.Consumer)에 전화
매개변수를 사용해야 합니다. IsolatedService가 실행을 완료하면
플랫폼은 호출자에게 서비스의 결과를 참조하는 토큰을 반환합니다.
나중에 이 토큰을 사용하여
SurfaceView를 호출합니다.
| 매개변수 | |
|---|---|
handler |
ComponentName: IsolatedService의 ComponentName입니다.
이 값은 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를 반환합니다. |
requestSurfacePackage
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) 진행 중
실행할 수 있습니다
| 매개변수 | |
|---|---|
surfacePackageToken |
SurfacePackageToken: 이전 항목에서 반환한 SurfacePackageToken에 대한 참조
#execute(ComponentName, PersistableBundle, Executor, OutcomeReceiver) 호출
이 값은 null일 수 없습니다. |
surfaceViewHostToken |
IBinder: SurfaceView의 hostToken입니다.
다음 날짜 이후에 SurfaceView.getHostToken()에서 반환
SurfaceView가 뷰 계층 구조에 추가되었습니다.
이 값은 null일 수 없습니다. |
displayId |
int: 표시할 논리 디스플레이의 정수 ID입니다.
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일 수 없습니다. |