Nœud de calcul isolé

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, selon le 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 vers un thread de nœud de calcul. Le paramètre "consumer" 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 fournie par la plate-forme EventUrlProvider qui a été 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 suite à onExecute(android.adservices.ondevicepersonalization.ExecuteInput, java.util.function.Consumer)

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

Générez un exemple d'entraînement unique pour le job de calcul fédéré.

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 après le téléchargement. est terminée, et met à jour la table REMOTE_DATA du IsolatedService#getRemoteData(RequestToken) par le résultat de cette méthode.

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

consumer Consumer: rappel qui reçoit le résultat. Doit être appelé avec null sur une erreur. En cas d'appel avec null, aucune mise à jour n'est apportée à la table REMOTE_DATA.

Si cette méthode génère une exception RuntimeException, aucune mise à jour n'est apportée au 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 fournie par la plate-forme EventUrlProvider qui a été intégrée à la sortie HTML renvoyée par onRender(android.adservices.ondevicepersonalization.RenderInput, java.util.function.Consumer) La plateforme 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 sur une 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 EVENTS. tableau.

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 nom IsolatedService

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 sous la forme OnDevicePersonalizationException avec le code d'erreur OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED. Pour éviter les fuites données à l'application appelante, des rapports d'erreurs plus détaillés ne sont pas disponibles. Si IsolatedService doit transmettre des statistiques sur les erreurs à son backend, il doit insérer les données d'erreur dans ExecuteOutput pour la journalisation et s'appuyer sur Federated Analytics pour les agréger. les rapports d'erreur.

Si cette méthode génère une erreur RuntimeException, celle-ci est également signalée à appelant des applications 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 suite à onExecute(android.adservices.ondevicepersonalization.ExecuteInput, java.util.function.Consumer) Appelée 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 à l'intérieur d'une cadre.

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 sur une erreur. L'erreur est propagée à l'application appelante en tant que OnDevicePersonalizationException avec le code d'erreur OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED.

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

Exemple d'entraînement

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

Générez un exemple d'entraînement unique pour le job de calcul fédéré.

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

consumer Consumer: rappel à invoquer une fois l'opération terminée. Cette valeur ne peut pas être null.