IsolatedService

public abstract class IsolatedService
extends Service

java.lang.Object
   ↳ android.content.Context
     ↳ android.content.ContextWrapper
       ↳ android.app.Service
         ↳ android.adservices.ondevicepersonalization.IsolatedService


Classe de base pour les services démarrés par ODP lors d'un appel à OnDevicePersonalizationManager#execute(ComponentName, PersistableBundle, java.util.concurrent.Executor, OutcomeReceiver) et exécutés dans un processus isolé. Le service peut produire du contenu à afficher dans un SurfaceView dans une application appelante et écrire des résultats persistants dans l'espace de stockage de l'appareil, qui peuvent être utilisés par Federated Analytics pour l'analyse statistique inter-appareil ou par l'apprentissage fédéré pour l'entraînement de modèle. Les applications clientes utilisent OnDevicePersonalizationManager pour interagir avec un IsolatedService.

Résumé

Constantes héritées

Constructeurs publics

IsolatedService()

Méthodes publiques

final EventUrlProvider getEventUrlProvider(RequestToken requestToken)

Renvoie un EventUrlProvider pour la requête en cours.

final FederatedComputeScheduler getFederatedComputeScheduler(RequestToken requestToken)

Renvoie un FederatedComputeScheduler pour la requête en cours.

final MutableKeyValueStore getLocalData(RequestToken requestToken)

Renvoie un objet d'accès aux données pour la table LOCAL_DATA.

final LogReader getLogReader(RequestToken requestToken)

Renvoie un DAO pour les tables REQUESTS et EVENTS qui fournit un accès aux lignes lisibles par IsolatedService.

final KeyValueStore getRemoteData(RequestToken requestToken)

Renvoie un objet d'accès aux données pour la table REMOTE_DATA.

final UserData getUserData(RequestToken requestToken)

Renvoie le UserData fourni par la plate-forme pour la requête actuelle.

IBinder onBind(Intent intent)

Gère la liaison à IsolatedService.

void onCreate()

Crée un liant pour un IsolatedService.

abstract IsolatedWorker onRequest(RequestToken requestToken)

Renvoie une instance d'un IsolatedWorker qui gère les requêtes client.

Méthodes héritées

Constructeurs publics

IsolatedService

public IsolatedService ()

Méthodes publiques

getEventUrlProvider

public final EventUrlProvider getEventUrlProvider (RequestToken requestToken)

Renvoie un EventUrlProvider pour la requête actuelle. EventUrlProvider fournit des URL pouvant être intégrées au code HTML. Lorsque le code HTML est affiché dans un WebView, la plate-forme intercepte les requêtes adressées à ces URL et appelle IsolatedWorker#onEvent(EventInput, Consumer).

Paramètres
requestToken RequestToken: jeton opaque qui identifie la requête actuelle envoyée au service. Cette valeur ne peut pas être null.

Renvoie
EventUrlProvider EventUrlProvider qui renvoie des URL de suivi des événements. Cette valeur ne peut pas être null.

Voir aussi :

getFederatedComputeScheduler

public final FederatedComputeScheduler getFederatedComputeScheduler (RequestToken requestToken)

Renvoie un FederatedComputeScheduler pour la requête en cours. FederatedComputeScheduler permet de planifier et d'annuler des tâches de calcul fédérées. Le calcul fédéré inclut l'apprentissage fédéré et les tâches d'analyse fédérée.

Paramètres
requestToken RequestToken: jeton opaque qui identifie la requête actuelle envoyée au service. Cette valeur ne peut pas être null.

Renvoie
FederatedComputeScheduler Un objet FederatedComputeScheduler qui renvoie un planificateur fédéré de tâches de calcul. Cette valeur ne peut pas être null.

Voir aussi :

getLocalData

public final MutableKeyValueStore getLocalData (RequestToken requestToken)

Renvoie un objet d'accès aux données pour la table LOCAL_DATA. La table LOCAL_DATA est un magasin de paires clé/valeur persistante que le service peut utiliser pour stocker n'importe quelle donnée. Le contenu de cette table n'est visible que par le service exécuté dans un processus isolé et ne peut pas être envoyé en dehors de l'appareil.

Paramètres
requestToken RequestToken: jeton opaque qui identifie la requête actuelle envoyée au service. Cette valeur ne peut pas être null.

Renvoie
MutableKeyValueStore Objet MutableKeyValueStore qui permet d'accéder à la table LOCAL_DATA. Les méthodes de l'MutableKeyValueStore renvoyée sont des opérations bloquantes et doivent être appelées à partir d'un thread de nœud de calcul, et non du thread principal ou d'un thread de liaison. Cette valeur ne peut pas être null.

Voir aussi :

getLogReader

public final LogReader getLogReader (RequestToken requestToken)

Renvoie un DAO pour les tables REQUESTS et EVENTS qui fournit un accès aux lignes lisibles par IsolatedService.

Paramètres
requestToken RequestToken: jeton opaque qui identifie la requête actuelle envoyée au service. Cette valeur ne peut pas être null.

Renvoie
LogReader Objet LogReader qui permet d'accéder aux tables REQUESTS et EVENTS. Les méthodes de l'LogReader renvoyée sont des opérations bloquantes et doivent être appelées à partir d'un thread de nœud de calcul, et non du thread principal ou d'un thread de liaison. Cette valeur ne peut pas être null.

Voir aussi :

getRemoteData

public final KeyValueStore getRemoteData (RequestToken requestToken)

Renvoie un objet d'accès aux données pour la table REMOTE_DATA. La table REMOTE_DATA est un magasin de clés-valeurs en lecture seule qui contient des données téléchargées périodiquement à partir d'un point de terminaison déclaré dans la balise du fichier manifeste ODP du service, comme illustré dans l'exemple suivant.

<!-- Contents of res/xml/OdpSettings.xml -->
 <on-device-personalization>
 <!-- Name of the service subclass -->
 <service "com.example.odpsample.SampleService">
   <!-- If this tag is present, ODP will periodically poll this URL and
    download content to populate REMOTE_DATA. Adopters that do not need to
    download content from their servers can skip this tag. -->
   <download-settings url="https://example.com/get" />
 </service>
 </on-device-personalization>
 

Paramètres
requestToken RequestToken: jeton opaque qui identifie la requête actuelle envoyée au service. Cette valeur ne peut pas être null.

Renvoie
KeyValueStore Objet KeyValueStore permettant d'accéder à la table REMOTE_DATA. Les méthodes de l'KeyValueStore renvoyée sont des opérations bloquantes et doivent être appelées à partir d'un thread de nœud de calcul, et non du thread principal ou d'un thread de liaison. Cette valeur ne peut pas être null.

Voir aussi :

getUserData

public final UserData getUserData (RequestToken requestToken)

Renvoie l'UserData fourni par la plate-forme pour la requête en cours.

Paramètres
requestToken RequestToken: jeton opaque qui identifie la requête actuelle envoyée au service. Cette valeur ne peut pas être null.

Renvoie
UserData Un objet UserData. Cette valeur peut être null.

Voir aussi :

onBind

public IBinder onBind (Intent intent)

Gère la liaison à IsolatedService.

Paramètres
intent Intent: intent utilisé pour lier ce service, tel qu'il a été fourni à Context.bindService. Notez que les extras inclus avec l'intent à ce stade ne s'affichent pas ici. Cette valeur ne peut pas être null.

Renvoie
IBinder Cette valeur peut être null.

onCreate

public void onCreate ()

Crée un liant pour un IsolatedService.

onRequest

public abstract IsolatedWorker onRequest (RequestToken requestToken)

Renvoie une instance d'un IsolatedWorker qui gère les requêtes client.

Paramètres
requestToken RequestToken: jeton opaque qui identifie la requête actuelle auprès du service qui doit être transmis aux méthodes de service qui dépendent de l'état par requête. Cette valeur ne peut pas être null.

Valeur affichée
IsolatedWorker Cette valeur ne peut pas être null.