Lorsqu'une impression se produit, GMA Next-Gen SDK fournit les données sur les revenus publicitaires associés à cette impression. Vous pouvez utiliser ces données pour calculer la valeur vie d'un utilisateur ou les transmettre à d'autres systèmes pertinents.
Ce guide vous explique comment implémenter la capture de données sur les revenus publicitaires au niveau des impressions dans votre application Android.
Prérequis
- Assurez-vous d'avoir activé la fonctionnalité des revenus publicitaires au niveau des impressions dans l' interface utilisateur AdMob.
- Configurer GMA Next-Gen SDK.
Avant de pouvoir recevoir des revenus publicitaires au niveau des impressions, vous devez implémenter au moins un format d'annonce :
Gestionnaire d'événements payants
Chaque format d'annonce comporte un
onAdPaid
rappel d'événement.
Pendant le cycle de vie d'un événement publicitaire, GMA Next-Gen SDK surveille
les événements d'impression et appelle le gestionnaire avec une valeur générée.
L'exemple suivant gère les événements payants pour une annonce avec récompense :
Kotlin
ad.adEventCallback =
object : RewardedAdEventCallback {
override fun onAdPaid(adValue: AdValue) {
// Send the impression-level ad revenue information to your
// preferred analytics server directly within this callback.
// Extract the impression-level ad revenue data.
val valueMicros = adValue.valueMicros
val currencyCode = adValue.currencyCode
val precisionType = adValue.precisionType
val loadedAdSourceResponseInfo = ad.getResponseInfo().loadedAdSourceResponseInfo
val adSourceName = loadedAdSourceResponseInfo?.name
val adSourceId = loadedAdSourceResponseInfo?.id
val adSourceInstanceName = loadedAdSourceResponseInfo?.instanceName
val adSourceInstanceId = loadedAdSourceResponseInfo?.instanceId
val extras = ad.getResponseInfo().responseExtras
val mediationGroupName = extras.getString("mediation_group_name")
val mediationABTestName = extras.getString("mediation_ab_test_name")
val mediationABTestVariant = extras.getString("mediation_ab_test_variant")
}
}
Java
ad.setAdEventCallback(
new RewardedAdEventCallback() {
@Override
public void onAdPaid(@NonNull AdValue value) {
// Send the impression-level ad revenue information to your preferred
// analytics server directly within this callback.
// Extract the impression-level ad revenue data.
long valueMicros = value.getValueMicros();
String currencyCode = value.getCurrencyCode();
PrecisionType precisionType = value.getPrecisionType();
AdSourceResponseInfo loadedAdSourceResponseInfo =
ad.getResponseInfo().getLoadedAdSourceResponseInfo();
String adSourceName = loadedAdSourceResponseInfo.getName();
String adSourceId = loadedAdSourceResponseInfo.getId();
String adSourceInstanceName = loadedAdSourceResponseInfo.getInstanceName();
String adSourceInstanceId = loadedAdSourceResponseInfo.getInstanceId();
Bundle extras = ad.getResponseInfo().getResponseExtras();
String mediationGroupName = extras.getString("mediation_group_name");
String mediationABTestName = extras.getString("mediation_ab_test_name");
String mediationABTestVariant = extras.getString("mediation_ab_test_variant");
}
});
Identifier le nom d'une source d'annonces d'événement personnalisé
Pour les sources d'annonces d'événement personnalisé, la propriété AdSourceResponseInfo.name renvoie le nom de la source d'annonces Custom event. Si vous utilisez plusieurs événements personnalisés, le nom de la source d'annonces n'est pas suffisamment précis pour les distinguer. Pour localiser un événement personnalisé spécifique, procédez comme suit :
- Obtenez la propriété
AdSourceResponseInfo.name. - Définissez un nom de source d'annonces unique.
L'exemple suivant définit un nom de source d'annonces unique pour un événement personnalisé :
Kotlin
private fun getUniqueAdSourceName(loadedAdapterResponseInfo: AdSourceResponseInfo): String {
var adSourceName = loadedAdapterResponseInfo.name
if (adSourceName == "Custom Event") {
if (
loadedAdapterResponseInfo.adapterClassName ==
"com.google.ads.mediation.sample.customevent.SampleCustomEvent"
) {
adSourceName = "Sample Ad Network (Custom Event)"
}
}
return adSourceName
}Java
private String getUniqueAdSourceName(@NonNull AdSourceResponseInfo loadedAdapterResponseInfo) {
String adSourceName = loadedAdapterResponseInfo.getName();
if (adSourceName.equals("Custom Event")) {
if (loadedAdapterResponseInfo
.getAdapterClassName()
.equals("com.google.ads.mediation.sample.customevent.SampleCustomEvent")) {
adSourceName = "Sample Ad Network (Custom Event)";
}
}
return adSourceName;
}
Pour en savoir plus sur la source d'annonces gagnante, consultez Récupérer des informations sur la réponse publicitaire.
Intégration des App Attribution Partners (AAP)
Pour en savoir plus sur la transmission des données sur les revenus publicitaires aux plates-formes d'analyse, consultez le guide du partenaire :
| SDK partenaire |
|---|
| Adjust |
| AppsFlyer |
| Singular |
| Tenjin |
Bonnes pratiques pour l'implémentation
- Définissez l'écouteur immédiatement après avoir créé l'objet publicitaire ou y avoir accédé, et avant d'afficher l'annonce. Vous vous assurez ainsi de ne manquer aucun rappel d'événement payant.
- Envoyez immédiatement les informations sur les revenus publicitaires au niveau des impressions à votre serveur d'analyse préféré lorsque le rappel d'événement payant est appelé. Vous vous assurez ainsi de ne pas supprimer accidentellement de rappels et d'éviter les écarts de données.
AdValue
AdValue est une classe qui représente la valeur monétaire générée pour une annonce, y compris le code de devise de la valeur et son type de précision encodés comme suit.
| PrecisionType | Description |
|---|---|
UNKNOWN |
Valeur d'annonce inconnue. Cette valeur est renvoyée lorsque le pingback de la valeur vie est activé, mais que les données disponibles sont insuffisantes. |
ESTIMATED |
La valeur de l'annonce est estimée à partir de données globales. |
PUBLISHER_PROVIDED |
La valeur de l'annonce est fournie par l'éditeur (CPM manuels dans un groupe de médiation, par exemple). |
PRECISE |
Montant exact payé pour cette annonce. |
Dans le cas de la médiation AdMob, AdMob tente de
fournir une ESTIMATED valeur pour les sources d'annonces qui
sont optimisées.
Pour les sources d'annonces non optimisées ou lorsque les données globales sont insuffisantes pour générer une estimation significative, la valeur PUBLISHER_PROVIDED est renvoyée.
Tester les impressions provenant de sources d'annonces associées à des enchères
Lorsqu'un événement de revenus publicitaires au niveau des impressions se produit pour une source d'annonces associée à des enchères via une requête de test, vous ne recevez que les valeurs suivantes :
UNKNOWN: indique le type de précision.
0: indique la valeur de l'annonce.
Auparavant, le type de précision pouvait être une valeur autre que
UNKNOWN et la valeur de l'annonce pouvait être supérieure à 0.
Pour en savoir plus sur l'envoi d'une requête d'annonce test, consultez Activer les appareils de test.