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 サンドボックスで IsolatedService を実行します。

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

SurfaceControlViewHost.SurfacePackage をファイルに挿入するようリクエストします。 呼び出し元のアプリ内の SurfaceView

継承されるメソッド

パブリック メソッド

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: IsolatedServiceComponentName。 この値が 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.SurfacePackageException> 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 になることはありません。