Desenvolver um adaptador de indicador seguro

Se você tiver um SDK de provedor de indicadores que gere indicadores de lances em tempo real (RTB), desenvolva um adaptador de indicadores seguros para permitir que o Google Mobile Ads SDK colete indicadores do seu SDK.

Google Mobile Ads SDK encaminha seus indicadores para compradores participantes selecionados do Authorized Buyers e do Open Bidding.

O diagrama a seguir ilustra o ciclo de vida de solicitação-resposta para coleta de indicadores seguros:

Um adaptador de indicador seguro é responsável pela inicialização do adaptador e pela coleta de indicadores.

Implementar um adaptador de indicador seguro

Implemente um adaptador de indicadores seguros para Google Mobile Ads SDK e colete indicadores do seu SDK.

Este guia mostra como implementar um adaptador de indicador seguro implementando o protocolo GADRTBAdapter.

O exemplo a seguir implementa o protocolo GADRTBAdapter:

Objective-C

@interface SampleAdapterSnippets : NSObject <GADRTBAdapter>
@end

Inicializar o adaptador

Google Mobile Ads SDK chama o método setUpWithConfiguration:completionHandler: quando Google Mobile Ads SDK cria uma instância do seu adaptador de indicadores seguros. Use esse método para inicializar o SDK.

Quando o SDK for totalmente inicializado e estiver pronto para Google Mobile Ads SDK coletar indicadores, chame o bloco de conclusão GADMediationAdapterSetUpCompletionBlock.

Se o adaptador de indicadores seguros não fizer um retorno de chamada, o Google Mobile Ads SDK não vai coletar indicadores dele.

O exemplo a seguir chama o gerenciador de conclusão para informar Google Mobile Ads SDK que o SDK foi inicializado:

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

Informar a versão do adaptador e do SDK

O adaptador de indicadores seguros precisa informar a versão do adaptador e do SDK. O Google Mobile Ads SDK usa essas versões para geração de relatórios e solução de problemas.

Se o SDK implementar esse adaptador no mesmo binário, retorne a mesma versão para o adaptador e o SDK.

O exemplo a seguir retorna a versão do seu adaptador de indicadores seguros:

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

O exemplo a seguir retorna a versão do SDK com que seu adaptador de indicador seguro interage:

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

Substitua kSDKVersionString pela string da versão do SDK.

Coletar indicadores

Em cada solicitação de anúncio, o Google Mobile Ads SDK coleta indicadores simultaneamente de todos os adaptadores em uma linha de execução em segundo plano.

O exemplo a seguir coleta e retorna indicadores para Google Mobile Ads SDK chamando o gerenciador de conclusão 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);
}

Substitua kSampleSignalPlaceholder pela sua string de sinal seguro.

A coleta de indicadores precisa ser concluída em um segundo. Se a coleta de indicadores levar mais de um segundo, considere armazenar em cache os indicadores no seu adaptador de indicadores seguros ou no SDK ao inicializar o adaptador.

Se o adaptador de indicadores seguros não coletar indicadores, chame o gerenciador de conclusão com indicadores nil e um objeto NSError.

Ofuscar indicadores

Ao compartilhar indicadores seguros com bidders e parceiros de curadoria, é necessário ofuscar os indicadores.

Retorna um valor nil para extras de rede de publicidade.

Adaptadores de indicadores seguros não exigem parâmetros extras de rede adicionais.

O exemplo a seguir do método +networkExtrasClass retorna um valor nil:

Objective-C

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