Gestionnaire de sélection des annonces
public
class
AdSelectionManager
extends Object
java.lang.Object | |
↳ | android.adservices.adselection.AdSelectionManager |
AdSelection Manager fournit des API pour les SDK publicitaires et d'applications afin d'exécuter les processus de sélection des annonces, ainsi que générer des rapports sur les impressions.
Résumé
Méthodes publiques | |
---|---|
static
AdSelectionManager
|
get(Context context)
Méthode par défaut permettant de créer une instance d'AdSelectionManager. |
void
|
getAdSelectionData(GetAdSelectionDataRequest request, Executor executor, OutcomeReceiver<GetAdSelectionDataOutcome, Exception> receiver)
Collecte des données d'audience personnalisées à partir de l'appareil. |
TestAdSelectionManager
|
getTestAdSelectionManager()
|
void
|
persistAdSelectionResult(PersistAdSelectionResultRequest request, Executor executor, OutcomeReceiver<AdSelectionOutcome, Exception> receiver)
Permet de conserver les résultats de la sélection d'annonces côté serveur. |
void
|
reportEvent(ReportEventRequest request, Executor executor, OutcomeReceiver<Object, Exception> receiver)
Informe le service qu'un nouvel événement d'annonce doit être consigné pour l'annonce sélectionnée par
exécution de la sélection d'annonces identifiée par |
void
|
reportImpression(ReportImpressionRequest request, Executor executor, OutcomeReceiver<Object, Exception> receiver)
Informe le service qu'une nouvelle impression doit être enregistrée pour l'annonce sélectionnée par
exécution de la sélection d'annonces identifiée par |
void
|
selectAds(AdSelectionFromOutcomesConfig adSelectionFromOutcomesConfig, Executor executor, OutcomeReceiver<AdSelectionOutcome, Exception> receiver)
Sélectionne une annonce parmi les résultats de sélections d'annonces déjà diffusées. |
void
|
selectAds(AdSelectionConfig adSelectionConfig, Executor executor, OutcomeReceiver<AdSelectionOutcome, Exception> receiver)
Exécute le processus de sélection des annonces sur l'appareil afin de sélectionner une annonce de remarketing pour l'appelant. application. |
void
|
updateAdCounterHistogram(UpdateAdCounterHistogramRequest updateAdCounterHistogramRequest, Executor executor, OutcomeReceiver<Object, Exception> outcomeReceiver)
Met à jour les histogrammes de compteur pour une annonce précédemment sélectionnée par un appel à |
Méthodes héritées | |
---|---|
Méthodes publiques
get
Également disponible dans la section Extensions de services publicitaires 6
public static AdSelectionManager get (Context context)
Méthode par défaut permettant de créer une instance d'AdSelectionManager.
Paramètres | |
---|---|
context |
Context : Context à utiliser
Cette valeur ne peut pas être null . |
Renvoie | |
---|---|
AdSelectionManager |
Une instance AdSelectionManager
Cette valeur ne peut pas être null . |
getAdSelectionData
public void getAdSelectionData (GetAdSelectionDataRequest request, Executor executor, OutcomeReceiver<GetAdSelectionDataOutcome, Exception> receiver)
Collecte des données d'audience personnalisées à partir de l'appareil. Renvoie un blob compressé et chiffré à envoyer à des serveurs d'enchères pour la sélection des annonces. Pour en savoir plus, consultez la page Enchères et les services d'enchères.
Les annonces d'audience personnalisée doivent avoir un ad_render_id
pour pouvoir être collectées.
Consultez AdSelectionManager#persistAdSelectionResult
pour savoir comment traiter les résultats de
la sélection d'annonces s'exécute côté serveur avec le blob généré par cette API.
La sortie est transmise par le récepteur, qui renvoie soit un GetAdSelectionDataOutcome
pour une exécution réussie, soit un Exception
qui inclut le type de
l'exception générée et le message d'erreur correspondant.
Si l'exception IllegalArgumentException
est générée, cela est dû à un argument d'entrée non valide.
reçues par l'API pour exécuter la sélection d'annonces.
Si l'IllegalStateException
est générée avec le message d'erreur "Failure of AdSelection"
services.", cela est dû à une défaillance interne du service de sélection d'annonces.
Si l'exception TimeoutException
est générée, cela se produit lorsqu'un délai avant expiration est atteint.
au cours du processus d'enchères, d'évaluation ou de sélection globale pour trouver l'annonce gagnante.
Si l'exception LimitExceededException
est générée, cela se produit lorsque le package appelant
dépasse les limites de débit autorisées et est limité.
Si l'exception SecurityException
est générée, cela se produit lorsque l'appelant n'est pas autorisé.
ou si l'autorisation n'est pas demandée.
Nécessite AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE
Paramètres | |
---|---|
request |
GetAdSelectionDataRequest : cette valeur ne peut pas être null . |
executor |
Executor : cette valeur ne peut pas être null .
Les événements de rappel et d'écouteur sont envoyés via
Executor , ce qui permet de contrôler facilement le thread qui est
utilisé. Pour envoyer des événements via le thread principal de votre
vous pouvez utiliser
Context.getMainExecutor()
Sinon, fournissez un Executor qui sera envoyé à un thread approprié. |
receiver |
OutcomeReceiver : cette valeur ne peut pas être null . |
Gestionnaire de la sélection d'annonces getTest
public TestAdSelectionManager getTestAdSelectionManager ()
Renvoie | |
---|---|
TestAdSelectionManager |
Cette valeur ne peut pas être null . |
persistAdSelectionResult
public void persistAdSelectionResult (PersistAdSelectionResultRequest request, Executor executor, OutcomeReceiver<AdSelectionOutcome, Exception> receiver)
Permet de conserver les résultats de la sélection d'annonces côté serveur. Pour en savoir plus, consultez la page Enchères et les services d'enchères
Consultez AdSelectionManager#getAdSelectionData
pour savoir comment générer un blob chiffré pour
une sélection d'annonces côté serveur.
La sortie est transmise par le récepteur, qui renvoie soit un AdSelectionOutcome
.
pour une exécution réussie, ou une Exception
inclut le type de l'exception générée et
le message d'erreur correspondant.
Si l'exception IllegalArgumentException
est générée, cela est dû à un argument d'entrée non valide.
reçues par l'API pour exécuter la sélection d'annonces.
Si l'IllegalStateException
est générée avec le message d'erreur "Failure of AdSelection"
services.", cela est dû à une défaillance interne du service de sélection d'annonces.
Si l'exception TimeoutException
est générée, cela se produit lorsqu'un délai avant expiration est atteint.
au cours du processus d'enchères, d'évaluation ou de sélection globale pour trouver l'annonce gagnante.
Si l'erreur LimitExceededException
est générée, cela se produit lorsque le package appelant
dépasse les limites de débit autorisées et est limité.
Si l'exception SecurityException
est générée, cela se produit lorsque l'appelant n'est pas autorisé.
ou si l'autorisation n'est pas demandée.
Nécessite AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE
Paramètres | |
---|---|
request |
PersistAdSelectionResultRequest : cette valeur ne peut pas être null . |
executor |
Executor : cette valeur ne peut pas être null .
Les événements de rappel et d'écouteur sont envoyés via
Executor , ce qui permet de contrôler facilement le thread qui est
utilisé. Pour envoyer des événements via le thread principal de votre
vous pouvez utiliser
Context.getMainExecutor()
Sinon, fournissez un Executor qui sera envoyé à un thread approprié. |
receiver |
OutcomeReceiver : cette valeur ne peut pas être null . |
reportEvent
public void reportEvent (ReportEventRequest request, Executor executor, OutcomeReceiver<Object, Exception> receiver)
Informe le service qu'un nouvel événement d'annonce doit être consigné pour l'annonce sélectionnée par
exécution de la sélection d'annonces identifiée par adSelectionId
. Un événement d'annonce est une occurrence
arrive à une annonce associée à l'élément adSelectionId
donné. Il n'y a aucune garantie que
lorsque l'événement d'annonce sera signalé. Il est possible que les rapports sur les événements
soient retardés et qu'ils ne soient
par lot.
Le service récupère reportingUri
à l'aide de ReportEventRequest#getKey()
.
enregistré dans registerAdBeacon
. Consultez la documentation de reportImpression(ReportImpressionRequest, Executor, OutcomeReceiver)
pour en savoir plus sur registerAdBeacon
. Ensuite, le service
associe ReportEventRequest#getData()
au corps d'une requête POST.
envoyer la requête. Le corps de la requête POST aura la content-type
de text/plain
, et les données seront transmises dans charset=UTF-8
.
La sortie est transmise par le récepteur, qui renvoie un Object
vide pour une
ou une exécution réussie, ou Exception
inclut le type de l'exception générée et
le message d'erreur correspondant.
Si l'exception IllegalArgumentException
est générée, cela est dû à un argument d'entrée non valide.
à l'API pour signaler l'événement d'annonce.
Si l'IllegalStateException
est générée avec le message d'erreur "Failure of AdSelection"
services.", cela est dû à une défaillance interne du service de sélection d'annonces.
Si l'exception LimitExceededException
est générée, cela se produit lorsque le package appelant
dépasse les limites de débit autorisées et est limité.
Si l'exception SecurityException
est générée, cela se produit lorsque l'appelant n'est pas autorisé.
ou si l'autorisation n'est pas demandée.
Les événements seront consignés au maximum une fois dans la mesure du possible.
Nécessite AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE
Paramètres | |
---|---|
request |
ReportEventRequest : cette valeur ne peut pas être null . |
executor |
Executor : cette valeur ne peut pas être null . |
receiver |
OutcomeReceiver : cette valeur ne peut pas être null . |
rapportImpression
public void reportImpression (ReportImpressionRequest request, Executor executor, OutcomeReceiver<Object, Exception> receiver)
Informe le service qu'une nouvelle impression doit être enregistrée pour l'annonce sélectionnée par
exécution de la sélection d'annonces identifiée par adSelectionId
. Il n'existe aucune garantie quant au moment
est enregistrée. Il est possible que la création des rapports
sur les impressions soit retardée
par lot.
Pour calculer l'URL de rapport sur le vendeur gagnant, le service extrait le code JavaScript du vendeur
logique de l'élément AdSelectionConfig#getDecisionLogicUri()
trouvé à l'emplacement ReportImpressionRequest.getAdSelectionConfig()
. Ensuite, le service exécute l'une des
disponibles dans le code JS du vendeur, appelées reportResult
, qui fournissent des signaux sur l'appareil
ainsi que ReportImpressionRequest#getAdSelectionConfig()
comme paramètres d'entrée.
Voici la définition de la fonction de reportResult
:
function reportResult(ad_selection_config, render_url, bid, contextual_signals) {
return { 'status': status, 'results': {'signals_for_buyer': signals_for_buyer,
'reporting_url': reporting_url } }; }
Pour calculer l'URL de rapport de l'acheteur ayant remporté l'enchère, le service extrait l'URL
Logique JavaScript récupérée via le CustomAudience.getBiddingLogicUri()
de l'acheteur. Ensuite, le service
exécute l'une des fonctions situées dans le code JS de l'acheteur, appelée reportWin
, en fournissant
signaux sur l'appareil, signals_for_buyer
calculés par reportResult
et
de ReportImpressionRequest#getAdSelectionConfig()
en tant que paramètres d'entrée.
Voici la définition de la fonction de reportWin
:
function reportWin(ad_selection_signals, per_buyer_signals, signals_for_buyer,
contextual_signals, custom_audience_reporting_signals) { return {'status': 0, 'results':
{'reporting_url': reporting_url } }; }
En outre, les acheteurs et les vendeurs ont la possibilité de s'inscrire pour recevoir des rapports sur des
les événements d'annonce. Pour ce faire, il peut appeler la fonction registerAdBeacon
fournie par la plate-forme.
dans reportWin
et reportResult
pour les acheteurs et les vendeurs, respectivement.
Voici la définition de la fonction de registerBeacon
:
function registerAdBeacon(beacons)
, où beacons
est un dictionnaire de chaîne à
paires de chaînes
Pour chaque événement d'annonce pour lequel un acheteur/vendeur est intéressé par des rapports, il doit ajouter une paire event_key
: event_reporting_uri
au dictionnaire beacons
, où event_key
est un identifiant pour cet événement spécifique. Ce event_key
doit correspondre
ReportEventRequest#getKey()
lorsque le SDK appelle reportEvent(ReportEventRequest, Executor, OutcomeReceiver)
. De plus,
chaque event_reporting_uri
doit s'analyser correctement en Uri
. Ce
correspondra à la Uri
signalée lorsque le SDK appelle reportEvent(ReportEventRequest, Executor, OutcomeReceiver)
.
Lorsque l'acheteur/le vendeur a ajouté toutes les paires pour lesquelles il souhaite recevoir des événements, il peut
invoquer registerAdBeacon(beacons)
, où beacons
est le nom du dictionnaire
auquel les paires ont été ajoutées.
registerAdBeacon
génère une TypeError
dans les situations suivantes:
registerAdBeacon
est appelé plusieurs fois. Si cette erreur est détectée reportWin/reportResult, l'ensemble d'associations d'origine sera enregistréregisterAdBeacon
ne comporte pas exactement 1 argument "dict".- Le contenu de l'argument 1 "dict" ne correspond pas à toutes les associations
String: String
.
La sortie est transmise par receiver
, qui renvoie soit un Object
vide.
pour une exécution réussie, ou Exception
inclut le type de l'exception générée et
le message d'erreur correspondant.
Si l'exception IllegalArgumentException
est générée, cela est dû à un argument d'entrée non valide.
reçues par l'API pour signaler l'impression.
Si l'IllegalStateException
est générée avec le message d'erreur "Failure of AdSelection"
services.", cela est dû à une défaillance interne du service de sélection d'annonces.
Si l'exception LimitExceededException
est générée, cela se produit lorsque le package appelant
dépasse les limites de débit autorisées et est limité.
Si l'exception SecurityException
est générée, cela se produit lorsque l'appelant n'est pas autorisé.
ou si l'autorisation n'est pas demandée.
Dans la mesure du possible, les impressions ne sont pas comptabilisées plus d'une fois.
Nécessite AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE
Paramètres | |
---|---|
request |
ReportImpressionRequest : cette valeur ne peut pas être null . |
executor |
Executor : cette valeur ne peut pas être null . |
receiver |
OutcomeReceiver : cette valeur ne peut pas être null . |
selectAds
public void selectAds (AdSelectionFromOutcomesConfig adSelectionFromOutcomesConfig, Executor executor, OutcomeReceiver<AdSelectionOutcome, Exception> receiver)
Sélectionne une annonce parmi les résultats de sélections d'annonces déjà diffusées.
L'entrée adSelectionFromOutcomesConfig
est fournie par le SDK Ads, et l'objet AdSelectionFromOutcomesConfig
est transféré via un appel de liaison. Pour cette raison, le
la taille totale de ces objets est liée aux limites de l'IPC Android. En cas d'échec du transfert
AdSelectionFromOutcomesConfig
génère une TransactionTooLargeException
.
La sortie est transmise par le récepteur, qui renvoie soit un AdSelectionOutcome
.
pour une exécution réussie, ou une Exception
inclut le type de l'exception générée et
le message d'erreur correspondant.
L'entrée adSelectionFromOutcomesConfig
contient:
Seller
doit être unAdTechIdentifier
enregistré. Sinon,IllegalStateException
sera générée.List of ad selection ids
doit exister et provenir d'appelsselectAds(AdSelectionConfig, Executor, OutcomeReceiver)
provenant de la même application. Sinon,IllegalArgumentException
pour la validation des entrées déclenchera la diffusion de l'annonce ne respectant pas les règles de sélection.Selection logic URI
qui peut suivre le protocole HTTPS ou le format prédéfini de sélection des annonces des schémas.Si l'URI suit le schéma HTTPS, l'hôte doit correspondre à
seller
. Sinon, une exceptionIllegalArgumentException
est générée.Les URI prédéfinis permettent de remplacer une logique prédéfinie prédéfinie par une logique JavaScript pour
selectOutcome
. L'URI prédéfini pour ce point de terminaison doit suivre :ad-selection-prebuilt://ad-selection-from-outcomes/<name>?<script-generation-parameters>
Si un URI prédéfini non compatible est transmis ou si la fonctionnalité d'URI prédéfini est désactivée par la service, la commande
IllegalArgumentException
est générée.Consultez la liste des
AdSelectionFromOutcomesConfig.Builder#setSelectionLogicUri
pour en savoir plus<name>
et<script-generation-parameters>
obligatoire.
Si l'exception IllegalArgumentException
est générée, cela est dû à un argument d'entrée non valide.
reçues par l'API pour exécuter la sélection d'annonces.
Si l'IllegalStateException
est générée avec le message d'erreur "Failure of AdSelection"
services.", cela est dû à une défaillance interne du service de sélection d'annonces.
Si l'exception TimeoutException
est générée, cela se produit lorsqu'un délai avant expiration est atteint.
au cours du processus d'enchères, d'évaluation ou de sélection globale pour trouver l'annonce gagnante.
Si l'exception LimitExceededException
est générée, cela se produit lorsque le package appelant
dépasse les limites de débit autorisées et est limité.
Si l'exception SecurityException
est générée, cela se produit lorsque l'appelant n'est pas autorisé.
ou si l'autorisation n'est pas demandée.
Nécessite AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE
Paramètres | |
---|---|
adSelectionFromOutcomesConfig |
AdSelectionFromOutcomesConfig : cette valeur ne peut pas être null . |
executor |
Executor : cette valeur ne peut pas être null .
Les événements de rappel et d'écouteur sont envoyés via
Executor , ce qui permet de contrôler facilement le thread qui est
utilisé. Pour envoyer des événements via le thread principal de votre
vous pouvez utiliser
Context.getMainExecutor()
Sinon, fournissez un Executor qui sera envoyé à un thread approprié. |
receiver |
OutcomeReceiver : cette valeur ne peut pas être null . |
selectAds
public void selectAds (AdSelectionConfig adSelectionConfig, Executor executor, OutcomeReceiver<AdSelectionOutcome, Exception> receiver)
Exécute le processus de sélection des annonces sur l'appareil afin de sélectionner une annonce de remarketing pour l'appelant. application.
L'entrée adSelectionConfig
est fournie par le SDK Ads, et l'objet AdSelectionConfig
est transféré via un appel de liaison. Pour cette raison, la taille totale
de ces objets est liée aux limites d'IPC Android. En cas d'échec du transfert de AdSelectionConfig
, une exception TransactionTooLargeException
est générée.
L'entrée adSelectionConfig
contient Decision Logic Uri
qui pourrait suivre
soit le schéma HTTPS,
soit le schéma prédéfini Sélection d'annonces.
Si l'URI suit le schéma HTTPS, l'hôte doit correspondre à seller
. Sinon,
Une exception IllegalArgumentException
est générée.
Les URI prédéfinis permettent de remplacer une logique prédéfinie prédéfinie par une logique
JavaScript pour scoreAds
. L'URI prédéfini pour ce point de terminaison doit suivre :
ad-selection-prebuilt://ad-selection/<name>?<script-generation-parameters>
Si un URI prédéfini non compatible est transmis ou si la fonctionnalité d'URI prédéfini est désactivée par la
service, la commande IllegalArgumentException
est générée.
Consultez les AdSelectionConfig.Builder#setDecisionLogicUri
pour connaître les <name>
et les
<script-generation-parameters>
obligatoire.
La sortie est transmise par le récepteur, qui renvoie soit un AdSelectionOutcome
.
pour une exécution réussie, ou une Exception
inclut le type de l'exception générée et
le message d'erreur correspondant.
Si l'exception IllegalArgumentException
est générée, cela est dû à un argument d'entrée non valide.
reçues par l'API pour exécuter la sélection d'annonces.
Si l'IllegalStateException
est générée avec le message d'erreur "Failure of AdSelection"
services.", cela est dû à une défaillance interne du service de sélection d'annonces.
Si l'exception TimeoutException
est générée, cela se produit lorsqu'un délai avant expiration est atteint.
au cours du processus d'enchères, d'évaluation ou de sélection globale pour trouver l'annonce gagnante.
Si l'erreur LimitExceededException
est générée, cela se produit lorsque le package appelant
dépasse les limites de débit autorisées et est limité.
Si l'exception SecurityException
est générée, cela se produit lorsque l'appelant n'est pas autorisé.
ou si l'autorisation n'est pas demandée.
Nécessite AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE
Paramètres | |
---|---|
adSelectionConfig |
AdSelectionConfig : cette valeur ne peut pas être null . |
executor |
Executor : cette valeur ne peut pas être null .
Les événements de rappel et d'écouteur sont envoyés via
Executor , ce qui permet de contrôler facilement le thread qui est
utilisé. Pour envoyer des événements via le thread principal de votre
vous pouvez utiliser
Context.getMainExecutor()
Sinon, fournissez un Executor qui sera envoyé à un thread approprié. |
receiver |
OutcomeReceiver : cette valeur ne peut pas être null . |
updateAdCounterHistogram
public void updateAdCounterHistogram (UpdateAdCounterHistogramRequest updateAdCounterHistogramRequest, Executor executor, OutcomeReceiver<Object, Exception> outcomeReceiver)
Met à jour les histogrammes de compteur pour une annonce précédemment sélectionnée par un appel à selectAds(android.adservices.adselection.AdSelectionConfig, java.util.concurrent.Executor, android.os.OutcomeReceiver)
.
Les histogrammes de compteur sont utilisés lors de la sélection des annonces pour informer le filtrage de la limitation de la fréquence d'exposition sur les annonces candidates, dans lesquelles les annonces dont les limites du nombre d'expositions sont atteintes ou dépassées sont supprimées lors de la sélection des annonces.
Les histogrammes de compteur ne peuvent être mis à jour que pour les annonces spécifiées par le adSelectionId
donné, renvoyé par un appel récent à la sélection d'annonces FLEDGE à partir de la même application appelante.
Un SecurityException
est renvoyé via outcomeReceiver
si:
- L'application n'a pas déclaré les autorisations appropriées dans son fichier manifeste.
- l'application ou l'entité identifiée par l'
callerAdTechIdentifier
ne sont pas autorisées pour utiliser l'API.
IllegalStateException
est renvoyée via outcomeReceiver
si l'appel
ne proviennent pas d'une application
avec une activité de premier plan.
Un LimitExceededException
est renvoyé via outcomeReceiver
si l'appel
dépasse la limitation d'API de l'application appelante.
Dans tous les autres cas d'échec, outcomeReceiver
renvoie un Object
vide. Notez que, pour protéger la confidentialité des utilisateurs, les erreurs internes ne sont pas renvoyées par le biais d'un
une exception.
Nécessite AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE
Paramètres | |
---|---|
updateAdCounterHistogramRequest |
UpdateAdCounterHistogramRequest : cette valeur ne peut pas être null . |
executor |
Executor : cette valeur ne peut pas être null .
Les événements de rappel et d'écouteur sont envoyés via
Executor , ce qui permet de contrôler facilement le thread qui est
utilisé. Pour envoyer des événements via le thread principal de votre
vous pouvez utiliser
Context.getMainExecutor()
Sinon, fournissez un Executor qui sera envoyé à un thread approprié. |
outcomeReceiver |
OutcomeReceiver : cette valeur ne peut pas être null . |