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