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)
|
継承されるメソッド | |
|---|---|
パブリック メソッド
execute
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 オブジェクトのリスト内のエントリは、
出力がないことを示します。
エラーが発生した場合、レシーバーは次のいずれかの例外を返します。
ハンドラが呼び出した場合は、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) 件
OnDevicePersonalization サンドボックスをテストします。
| パラメータ | |
|---|---|
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 になることはありません。 |