Développer un adaptateur de signaux sécurisés

Si vous disposez d'un SDK de fournisseur de signaux qui génère des signaux d'enchères en temps réel (RTB), vous pouvez développer un adaptateur de signaux sécurisés pour permettre à Google Mobile Ads SDK de collecter les signaux de votre SDK.

Google Mobile Ads SDK transmet vos signaux aux acheteurs Authorized Buyers et Open Bidding participants sélectionnés.

Le diagramme suivant illustre le cycle de vie des requêtes et des réponses pour la collecte sécurisée de signaux :

Un adaptateur de signaux sécurisés est responsable de l'initialisation de l'adaptateur et de la collecte des signaux.

Implémenter un adaptateur de signaux sécurisés

Implémentez un adaptateur de signaux sécurisés pour Google Mobile Ads SDK afin de collecter les signaux de votre SDK.

Ce guide explique comment implémenter un adaptateur de signal sécurisé en implémentant le protocole GADRTBAdapter.

L'exemple suivant implémente le protocole GADRTBAdapter :

Objective-C

@interface SampleAdapterSnippets : NSObject <GADRTBAdapter>
@end

Initialiser l'adaptateur

Google Mobile Ads SDK appelle la méthode setUpWithConfiguration:completionHandler: lorsque Google Mobile Ads SDK instancie votre adaptateur de signal sécurisé. Utilisez cette méthode pour initialiser votre SDK.

Lorsque votre SDK est entièrement initialisé et prêt à collecter des signaux Google Mobile Ads SDK, appelez le bloc d'achèvement GADMediationAdapterSetUpCompletionBlock.

Si votre adaptateur de signaux sécurisés ne rappelle pas Google Mobile Ads SDK, cela signifie que Google Mobile Ads SDK ne collecte pas les signaux de votre adaptateur de signaux sécurisés.

L'exemple suivant appelle le gestionnaire d'achèvement pour informer Google Mobile Ads SDK que votre SDK a été initialisé avec succès :

Objective-C

+ (void)setUpWithConfiguration:(GADMediationServerConfiguration *)configuration
             completionHandler:(GADMediationAdapterSetUpCompletionBlock)completionHandler {
  // Add your SDK initialization logic here.

  // Invoke the completionHandler once initialization completes. Pass a nil
  // error to indicate initialization succeeded.
  completionHandler(nil);
}

Indiquer la version de l'adaptateur et du SDK

Votre adaptateur de signaux sécurisés doit indiquer la version de l'adaptateur et celle du SDK. Google Mobile Ads SDK utilise ces versions pour les rapports et le dépannage.

Si votre SDK implémente cet adaptateur dans le même binaire, vous pouvez renvoyer la même version pour l'adaptateur et le SDK.

L'exemple suivant renvoie la version de votre adaptateur de signaux sécurisés :

Objective-C

+ (GADVersionNumber)adapterVersion {
  // If your secure signals SDK implements this adapter in the same binary
  // return the same version as your SDK.
  // return [self adSDKVersion];

  // If you built a separate binary for this secure signals adapter, return
  // the adapter's version here.
  GADVersionNumber version = {};
  version.majorVersion = 4;
  version.minorVersion = 5;
  version.patchVersion = 6;
  return version;
}

L'exemple suivant renvoie la version de votre SDK avec laquelle votre adaptateur de signaux sécurisés interagit :

Objective-C

+ (GADVersionNumber)adSDKVersion {
  // Return your SDK's version string here.
  NSString *versionString = kSDKVersionString;
  NSArray<NSString *> *components = [versionString componentsSeparatedByString:@"."];
  GADVersionNumber version = {};
  if (components.count == 3) {
    version.majorVersion = components[0].integerValue;
    version.minorVersion = components[1].integerValue;
    version.patchVersion = components[2].integerValue;
  } else {
    NSLog(@"Unexpected version string: %@. Returning 0.0.0 for adSDKVersion.", versionString);
  }
  return version;
}

Remplacez kSDKVersionString par la chaîne de version de votre SDK.

Collecter des signaux

À chaque demande d'annonce, Google Mobile Ads SDK collecte simultanément les signaux de tous les adaptateurs sur un thread en arrière-plan.

L'exemple suivant collecte et renvoie des signaux à Google Mobile Ads SDK en appelant le gestionnaire d'achèvement GADRTBSignalCompletionHandler :

Objective-C

- (void)collectSignalsForRequestParameters:(GADRTBRequestParameters *)params
                         completionHandler:(GADRTBSignalCompletionHandler)handler {
  // Add your signal collection logic here.
  NSString *signals = kSampleSignalPlaceholder;

  // Return the signals as a string to the Google Mobile Ads SDK.
  handler(signals, nil);
}

Remplacez kSampleSignalPlaceholder par votre chaîne de signal sécurisée.

La collecte des signaux doit être effectuée en une seconde. Si la collecte des signaux prend plus d'une seconde, envisagez de mettre en cache les signaux dans votre adaptateur de signaux sécurisés ou votre SDK lorsque vous initialisez l'adaptateur.

Si votre adaptateur de signaux sécurisés ne parvient pas à collecter les signaux, appelez le gestionnaire d'achèvement avec des signaux nil et un objet NSError.

Obfusquer les signaux

Lorsque vous partagez des signaux sécurisés avec des enchérisseurs et des curateurs partenaires, vous devez les obscurcir.

Renvoie une valeur nil pour les options supplémentaires du réseau publicitaire

Les adaptateurs de signaux sécurisés ne nécessitent pas de paramètres réseau supplémentaires.

L'exemple suivant de méthode +networkExtrasClass renvoie une valeur nil :

Objective-C

+ (nullable Class<GADAdNetworkExtras>)networkExtrasClass {
  // Network extras are not applicable because signal providers do not request ads.
  return nil;
}