Cómo integrar adaptadores de indicadores seguros

Los indicadores seguros son datos codificados que se recopilan en el dispositivo del cliente y se comparten con ofertantes seleccionados. En esta guía, se muestra cómo recopilar y enviar indicadores seguros a Google Ad Manager con el SDK de IMA.

La API de indicadores seguros requiere la versión 4.8.2 o posterior del SDK de IMA para tvOS.

Para seleccionar indicadores y ofertantes, y habilitar el uso compartido de indicadores seguros, consulta Cómo compartir indicadores seguros con los ofertantes.

Usar un proveedor de indicadores externo

Para usar indicadores seguros, debes implementar una clase de adaptador de recopilador de indicadores en tu aplicación para recopilar indicadores, codificarlos y pasarlos al SDK de IMA.

Sigue las instrucciones de tu proveedor externo para configurar una cuenta con él, incluir frameworks y configurar su adaptador de indicadores seguros en tu app.

El SDK de IMA para tvOS inicializa automáticamente cada adaptador de indicadores seguros, sin necesidad de realizar cambios adicionales en tu código.

A continuación, se muestra un ejemplo de cómo podrías agregar un adaptador de indicadores seguros a tu proyecto:

Envía datos personalizados

Además de usar un proveedor de indicadores externo, también puedes recopilar, codificar y enviar indicadores con datos personalizados. Antes de enviar indicadores seguros con datos personalizados, debes activar los indicadores personalizados en Ad Manager.

Para cada solicitud de anuncio, crea un objeto IMASecureSignals que contenga tus datos personalizados codificados como una cadena. Luego, agrega el objeto IMASecureSignals a tu solicitud de anuncio llamando al atributo IMAAdsRequest.secureSignals.

A continuación, se incluyen ejemplos en Objective-C y Swift:

Objective-C

BasicExample/ViewController.m

...
- (void)requestAds {
  // Create an ad display container for ad rendering.
  IMAAdDisplayContainer *adDisplayContainer =
      [[IMAAdDisplayContainer alloc] initWithAdContainer:self.videoView
                                          viewController:self
                                          companionSlots:nil];
  // Create an ad request with our ad tag, display container, and optional user context.
  IMAAdsRequest *request = [[IMAAdsRequest alloc] initWithAdTagUrl:kTestAppAdTagUrl
                                                adDisplayContainer:adDisplayContainer
                                                   contentPlayhead:self.contentPlayhead
                                                       userContext:nil];
  
  IMASecureSignals *signals =
      [[IMASecureSignals alloc] initWithCustomData:@"My encoded signal string"];
  request.secureSignals = signals;
  
  [self.adsLoader requestAdsWithRequest:request];
}
...

Swift

BasicExample/ViewController.swift

...
private func requestAds() {
  // Create ad display container for ad rendering.
  let adDisplayContainer = IMAAdDisplayContainer(
    adContainer: videoView, viewController: self, companionSlots: nil)
  // Create an ad request with our ad tag, display container, and optional user context.
  let request = IMAAdsRequest(
    adTagUrl: ViewController.testAppAdTagURL,
    adDisplayContainer: adDisplayContainer,
    contentPlayhead: contentPlayhead,
    userContext: nil)
  
  let signals = IMASecureSignals(customData: "My encoded signal string")
  request.secureSignals = signals
  
  adsLoader.requestAds(with: request)
}
...