IsolatedWorker

public interface IsolatedWorker

android.adservices.ondevicepersonalization.IsolatedWorker


OS から IsolatedService へのリクエストを処理するために実装する必要があるメソッドのインターフェース。IsolatedService は、次のように IsolatedWorker のインスタンスを作成します。 呼び出します。リクエストの種類に応じて、以下のいずれかのメソッドを呼び出します。IsolatedService は Binder スレッドでメソッドを呼び出し、IsolatedWorker は 長時間実行オペレーションをワーカー スレッドにオフロードする。各メソッドの consumer パラメータは 結果を返します。

概要

パブリック メソッド

default void onDownloadCompleted(DownloadCompletedInput input, Consumer<DownloadCompletedOutput> consumer)

完了したダウンロードを処理します。

default void onEvent(EventInput input, Consumer<EventOutput> consumer)

プラットフォームが提供するトラッキング URL(EventUrlProvider)に対するリクエストによってトリガーされたイベントを処理します。この URL は、 onRender(android.adservices.ondevicepersonalization.RenderInput, java.util.function.Consumer)

default void onExecute(ExecuteInput input, Consumer<ExecuteOutput> consumer)

アプリからのリクエストを処理します。

default void onRender(RenderInput input, Consumer<RenderOutput> consumer)

の結果として返された結果の HTML を生成します。 onExecute(android.adservices.ondevicepersonalization.ExecuteInput, java.util.function.Consumer)

default void onTrainingExample(TrainingExampleInput input, Consumer<TrainingExampleOutput> consumer)

連携コンピューティング ジョブに使用されるトレーニング サンプルを 1 つ生成する。

パブリック メソッド

onDownloadCompleted

public void onDownloadCompleted (DownloadCompletedInput input, 
                Consumer<DownloadCompletedOutput> consumer)

完了したダウンロードを処理します。プラットフォームは、定義されているパラメータを使用してコンテンツをダウンロードします。 IsolatedService のパッケージ マニフェスト。ダウンロード後にこの関数を呼び出します。 完了し、REMOTE_DATA テーブルを IsolatedService#getRemoteData(RequestToken) は、このメソッドの結果に置き換えます。

パラメータ
input DownloadCompletedInput: ハンドラ パラメータをダウンロードします。 この値が null になることはありません。

consumer Consumer: 結果を受け取るコールバック。null をオンにした状態で呼び出す必要があります。 エラーが発生します。null で呼び出された場合、REMOTE_DATA テーブルは更新されません。

このメソッドが RuntimeException をスローした場合は、 REMOTE_DATA テーブルです。

onEvent

public void onEvent (EventInput input, 
                Consumer<EventOutput> consumer)

プラットフォームが提供するトラッキング URL(EventUrlProvider)に対するリクエストによってトリガーされたイベントを処理します。この URL は、 onRender(android.adservices.ondevicepersonalization.RenderInput, java.util.function.Consumer)。プラットフォームは EVENTS テーブルを EventOutput#getEventLogRecord()

パラメータ
input EventInput: イベントデータの計算に必要なパラメータ。 この値が null になることはありません。

consumer Consumer: 結果を受け取るコールバック。null をオンにした状態で呼び出す必要があります。 エラーが発生します。null を指定して呼び出すと、EVENTS テーブルにデータは書き込まれません。

このメソッドが RuntimeException をスローすると、EVENTS にデータは書き込まれません。 表します

onExecute

public void onExecute (ExecuteInput input, 
                Consumer<ExecuteOutput> consumer)

アプリからのリクエストを処理します。このメソッドは、名前付きファイルを参照する OnDevicePersonalizationManager#execute(ComponentName, PersistableBundle, java.util.concurrent.Executor, OutcomeReceiver) をアプリが IsolatedService

パラメータ
input ExecuteInput: 呼び出し元アプリからのリクエスト パラメータ。 この値が null になることはありません。

consumer Consumer: 結果 ExecuteOutput を受け取るコールバック。呼び出す必要がある (エラーの場合は null)。エラーは、terraform plan または terraform apply の OnDevicePersonalizationException(エラーコード: OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED)。プライバシー保護の目的で データを呼び出し元のアプリに返すと、より詳細なエラーレポートは利用できません。IsolatedService がエラーの統計情報をバックエンドに報告する必要がある場合は、ロギング用のエラーデータを ExecuteOutput に入力し、連携アナリティクスを使用して集計する必要があります。 エラーレポートを確認します

このメソッドが RuntimeException をスローした場合は、これも エラーコード OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED とともに OnDevicePersonalizationException としてアプリを呼び出している。

onRender

public void onRender (RenderInput input, 
                Consumer<RenderOutput> consumer)

の結果として返された結果の HTML を生成します。 onExecute(android.adservices.ondevicepersonalization.ExecuteInput, java.util.function.Consumer)。クライアント アプリが呼び出すと呼び出されます OnDevicePersonalizationManager#requestSurfacePackage(SurfacePackageToken, IBinder, int, int, int, java.util.concurrent.Executor, OutcomeReceiver)。 プラットフォームは、この HTML をフェンス内の WebView にレンダリングします。 クリックします。

パラメータ
input RenderInput: レンダリング リクエストのパラメータ。 この値が null になることはありません。

consumer Consumer: 結果を受け取るコールバック。null をオンにした状態で呼び出す必要があります。 エラーが発生します。このエラーは、エラーコード OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILEDOnDevicePersonalizationException として呼び出し元アプリに伝播されます。

このメソッドが RuntimeException をスローした場合は、呼び出し元にも報告されます。 (エラーコード OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILEDOnDevicePersonalizationException として表示される)。

onTrainingExample

public void onTrainingExample (TrainingExampleInput input, 
                Consumer<TrainingExampleOutput> consumer)

連携コンピューティング ジョブに使用されるトレーニング サンプルを 1 つ生成する。

パラメータ
input TrainingExampleInput: トレーニング サンプルの生成に必要なパラメータ。 この値が null になることはありません。

consumer Consumer: 完了時に呼び出されるコールバック。 この値が null になることはありません。