Intégrer des adaptateurs de signaux sécurisés

Sélectionner une plate-forme : HTML5 Android iOS tvOS

Les signaux sécurisés sont des données encodées collectées sur l'appareil client et partagées avec certains enchérisseurs. Ce guide explique comment collecter et envoyer des signaux sécurisés à Google Ad Manager à l'aide du SDK IMA.

Pour sélectionner des signaux et des enchérisseurs, et activer le partage de signaux sécurisés, consultez Partager des signaux sécurisés avec des enchérisseurs.

Utiliser un fournisseur de signaux tiers

Pour utiliser des signaux sécurisés, vous devez déployer un script de collecte des signaux sur votre site afin de collecter les signaux, de les encoder et de les transmettre au SDK IMA.

Vous pouvez déployer des scripts de signaux sécurisés automatiquement ou manuellement.

Déployer automatiquement

Lorsque vous sélectionnez des fournisseurs de signaux dans Ad Manager, vous pouvez avoir la possibilité de demander à Google de déployer le script de collecte des signaux en votre nom, en fonction des fournisseurs de signaux que vous avez sélectionnés. Si vous sélectionnez cette option et que votre site inclut des Google Publisher Tags, les scripts de collecte des signaux que vous avez choisis sont chargés automatiquement.

Voici un exemple de ce que vous pouvez voir dans l'interface utilisateur Ad Manager :

Voici un exemple de ce que vous pouvez voir dans le fichier index.html de votre site :

<script src="//imasdk.googleapis.com/js/sdkloader/ima3.js"></script>
<!-- Load gpt.js, which autoloads all signal provider scripts configured to be
  deployed by Google. -->
<script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script>
<script src="ads.js"></script>

Déployer manuellement

Si l'option Demander à Google de déployer le script de collecte des signaux en votre nom ne s'affiche pas dans Ad Manager ou si vous ne l'activez pas, vous devez obtenir un lien de script auprès de votre fournisseur de signaux sécurisés et l'inclure manuellement dans votre projet.

Voici un exemple de ce que vous pouvez voir dans l'interface utilisateur Ad Manager :

Voici un exemple de ce que vous pouvez voir dans le fichier index.html de votre site :

<script src="//imasdk.googleapis.com/js/sdkloader/ima3.js"></script>
<!-- Load signal provider scripts manually, using the unique instructions given by each
  signal provider. -->
<script src="//cdn.provider1.com/files/a/e/5/4/7/signalCollector.js"></script>
<script src="//provider2.co.uk/ads/signalcollector/script.min.js"></script>
<script src="/local/path/to/third_party_signal_provider_3.js"></script>
<script src="ads.js"></script>

Envoyer des données personnalisées

En plus d'utiliser un fournisseur de signaux tiers, vous pouvez également collecter, encoder et envoyer des signaux avec des données personnalisées. Avant de pouvoir envoyer des signaux sécurisés avec des données personnalisées, vous devez activer les signaux personnalisés dans Ad Manager.

Voici la procédure à suivre pour les projets HTML5 :

  1. Créez un objet avec les propriétés suivantes : networkCode et collectorFunction.
  2. Renseignez la propriété networkCode avec votre code réseau.
  3. Renseignez la propriété collectorFunction avec une fonction qui renvoie une promesse qui se résout en vos signaux encodés.

Transmettez l'objet au tableau googletag.secureSignalProviders avant de créer votre instance `adsLoader`, afin que le SDK IMA puisse y accéder pour récupérer et transmettre vos signaux encodés :

Voici un exemple en JavaScript :

console.log("initializing IMA");
adContainer = document.getElementById('ad-container');
adDisplayContainer = new google.ima.AdDisplayContainer(adContainer, videoElement);

const NETWORK_CODE = '21775744923';

/**
 * Sample signal collector function.
 * @return {!Promise<string>} A promise that resolves to the encoded signals.
 */
const signalCollector = () => {
 return new Promise((resolve, reject) => {
   resolve("My encoded signal string");
 });
};
if (!googletag) googletag = {};
if (!googletag.secureSignalProviders) googletag.secureSignalProviders = [];
googletag.secureSignalProviders.push({
 networkCode: NETWORK_CODE,
 collectorFunction: signalCollector
});

adsLoader = new google.ima.AdsLoader(adDisplayContainer);