Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Información general
En este artículo se proporcionan instrucciones y ejemplos de código para iniciar y configurar una solicitud de varios anuncios (ANMultiAdRequest).
ANMultiAdRequest permite usar una única solicitud de etiqueta universal (UTv3) para iniciar varias subastas, cuyos resultados se devuelven en una única respuesta del servidor.
ANMultiAdRequest, al igual que , AdUnitimplementa un subconjunto de ANAdProtocol. Esto permite ANMultiAdRequest adoptar el tipo y el comportamiento de diferentes AdUnits (banner, nativo, vídeo, etc.) con las mismas especificaciones de cada AdUnit tipo. Las palabras clave personalizadas se pueden asignar a y ANMultiAdRequest las heredará el contenido AdUnits.
Inicialización
Los usuarios pueden seleccionar entre uno de los tres métodos de inicialización. Todos requieren un memberId objeto y delegate como argumentos para ANMultiAdRequest inicializarse.
memberId y delegate solo se puede establecer una vez por instancia. En este momento, se puede establecer un parámetro de id. de publicador opcional. Todos AdUnits deben contener lo mismo memberId que el que se ha pasado en el proceso de inicialización.
AdUnits que contiene placementIds usará el asociado memberId a esa ubicación. Una vez inicializada correctamente, se devuelve una ANMultiAdRequest instancia de clase.
Nota:
La ANMultiAdRequest instancia se rechazará AdUnits con memberId valores distintos de los suyos propios.
Métodos de inicialización
Inicializar con una lista de uno o más AdUnits
Inicializa una instancia de ANMultiAdRequest con una lista de uno o varios AdUnits. Por ejemplo,
Sin id. de publicador
- (nullable instancetype)
initWithMemberId:(NSInteger)memberId
delegate:(nullable id<ANMultiAdRequestDelegate>)delegate
adUnits:(nonnull id<ANAdProtocolFoundationCore>)firstAdUnit, ...;
Con el identificador del publicador
- (nullable instancetype)
initWithMemberId:(NSInteger)memberId
publisherId:(NSInteger)publisherId
delegate:(nullable id<ANMultiAdRequestDelegate>)delegate
adUnits:(nonnull id<ANAdProtocolFoundationCore>)firstAdUnit,
... NS_REQUIRES_NIL_TERMINATION;
Inicializar con una lista de AdUnits y llamar al load método
Habilita la inicialización y llama al load método con una sola línea de código. Al igual que el proceso anterior, la instancia se inicializa con una lista de uno o más AdUnits. Si se produce un error durante el load ciclo de vida, la clase no se inicializa y se devuelve un objeto NULL. Cuando se produce un proceso correcto load , se devuelve una instancia de clase, después de lo cual se comunica el éxito o el error de la instancia al autor de la llamada a través de ANMultiAdRequestDelegate. Por ejemplo,
Sin id. de publicador
- (nullable instancetype)
initAndLoadWithMemberId:(NSInteger)memberId
delegate:(nullable id<ANMultiAdRequestDelegate>)delegate
adUnits:(nonnull id<ANAdProtocolFoundationCore>)firstAdUnit,
...;
Con el identificador del publicador
- (nullable instancetype)
initAndLoadWithMemberId:(NSInteger)memberId
publisherId:(NSInteger)publisherId
delegate:(nullable id<ANMultiAdRequestDelegate>)delegate
adUnits:(nonnull id<ANAdProtocolFoundationCore>)firstAdUnit,
... NS_REQUIRES_NIL_TERMINATION;
Inicialización simple
Esta inicialización básica devuelve una instancia de la clase pero no realiza ninguna acción. La configuración se puede completar mediante métodos y propiedades de clase. El delegado inicializado se establece en a AdUnits medida que se agregan.
Sin id. de publicador
- (nullable instancetype)initWithMemberId:(NSInteger)memberId
andDelegate:(nonnull id<ANMultiAdRequestDelegate>)
Sin id. de publicador
- (nullable instancetype)
initWithMemberId:(NSInteger)memberId
publisherId:(NSInteger)publisherId
andDelegate:(nullable id<ANMultiAdRequestDelegate>)delegate;
Argumentos
| Variable | Tipo | Atributos | Ámbito | Descripción |
|---|---|---|---|---|
memberId |
NSInteger | nonatomic, readonly, assign | Required |
Un identificador de miembro. Cualquier AdUnits contenido dentro de ANMultiAdRequest debe tener idéntico memberIds o ANMultiAdRequest se rechazará.
memberId También se puede alcanzar pasando un placementIdobjeto . |
delegate |
ANMultiAdRequestDelegate | nonnull | Obligatorio | Objeto al que se va a notificar información y devoluciones de llamada pertinentes. |
adUnits |
Lista de adUnits | nonnull | Opcional | Lista de AdUnits para la inicialización de un objeto ANMultiAdRequest. |
Nota:
Si la inicialización se realiza correctamente, el SDK devuelve YES, en caso contrario, devuelve NO.
Configuración
Todas las ANMultiAdRequest propiedades y métodos de configuración son los mismos en tipo y uso que los usados por AdUnits. Si las propiedades se establecen en ANMultiAdRequest, hereda AdUnits esas propiedades. No son permanentes.
ANMultiAdRequest Una vez que haya completado su ciclo de vida, AdUnits accederá a sus valores de propiedad local después de quitarse de la lista de AdUnits encapsulados por la ANMultiAdRequest instancia.
Parámetros
| Parámetro | Tipo | Atributos | Descripción |
|---|---|---|---|
memberId |
NSInteger | Readonly | Un identificador de miembro. Cualquier AdUnits contenido dentro de MultiAdRequest debe tener idéntico memberIds o será MultiAdRequest rechazado por el bus de impresión de Xandr.
memberId También se puede alcanzar pasando un placementIdobjeto . |
location |
ANLocation | readwrite | Ubicación del usuario.
Location se puede establecer con horizontalAccuracy y un precision nivel. Vea Métodos de ubicación a continuación. |
age |
NSString | readwrite | Edad del usuario. |
gender |
ANGender | readwrite | El sexo del usuario. |
customKeyword |
Matriz | readwrite | Palabras clave personalizadas aplicadas a MultiAdRequest. Estas palabras clave serán heredadas por el adjunto AdUnits. Esta lista se puede complementar dentro de cada AdUnit una con palabras clave personalizadas adicionales. |
AdUnit |
Objeto | readwrite | Elemento AdUnit que se va a agregar a MultiAdRequest |
countOfAdUnits |
NSUintetger | Readonly | Devuelve el número de AdUnits contenido de la MultiAdRequest instancia. |
Métodos de ubicación
setLocationWithLatitude establece el valor de la location propiedad de un MultiAdRequest objeto . Se puede llamar a él con un parámetro adicional precision . Por ejemplo,
Sin parámetro de precisión
- (void)setLocationWithLatitude:(CGFloat)latitude
longitude:(CGFloat)longitude
timestamp:(nullable NSDate *)timestamp
horizontalAccuracy:(CGFloat)horizontalAccuracy;
Con el parámetro precision
- (void)setLocationWithLatitude:(CGFloat)latitude
longitude:(CGFloat)longitude
timestamp:(nullable NSDate *)timestamp
horizontalAccuracy:(CGFloat)horizontalAccuracy
precision:(NSInteger)precision;
Parámetros
| Parámetro | Tipo | Ámbito | Descripción |
|---|---|---|---|
latitude |
CGFloat | Obligatorio | Latitud de la ubicación. |
longitude |
CGFloat | Obligatorio | Longitud de la ubicación. |
timestamp |
NSDate | Opcional | Marca de tiempo que se estableció la ubicación. |
horizontalAccuracy |
CGFloat | Obligatorio | Radio de incertidumbre para la ubicación. |
precision |
NSInteger | Opcional | Determina la precisión de grados decimales para la ubicación. |
Métodos
loadCarga todo lo contenido
AdUnitsmediante el envío de unamulti-tag UTv3solicitud al bus de impresión de Xandr. Para cadaANMultiAdRequestinstancia, solo puede haber una carga activa a la vez. Las cargas se completan cuando se desencadena uno de losMultiAdRequestDelegatemétodos. DevuelveYESsi se realiza correctamente yNOsi se produce un error.- (BOOL)load;addAdUnitAgrega a
AdUnitANMultiAdRequest.AdUnitsse rechazará si sumemberIdno coincide con elmemberIdasignado aMultiAdRequesto no coincide con elmemberIddel otroAdUnitscontenido dentro deANMultiAdRequest. DevuelveYESsi se realiza correctamente yNOsi se produce un error.- (BOOL)addAdUnit:(nonnull id<ANAdProtocolFoundation>)adunit;Argumentos
Parámetro Tipo Ámbito Descripción AdUnitObject Obligatorio Elemento AdUnitque se va a agregar aMultiAdRequestremoveAdUnitQuita de
AdUnit.ANMultiAdRequestDevuelveYESsi se realiza correctamente yNOsi se produce un error.- (BOOL)removeAdUnit:(nonnull id<ANAdProtocolFoundation>)adunit;Argumentos
Parámetro Tipo Ámbito Descripción AdUnitObject Obligatorio Elemento AdUnitque se va a agregar aMultiAdRequestaddCustomKeywordWithKeyAgrega una palabra clave personalizada a
ANMultiAdRequest. Almacenadas como un par de claves y un valor, las palabras clave personalizadas las hereda elAdUnitscontenido dentro deANMultiAdRequest.- (void)addCustomKeywordWithKey:(nonnull NSString *)key value:(nonnull NSString *)value;Argumentos
Parámetro Tipo Ámbito Descripción keyNSString Obligatorio Identificador de clave de la palabra clave personalizada. valueNSString Obligatorio Valor de la palabra clave custom. removeCustomKeywordWithKeyQuita una palabra clave personalizada de
ANMultiAdRequest. La palabra clave quitada ya no la heredará elAdUnitscontenido dentro deANMultiAdRequest.- (void)removeCustomKeywordWithKey:(nonnull NSString *)key;Argumentos
Parámetro Tipo Ámbito Descripción keyNSString Obligatorio Identificador de clave de la palabra clave personalizada que se va a quitar. clearCustomKeywordsQuita todas las palabras clave personalizadas de
ANMultiAdRequest. Las palabras clave quitadas ya no las heredará elAdUnitscontenido dentro deANMultiAdRequest.- (void)clearCustomKeywords;stopDetiene ,
ANMultiAdRequestantes de que se complete la solicitud.- (void)stop;
Métodos ANMultiAdRequestDelegate
multiAdRequestDidCompleteDevuelve correctamente
ANMultiAdRequest. Correcto indica que todos los contenidosAdUnitsse han cargado y tienen un resultado claro- (void)multiAdRequestDidComplete:(nonnull ANMultiAdRequest *)MultiAdRequest;multiAdRequestDidFailWithErrorDevuelve un mensaje de error si se produce un error en el
UT Requestgenerado por unaANMultiAdRequestinstancia, por cualquier motivo.- (void)multiAdRequestDidFailWithError:(nonnull NSError *)error;
Nota:
[ANMultiAdRequest load] también puede producir un error devolviendo NO incluso antes de enviar un UT Request. Si load devuelve YES esto significa UT Request que se inició y todos los errores adicionales se producirán a través del método delegado.