Configuración de ANSDK de iOS

Xandr Mobile SDK proporciona varias configuraciones que puede usar para ayudarlo en el desarrollo de su aplicación. En este artículo, encontrará detalles sobre los métodos o propiedades, los parámetros de entrada, los valores devueltos, las restricciones, las directrices y los ejemplos de la configuración ANSDK de iOS.

Propiedad Description
(void) optionalSDKInitialization:(sdkInitCompletion _Nullable)success Preconfigura opciones comunes tales como comprobar la presencia del agente de usuario durante la inicialización, preparar un WebView, etc.

Consulte Inicializar la configuración de SDK a continuación para obtener más información.
NSString *publisherUserId Especifica el identificador de usuario publicador para el usuario actual de la aplicación.

Consulte Asignación de ID(s) de usuario a continuación para obtener más detalles.
NSArray<ANUserId *> *userIdArray Especifica un diccionario que contiene objetos que contienen parámetros de identificador de usuario.

Consulte Asignación de ID(s) de usuario a continuación para obtener más detalles.
BOOL disableIDFVUsage Incluye o excluye el campo IDFV en la solicitud de anuncio.

Consulte Asignación de ID(s) de usuario a continuación para obtener más detalles.
NSString *geoOverrideCountryCode Asigna un código de país.

Consulte Compatibilidad para invalidar códigos de país y códigos postales a continuación para obtener más detalles.
NSString *geoOverrideZipCode Asigna un código postal.

Consulte Compatibilidad para invalidar códigos de país y códigos postales a continuación para obtener más detalles.
(void)setLocationWithLatitude:(CGFloat)latitude longitude:(CGFloat)longitude timestamp:(nullable NSDate *)timestamp horizontalAccuracy:(CGFloat)horizontalAccuracy precision:(NSInteger)precision Controla la precisión de los datos de ubicación que se pasan al servidor de anuncios.

Consulta Controles de ubicación a continuación para obtener más información.
BOOL locationEnabledForCreative Controla el acceso a la ubicación de los creativos.

Consulta Controles de ubicación a continuación para obtener más información.
BOOL doNotTrack Indica si tiene información en la aplicación sobre la opción de no participar del usuario.

Consulte Opción de no participar del usuario del lado del editor a continuación para obtener más detalles.
BOOL disableIDFAUsage No incluye el campo IDFA en la solicitud de anuncio.

Consulte Establecer el uso de IDFA a continuación para obtener más detalles.
NSUInteger auctionTimeout Establece el periodo de tiempo de espera en milisegundos.

Consulte Establecer el tiempo de espera de la subasta a continuación para obtener más detalles.
BOOL enableTestMode Establece SÍ o NO para que las AdRequests se ejecuten en modo de prueba.

Consulte Establecer modo de prueba a continuación para obtener más detalles.
BOOL enableOMIDOptimization Habilita la optimización de medición abierta.

Consulte Optimización OMID a continuación para obtener más detalles.
NSString *contentlanguage Establece el código del idioma del contenido.

Consulte Establecer el idioma del contenido a continuación para obtener más detalles.

Inicializar la configuración de SDK

Método Descripción
(void) optionalSDKInitialization:(sdkInitCompletion _Nullable)success Método que permite preconfigurar opciones comunes, como comprobar la presencia del agente de usuario durante la inicialización del SDK, preparar un WebView, etc.
El bloque de finalización de esta propiedad devuelve "true" si la inicialización del SDK se completa correctamente y "false" si falla.

Ejemplo

[[ANSDKSettings sharedInstance] optionalSDKInitialization:^(BOOL isSDKInitialized) {
 if(isSDKInitialized){
      NSLog(@"SDK Initialized");
    }else{
      NSLog(@"SDK did not initialize");
    }
  }];

Asignación de id. de usuario

Importante

  • Esta oferta se encuentra actualmente en Alfa y está sujeta a cambios o a desuso sin previo aviso.
  • La propiedad externalUid de ANBannerAdView, InterstitialAdViewANNativeAdRequest y ANInstreamVideoAd class ahora está obsoleta. En su lugar, puede usar publisherUserId la propiedad descrita a continuación en la ANSDKSettings clase. Las propiedades en desuso se quitarán en SDK v8.0.
  • La propiedad ANSDKSettings.externalUserIdArray y ANExternalUserId la clase ahora están en desuso y se quitarán en SDK v8.0. Puede usar la propiedad ANSDKSettings.userIdArray equivalente y ANUserId la clase que se describen a continuación como reemplazo.
Propiedad Description
NSString *publisherUserId Especifica una cadena que corresponde al identificador de usuario publicador para el usuario de aplicación actual.
NSArray<ANUserId *> *userIdArray Especifica un diccionario que contiene objetos que contienen parámetros de identificador de usuario.

Xandr admite ID de usuario de las siguientes fuentes externas:
- Criteo
- La mesa de comercio
- Identificación neta
- Rampa en vivo
- UID 2.0
- Identificación proporcionada por el editor / PPID (los editores pueden registrar su propia fuente a través de la API y pueden pasar la identificación del usuario)

Puede establecer el identificador de usuario mediante:
- crear una matriz de objetos ANUserId y
- asignar la matriz de objetos a la propiedad userId Array de ANSDKSettings en la API MobileSDK.
BOOL disableIDFVUsage Especifica un valor booleano que excluye el campo IDFV en la solicitud de anuncio. El valor predeterminado de la propiedad se establece en NO.

Debido a la introducción de los cambios en la transparencia de seguimiento de aplicaciones (ATT) en iOS 14.5 y versiones posteriores, los editores pueden usar el identificador para proveedores (IDFV) del dispositivo en los casos en los que no haya disponible un identificador interno de editores propios e identificadores para anunciantes (IDFA).

El IDFV se usará en los casos en los que tanto el IDFV como el Id. de primera parte del editor no estén presentes en una solicitud de anuncio determinada.

Nota:

  • El Id. de publicador y el Id. de usuario son configuraciones globales.
  • Basta con establecer los Id. de usuario una vez por sesión de la aplicación, ya que estos valores se usarían en todas las solicitudes de anuncios consecutivas en la misma sesión.
  • Xandr no almacena estos valores en distintas sesiones de la aplicación.

Ejemplo

// User Id from External Third Party Sources
NSMutableArray<ANUserId *>  *userIdArray  = [[NSMutableArray<ANUserId *> alloc] init];
[userIdArray addObject:[[ANUserId alloc] initWithANUserIdSource:ANUserIdSourceNetId userId:@"userid-netid-foobar" ]];
[userIdArray addObject:[[ANUserId alloc] initWithANUserIdSource:ANUserIdSourceTheTradeDesk userId:@"userid-ttd-foobar" ]];
ANSDKSettings.sharedInstance().disableIDFAUsage = true[userIdArray addObject:[[ANUserId alloc] initWithANUserIdSource:ANUserIdSourceUID2 userId:@"userid-uid2-foobar" ]];
[userIdArray addObject:[[ANUserId alloc] initWithANUserIdSource:ANUserIdSourceCriteo userId:@"userid-Criteo-foobar"]];
[userIdArray addObject:[[ANUserId alloc] initWithANUserIdSource:ANUserIdSourceLiveRamp userId:@"userid-liveramp-foobar" ]];
[userIdArray addObject:[[ANUserId alloc] initWithStringSource:@"Generic Source" userId:@"userid-generic-foobar" isFirstParytId:true]];
ANSDKSettings.sharedInstance.userIdArray = userIdArray;
 
// Publisher User Id
ANSDKSettings.sharedInstance.publisherUserId = @"foobar-publisherfirstpartyid";
 
// IDFV as Publisher User Id
ANSDKSettings.sharedInstance.disableIDFVUsage = NO;

Compatibilidad para invalidar códigos de país y códigos postales

El SDK usa información de ciudad/DMA/país de la fuente estándar (datos de nivel de registro) para la creación de informes. Sin embargo, estos valores deben sobrescribirse a partir de datos de latitud y longitud geocodificados del inversor para mantener intacta la cordura de los datos. Si esos valores no se sobrescriben, los datos a nivel de registro apuntarán a las ubicaciones basadas en direcciones IP y, finalmente, proyectarán un conjunto de datos incorrecto, especialmente con datos móviles.

Propiedad Description
NSString *geoOverrideCountryCode Indica un valor de cadena para invalidar el código de país.
NSString *geoOverrideZipCode Indica un valor de cadena para invalidar el código postal.

Ejemplo

//Set
ANSDKSettings.sharedInstance.geoOverrideCountryCode = @"US";
ANSDKSettings.sharedInstance.geoOverrideZipCode = @"10010";
.......
//Get
NSString* countryCode = ANSDKSettings.sharedInstance.geoOverrideCountryCode;
NSString* zipCode = ANSDKSettings.sharedInstance.geoOverrideZipCode

Controles de ubicación

Propiedad Description
(void)setLocationWithLatitude:(CGFloat)latitude longitude:(CGFloat)longitude timestamp:(nullable NSDate *)timestamp horizontalAccuracy:(CGFloat)horizontalAccuracy precision:(NSInteger)precision Método para controlar la precisión de los datos de ubicación que se pasan al servidor de anuncios. Unos mejores datos de ubicación pueden conducir a una mejor monetización de los anuncios.
BOOL locationEnabledForCreative Propiedad para controlar el acceso a la ubicación de los creativos. El valor predeterminado es SÍ. NO deshabilita la ubicación de la creatividad.

Las creatividades renderizadas en un WebView pueden acceder a la ubicación de un usuario a través de las API de ubicación HTML5.

Nota:
- De forma predeterminada, cuando una creatividad solicita la ubicación, se muestra una ventana emergente a los usuarios que solicitan permiso explícito para usar la ubicación.
- Cuando el acceso de ubicación está inhabilitado, no se mostrarán ventanas emergentes a los usuarios y la creatividad recibirá un error PERMISSION_DENIED para las llamadas a la API de ubicación HTML5.

El precision parámetro hará que toda la información de ubicación se redondee internamente al número especificado de dígitos después del decimal antes de pasarse al servidor de anuncios. La correlación entre el valor de y la distancia de precisión de precision ubicación es la siguiente:

Precisión (entero) Precisión de la resolución
2 Aprox. 1 kilómetro
3 Aprox. 100 metros
4 Aprox. 10 metros
-1 Se ha aprobado la resolución completa

Ejemplo

CLLocation *location = [locationManager location];
NSDate *now = [NSDate date];
[banner.setLocationWithLatitude:location.coordinate.latitude
  longitude:location.coordinate.longitude
  timestamp: now
  horizontalAccuracy: location.horizontal_accuracy
  precision: 4];

Rechazo del usuario del lado del publicador

Para cualquier AdRequest, Xandr Mobile SDK comprueba el nivel de entorno del dispositivo o del sistema operativo y rellena automáticamente el valor de limitAdTracking (LMT) en segundo plano. Si LMT=true, indica que el usuario opta por no realizar el seguimiento en la configuración del dispositivo o del sistema operativo. Sin embargo, los editores conservan la información sobre la opción de realizar o no el seguimiento por parte de sus usuarios y, por tanto, están obligados a transmitir esa información si su usuario ha optado por no cumplir con sus normativas de privacidad. Para facilitar esto, se ha introducido la función de no participación del usuario del lado del editor en el SDK móvil.

Propiedad Description
BOOL doNotTrack Indica si tiene información en la aplicación sobre la opción de no participar del usuario. Si se establece en SÍ, las cookies de seguimiento y el IDFA se deshabilitarán para todas las subastas futuras. El valor predeterminado es NO.

Ejemplo

[ANSDKSettings sharedInstance].doNotTrack = YES;

Establecer el uso del IDFA

El Identificador para anunciantes (IDFA) es un ID proporcionado por Apple para rastrear a los usuarios con su consentimiento con fines publicitarios por parte de los editores que tienen una aplicación en la Apple App Store. Se introduce una API en el SDK móvil de Xandr para habilitar o deshabilitar el uso de IDFA al incluir o excluir el campo IDFA en la solicitud de anuncio.

Propiedad Description
BOOL disableIDFAUsage Propiedad para excluir el campo IDFA en la solicitud de anuncio. El valor predeterminado es NO.

Ejemplo

[ANSDKSettings sharedInstance].disableIDFAUsage = YES;

Establecer el tiempo de espera de la subasta

Propiedad Description
NSUInteger auctionTimeout Establece el período de tiempo, en milisegundos, para esperar a que un licitante responda a una solicitud de oferta.

Si el licitador no responde dentro del valor establecido para el período de tiempo de espera (por ejemplo, 500 milisegundos), la solicitud de oferta resultará en un error.

Ejemplo

[[ANSDKSettings sharedInstance] setAuctionTimeout:500];

Establecer el modo de prueba

Propiedad Description
BOOL enableTestMode Establece SÍ o NO para que las AdRequests se ejecuten en el modo de prueba para su depuración o prueba. El valor predeterminado es NO.

Nota: El alcance de la configuración del modo de prueba para la ejecución de AdRequest como SÍ se limita solo a la depuración/desarrollo o a la finalidad de las pruebas, y no debe utilizarse en un entorno de producción. Habilitar el modo de prueba en un entorno de producción tiene consecuencias no deseadas e impactos en la monetización de la aplicación.

Ejemplo

ANSDKSettings.sharedInstance.enableTestMode = YES;

Establecer idioma del contenido

Propiedad Description
NSString *contentlanguage Establece el código ANSI de dos letras para el idioma del contenido; Por ejemplo, EN.

Ejemplo

ANSDKSettings.sharedInstance.contentLanguage = @"EN";

Optimización OMID

Utilice la propiedad siguiente en ANSDKSettings:

Propiedad Tipo Atributo Description
enableOMIDOptimization BOOL lectura y escritura, asignación Controla la optimización del ciclo de vida de la sesión de OMID para anuncios nativos y de banners. El valor predeterminado es NO.

Para obtener información sobre el comportamiento, el ámbito y los ejemplos, consulte Habilitar la optimización de OMID.