Compartir a través de


Configuración de ANSDK de iOS

El SDK de Xandr Mobile proporciona varias configuraciones que puede usar para ayudarle en el desarrollo de la 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 ejemplos de la configuración de ANSDK de iOS.

Propiedad Descripción
(void) optionalSDKInitialization:(sdkInitCompletion _Nullable)success Configura previamente valores comunes, como comprobar la presencia del Agente de usuario durante la inicialización, preparar un WebView, etc.

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

Para obtener más información, consulte Asignación de identificadores de usuario a continuación.
NSArray<ANUserId *> *userIdArray Especifica un diccionario que contiene objetos que contienen parámetros de id. de usuario.

Para obtener más información, consulte Asignación de identificadores de usuario a continuación.
BOOL disableIDFVUsage Incluye o excluye el campo IDFV en la solicitud de anuncio.

Para obtener más información, consulte Asignación de identificadores de usuario a continuación.
NSString *geoOverrideCountryCode Asigna un código de país.

Consulte Compatibilidad con la invalidación de 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 con la invalidación de 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.

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

Consulte Controles de ubicación a continuación para obtener más detalles.
BOOL doNotTrack Indica si tiene información en la aplicación sobre la exclusión del usuario.

Para obtener más información, consulte La exclusión del usuario del lado del publicador a continuación.
BOOL disableIDFAUsage Excluye el campo IDFA en la solicitud de anuncio.

Consulte Establecer el uso de IDFA a continuación para obtener más información.
NSUInteger auctionTimeout Establece el período 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 YES o NO para que AdRequests se ejecute en el modo de prueba.

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

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

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

Inicializar la configuración del SDK

Método Descripción
(void) optionalSDKInitialization:(sdkInitCompletion _Nullable)success Método que le permite configurar previamente valores 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 se produce un error.

Ejemplo

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

Asignación de identificadores de usuario

Importante

  • Esta oferta está actualmente en Alfa y está sujeta a cambios o desuso sin previo aviso.
  • La propiedad externalUid de ANBannerAdView, InterstitialAdViewANNativeAdRequest y ANInstreamVideoAd la clase ahora está en desuso. En su lugar, puede usar publisherUserId la propiedad que se describe a continuación en ANSDKSettings la 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 y ANUserId la clase equivalentes que se describen a continuación en su lugar como reemplazo.
Propiedad Descripción
NSString *publisherUserId Especifica una cadena que corresponde al identificador de usuario del publicador para el usuario actual de la aplicación.
NSArray<ANUserId *> *userIdArray Especifica un diccionario que contiene objetos que contienen parámetros de id. de usuario.

Xandr admite los identificadores de usuario de los orígenes externos siguientes:
- Criteo
- El departamento de comercio
- NetID
- LiveRamp
- UID 2.0
- Id. proporcionado por el publicador/PPID (los editores pueden registrar su propio origen a través de la API y pueden pasar el identificador de usuario)

Puede establecer el id. de usuario mediante :
: crear una matriz de objetos ANUserId y
: se asigna la matriz de objetos a la propiedad userId Array de ANSDKSettings en MobileSDK API.
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 de transparencia de seguimiento de aplicaciones (ATT) en iOS 14.5 y versiones posteriores, los publicadores pueden usar el identificador para proveedores (IDFV) del dispositivo en los casos en los que no haya ningún identificador de primera entidad del publicador interno e identificador para anunciantes (IDFA) disponible.

IDFV se usará en los casos en los que IDFV y el identificador de primera entidad del publicador no estén presentes para una solicitud de anuncio determinada.

Nota:

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

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 con la invalidación de 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) con fines de generación de informes. Sin embargo, estos valores deben sobrescribirse a partir de datos de latitud y longitud geocodificadas inversas para mantener intacta la cordura de los datos. Si esos valores no se sobrescriben, los datos de 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 Descripción
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 Descripción
(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. Los mejores datos de ubicación pueden dar lugar 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 representadas 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 un creativo solicita ubicación, se muestra un elemento emergente a los usuarios que solicitan permiso explícito para usar la ubicación.
- Cuando el acceso a la ubicación está deshabilitado, los elementos emergentes no se mostrarán a los usuarios y la creatividad recibirá un error de 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 pasa 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];

Exclusión del usuario del lado del publicador

Para cualquier AdRequest, el SDK de Xandr Mobile comprueba en 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 no puede realizar el seguimiento en la configuración del dispositivo o del sistema operativo. Sin embargo, los editores conservan información sobre la participación o no de seguimiento de sus usuarios y, por lo tanto, deben pasar esa información si su usuario ha optado por no cumplir con sus regulaciones de privacidad. Para facilitar esto, se ha introducido la característica de exclusión de usuarios del lado del publicador en mobile SDK.

Propiedad Descripción
BOOL doNotTrack Indica si tiene información en la aplicación sobre la exclusión 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 de IDFA

El identificador de anunciantes (IDFA) es un id. proporcionado por Apple para realizar un seguimiento de los usuarios con su consentimiento para fines publicitarios por parte de los editores que tienen una aplicación en el App Store de Apple. Se introduce una API en el SDK móvil de Xandr para habilitar o deshabilitar el uso de IDFA mediante la inclusión o exclusión del campo IDFA en la solicitud de anuncio.

Propiedad Descripción
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 Descripción
NSUInteger auctionTimeout Establece el período de tiempo, en milisegundos, para esperar a que un licitador responda a una solicitud de puja.

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

Ejemplo

[[ANSDKSettings sharedInstance] setAuctionTimeout:500];

Establecer el modo de prueba

Propiedad Descripción
BOOL enableTestMode Establece YES o NO para que AdRequests se ejecute en el modo de prueba para la depuración o las pruebas. El valor predeterminado es NO.

Nota: El ámbito de la configuración del modo de prueba para la ejecución de AdRequest como SÍ se limita solo a fines de depuración o desarrollo o pruebas, y no a usarse en un entorno de producción. La habilitación del modo de prueba en un entorno de producción provoca consecuencias no deseadas y afecta a la monetización de la aplicación.

Ejemplo

ANSDKSettings.sharedInstance.enableTestMode = YES;

Optimización de OMID

Open Measurement SDK (OM SDK) de IAB mejora la visualización de anuncios de terceros y la medición de verificación en aplicaciones móviles, ya que permite a los publicadores usar un único SDK, lo que elimina la necesidad de varios SDK. Para obtener más información, visite la página del SDK de OM de IAB.

Para solucionar los problemas de rendimiento notificados al usar OMSDK para la medición de la visualización, hemos introducido una opción de optimización OMID, que está desactivada de forma predeterminada. Al habilitar esta opción, la función stopOMIDAdSession se desencadena cuando el 100 % del anuncio está en pantalla. Esto mejora el rendimiento de la aplicación, pero reduce la duración de la medición de la visualización de anuncios.

Propiedad Descripción
BOOL enableOMIDOptimization Establezca SÍ o NO para que se habilite la optimización de OMID. El valor predeterminado es NO.

Nota: Esta API solo admite banners y tipos de anuncios nativos.

Ejemplo

ANSDKSettings.sharedInstance.enableOMIDOptimization = true;

Establecer el idioma de contenido

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

Ejemplo

ANSDKSettings.sharedInstance.contentLanguage = @"EN";