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 |
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 à
|
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 |
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 |
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 |
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 |
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 . |