Vous pouvez envoyer des données d'audience et contextuelles sous forme de signaux fournis par l'éditeur (PPS) dans les demandes d'annonces. Grâce aux PPS, vous pouvez utiliser vos données utilisateur pour améliorer la monétisation programmatique en communiquant les caractéristiques de votre audience aux enchérisseurs pour tous les types de transactions, à l'aide de taxonomies standards, sans avoir à partager d'identifiants utilisateur. Les caractéristiques de votre audience peuvent inclure des données comportementales et basées sur les centres d'intérêt ( Taxonomie d'audience de l'IAB 1.1) et des données contextuelles ( Taxonomie de contenu de l'IAB 2.2). Vous pouvez également envoyer des signaux structurés fournis par l'éditeur, qui sont définis par Google et permettent d'envoyer des signaux supplémentaires.
Construire le JSON des signaux utilisateur
Au premier niveau, créez un objet JSON avec une seule paire clé/valeur. La clé doit être PublisherProvidedTaxonomySignals, et sa valeur doit être un tableau d'objets. Chaque objet du tableau doit comporter deux paires clé/valeur :
La clé
taxonomy, qui accepte les valeurs suivantes mappées aux spécifications publiques de l'IAB suivantes :IAB_AUDIENCE_1_1pour la taxonomie d'audience 1.1IAB_CONTENT_2_2pour la taxonomie de contenu 2.2
Clé
valuesavec un tableau de valeurs de taxonomie de chaînes correspondant.
Construire le tableau des signaux structurés
Pour les signaux structurés, ajoutez la clé PublisherProvidedStructuredSignals avec la valeur d'un tableau d'objets. Construisez l'objet en fonction de la liste suivante de paires clé/valeur de signaux :
Activer/Désactiver l'affichage du tableau des signaux structurés
| Signal | <code" dir="ltr" translate="no">"type" Value</code"> | Valeurs "single_value" possibles |
Valeurs "values" possibles |
|---|---|---|---|
| Type de flux audio | "audio_feed" |
|
n/a |
| Classification du contenu | "content_rating" |
|
n/a |
| Diffusion de contenu | "delivery" |
n/a |
|
| Qualité de la production | "prodq" |
|
n/a |
Consultez l'exemple suivant qui utilise IAB_AUDIENCE_1_1 et IAB_CONTENT_2_2 pour les signaux de taxonomie et inclut des signaux structurés.
const userSignals = {
"PublisherProvidedTaxonomySignals": [{
"taxonomy": "IAB_AUDIENCE_1_1",
"values": ["6", "284"]
// '6' = 'Demographic | Age Range | 30-34'
// '284' = 'Interest | Business and Finance | Mergers and Acquisitions'
},
{
"taxonomy": "IAB_CONTENT_2_2",
"values": ["49", "138"]
// '49' = 'Books and Literature | Poetry'
// '138' = 'Education | College Education | College Planning'
}],
"PublisherProvidedStructuredSignals": [{
"type": "audio_feed",
"single_value": "af_1",
},
{
"type": "delivery",
"values": ["cd_1", "cd_3"],
},
],
};
Configurer votre requête de flux
Suivez ces étapes pour envoyer des PPS avec votre
StreamRequest :
- Créez une chaîne JSON avec les données contextuelles, comportementales ou sur les centres d'intérêt de l'utilisateur.
- Créez une chaîne ASCII encodée en Base64 à partir de la chaîne JSON ci-dessus.
- Ajoutez votre JSON encodé à l'aide de
StreamRequest.setAdTagParameters.
JSONObject userSignalsObject = new JSONObject();
JSONArray userSignalsArray = new JSONArray();
JSONObject audienceTaxonomyObject = new JSONObject();
JSONArray valuesArray = new JSONArray();
valuesArray.put("1");
valuesArray.put("284");
try {
audienceTaxonomyObject.put("taxonomy", "IAB_AUDIENCE_1_1");
audienceTaxonomyObject.put("values", valuesArray);
} catch (JSONException e) {
e.printStackTrace();
}
userSignalsArray.put(audienceTaxonomyObject);
try {
userSignalsObject.put("PublisherProvidedTaxonomySignals", userSignalsArray);
} catch (JSONException e) {
e.printStackTrace();
}
byte[] userSignalsByte=new byte[0];
try {
userSignalsByte = userSignals.getBytes(StandardCharsets.UTF_8);
String encodedBas64Signals = android.util.Base64.encodeToString(
userSignalsByte,
android.util.Base64.URL_SAFE);
encodedSignals = URLEncoder.encode(encodedBas64Signals, "UTF-8");
} catch (java.io.UnsupportedEncodingException error) {
Log.w("Sample app", error);
}
Map<String, String> adTagParamMap = new java.util.HashMap<String, String>();
adTagParamMap.put("ppsj", encodedSignals);
streamRequest.setAdTagParameters(adTagParamMap)