IsolatedWorker

public interface IsolatedWorker

android.adservices.ondevicepersonalization.IsolatedWorker


Interface avec les méthodes à implémenter pour gérer les requêtes du système d'exploitation vers un IsolatedService. IsolatedService crée une instance de IsolatedWorker sur chaque requête et appelle l'une des méthodes ci-dessous, en fonction du type de requête. IsolatedService appelle la méthode sur un thread de liaison, et IsolatedWorker doit décharger les opérations de longue durée sur un thread de travail. Le paramètre consommateur de chaque méthode est utilisé pour renvoyer des résultats.

Résumé

Méthodes publiques

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

Gère un téléchargement terminé.

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

Gère un événement déclenché par une requête adressée à une URL de suivi EventUrlProvider fournie par la plate-forme, qui était intégrée à la sortie HTML renvoyée par onRender(android.adservices.ondevicepersonalization.RenderInput, java.util.function.Consumer).

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

Gère une requête provenant d'une application.

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

Génère du code HTML pour les résultats renvoyés par onExecute(android.adservices.ondevicepersonalization.ExecuteInput, java.util.function.Consumer).

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

Générez un seul exemple d'entraînement utilisé pour la tâche de calcul fédérée.

Méthodes publiques

onDownloadCompleted

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

Gère un téléchargement terminé. La plate-forme télécharge le contenu à l'aide des paramètres définis dans le fichier manifeste du package de IsolatedService, appelle cette fonction une fois le téléchargement terminé et met à jour la table REMOTE_DATA à partir de IsolatedService#getRemoteData(RequestToken) avec le résultat de cette méthode.

Paramètres
input DownloadCompletedInput: paramètres du gestionnaire de téléchargement. Cette valeur ne peut pas être null.

consumer Consumer: rappel qui reçoit le résultat. Doit être appelé avec null en cas d'erreur. Si elle est appelée avec null, aucune mise à jour n'est effectuée dans la table REMOTE_DATA.

Si cette méthode génère une exception RuntimeException, aucune mise à jour n'est effectuée sur la table REMOTE_DATA.

onEvent

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

Gère un événement déclenché par une requête adressée à une URL de suivi EventUrlProvider fournie par la plate-forme, qui était intégrée à la sortie HTML renvoyée par onRender(android.adservices.ondevicepersonalization.RenderInput, java.util.function.Consumer). La plate-forme met à jour la table EVENTS avec EventOutput#getEventLogRecord().

Paramètres
input EventInput: paramètres nécessaires au calcul des données d'événement. Cette valeur ne peut pas être null.

consumer Consumer: rappel qui reçoit le résultat. Doit être appelé avec null en cas d'erreur. En cas d'appel avec null, aucune donnée n'est écrite dans la table EVENTS.

Si cette méthode génère une exception RuntimeException, aucune donnée n'est écrite dans la table EVENTS.

onExecute

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

Gère une requête provenant d'une application. Cette méthode est appelée lorsqu'une application appelle OnDevicePersonalizationManager#execute(ComponentName, PersistableBundle, java.util.concurrent.Executor, OutcomeReceiver) qui fait référence à un IsolatedService nommé.

Paramètres
input ExecuteInput: paramètres de requête de l'application appelante. Cette valeur ne peut pas être null.

consumer Consumer: rappel qui reçoit le résultat ExecuteOutput. Doit être appelé avec null en cas d'erreur. L'erreur est propagée à l'application appelante en tant que OnDevicePersonalizationException avec le code d'erreur OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED. Pour éviter la fuite de données privées à l'application appelante, des rapports d'erreurs plus détaillés ne sont pas disponibles. Si IsolatedService doit envoyer des statistiques d'erreur à son backend, il doit renseigner ExecuteOutput avec des données d'erreur à des fins de journalisation et s'appuyer sur Federated Analytics pour agréger les rapports d'erreur.

Si cette méthode génère une RuntimeException, elle est également signalée aux applications appelantes en tant que OnDevicePersonalizationException avec le code d'erreur OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED.

onRender

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

Génère du code HTML pour les résultats renvoyés par onExecute(android.adservices.ondevicepersonalization.ExecuteInput, java.util.function.Consumer). Appelé lorsqu'une application cliente appelle OnDevicePersonalizationManager#requestSurfacePackage(SurfacePackageToken, IBinder, int, int, int, java.util.concurrent.Executor, OutcomeReceiver). La plate-forme affichera ce code HTML dans un WebView dans un frame clôturé.

Paramètres
input RenderInput: paramètres de la requête de rendu. Cette valeur ne peut pas être null.

consumer Consumer: rappel qui reçoit le résultat. Doit être appelé avec null en cas d'erreur. L'erreur est propagée à l'application appelante sous la forme d'un OnDevicePersonalizationException avec le code d'erreur OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED.

Si cette méthode génère une erreur RuntimeException, celle-ci est également signalée aux applications appelantes en tant que OnDevicePersonalizationException avec le code d'erreur OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED.

onTrainingExample

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

Générez un seul exemple d'entraînement utilisé pour la tâche de calcul fédérée.

Paramètres
input TrainingExampleInput: paramètres nécessaires pour générer l'exemple d'entraînement. Cette valeur ne peut pas être null.

consumer Consumer: rappel à appeler à la fin. Cette valeur ne peut pas être null.