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 des signaux à partir de votre SDK.

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

Le schéma suivant illustre le cycle de vie requête/réponse pour la collecte de signaux sécurisés :

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 des signaux à partir de votre SDK.

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

L'exemple suivant implémente le GADRTBAdapter protocole :

Objective-C

@interface SampleAdapterSnippets : NSObject <GADRTBAdapter>
@end

Initialiser l'adaptateur

Google Mobile Ads SDK appelle la méthode setUpWithConfiguration:completionHandler: lorsqu'il instancie votre adaptateur de signaux sécurisés.Google Mobile Ads SDK Utilisez cette méthode pour initialiser votre SDK.

Lorsque votre SDK est entièrement initialisé et prêt à ce que Google Mobile Ads SDK collecte des signaux, appelez le GADMediationAdapterSetUpCompletionBlock bloc de completion.

Si votre adaptateur de signaux sécurisés ne rappelle pas, Google Mobile Ads SDK ne collecte pas de signaux à partir de votre adaptateur de signaux sécurisés.

L'exemple suivant appelle le gestionnaire de completion pour informer Google Mobile Ads SDK que votre SDK a été initialisé correctement :

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);
}

Signaler la version de l'adaptateur et du SDK

Votre adaptateur de signaux sécurisés doit signaler à la fois la version de votre adaptateur et celle de votre SDK. Google Mobile Ads SDK utilise ces versions pour la création de rapports et la résolution des problèmes.

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

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

L'exemple suivant collecte et renvoie des signaux à Google Mobile Ads SDK en appelant le gestionnaire de completion 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 signaux sécurisés.

La collecte des signaux doit être terminée dans un délai d'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 des signaux, appelez le gestionnaire de completion 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 obfusquer les signaux.

Renvoyer une valeur nil pour les extras de réseau publicitaire

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

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;
}