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 utilizar una única solicitud de etiqueta universal (UTv3) para iniciar varias subastas, cuyos resultados se devuelven en una única respuesta del servidor.
ANMultiAdRequest, como un AdUnit, implementa un subconjunto de ANAdProtocol. Esto permite adoptar ANMultiAdRequest el tipo y comportamiento de diferentes AdUnits (banner, nativo, vídeo, etc.) utilizando las mismas especificaciones de cada AdUnit tipo. Las palabras clave personalizadas se pueden asignar a un ANMultiAdRequest y serán heredadas por el archivo AdUnits.
Inicialización
Los usuarios pueden seleccionar uno de los tres métodos de inicialización. Todos requieren a memberId y a delegate object como argumentos para inicializarse ANMultiAdRequest . El memberId y delegate solo se puede establecer una vez por instancia. En este momento se puede establecer un parámetro de identificador de editor opcional. Todos AdUnits deben contener lo mismo memberId que el pasado en el proceso de inicialización.
AdUnits que contenga placementIds usará el asociado memberId de esa ubicación. Tras una inicialización correcta, se devuelve una ANMultiAdRequest instancia de clase.
Nota:
La ANMultiAdRequest instancia rechazará AdUnits con memberId valores diferentes a los suyos.
Métodos de inicialización
Los métodos siguientes son compatibles con esta característica:
Inicialice con una lista de una o más AdUnits
Inicializa una instancia de ANMultiAdRequest con una lista de una o varias AdUnits. Por ejemplo,
Sin Id. de editor
- (nullable instancetype)
initWithMemberId:(NSInteger)memberId
delegate:(nullable id<ANMultiAdRequestDelegate>)delegate
adUnits:(nonnull id<ANAdProtocolFoundationCore>)firstAdUnit, ...;
Con id. de editor
- (nullable instancetype)
initWithMemberId:(NSInteger)memberId
publisherId:(NSInteger)publisherId
delegate:(nullable id<ANMultiAdRequestDelegate>)delegate
adUnits:(nonnull id<ANAdProtocolFoundationCore>)firstAdUnit,
... NS_REQUIRES_NIL_TERMINATION;
Inicialice con una lista de AdUnits y llame 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 en el proceso anterior, la instancia se inicializa con una lista de uno o varios AdUnitsarchivos . Si se produce un error durante el ciclo de load vida, la clase no se inicializa y se devuelve un objeto nulo. Cuando se produce un proceso exitoso load , se devuelve una instancia de clase, después de lo cual el éxito o el fracaso de la instancia se comunica al autor de la llamada a través ANMultiAdRequestDelegatede . Por ejemplo,
Sin Id. de editor
- (nullable instancetype)
initAndLoadWithMemberId:(NSInteger)memberId
delegate:(nullable id<ANMultiAdRequestDelegate>)delegate
adUnits:(nonnull id<ANAdProtocolFoundationCore>)firstAdUnit,
...;
Con id. de editor
- (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 utilizando propiedades y métodos de clase. El delegado inicializado se establece a AdUnits medida que se agregan.
Sin Id. de editor
- (nullable instancetype)initWithMemberId:(NSInteger)memberId
andDelegate:(nonnull id<ANMultiAdRequestDelegate>)
Con id. de editor
- (nullable instancetype)
initWithMemberId:(NSInteger)memberId
publisherId:(NSInteger)publisherId
andDelegate:(nullable id<ANMultiAdRequestDelegate>)delegate;
Argumentos
| Variable | Tipo | Atributos | Ámbito | Descripción |
|---|---|---|---|---|
memberId |
NSInteger | no atómico, de solo lectura, de asignación | Required |
Un id. de miembro. Cualquier contenido AdUnits dentro del ANMultiAdRequest debe tener idéntico memberIds o el ANMultiAdRequest será rechazado. El memberId también se puede lograr pasando en un placementId. |
delegate |
ANMultiAdRequestDelegate | nonnull | Obligatorio | Objeto a notificar con información y devoluciones de llamada relevantes. |
adUnits |
Lista de adUnits | nonnull | Opcional | Lista de AdUnits para la inicialización de un ANMultiAdRequestarchivo . |
Nota:
Si la inicialización se realiza correctamente, SDK devuelve YES, de lo contrario, devuelve NO.
Configuración
Todas las ANMultiAdRequest propiedades y métodos de configuración son los mismos en tipo y uso que los utilizados por AdUnits. Si las propiedades se establecen en el ANMultiAdRequest, heredan AdUnits esas propiedades. No son permanentes. Una vez que hayan ANMultiAdRequest completado su ciclo de vida, AdUnits accederán a sus valores de propiedad locales después de ser eliminados de la lista de AdUnits encapsulados por la ANMultiAdRequest instancia.
Parámetros
| Parámetro | Tipo | Atributos | Descripción |
|---|---|---|---|
memberId |
NSInteger | solo lectura | Un id. de miembro. Cualquier contenido AdUnits dentro del MultiAdRequest debe tener idéntico memberIds o será MultiAdRequest rechazado por Impression Bus. El memberId también se puede lograr pasando en un placementId. |
location |
ANLocation | escritura lectora | La ubicación del usuario.
Location se puede establecer con horizontalAccuracy y un precision nivel. Consulte Métodos de ubicación a continuación. |
age |
NSString | escritura lectora | La edad del usuario. |
gender |
ANGender | escritura lectora | El sexo del usuario. |
customKeyword |
Matriz | escritura lectora | Palabras clave personalizadas aplicadas al MultiAdRequestarchivo . Estas palabras clave serán heredadas por el archivo AdUnitsadjunto. Esta lista se puede complementar dentro de cada una AdUnit con palabras clave personalizadas adicionales. |
AdUnit |
Objeto | escritura lectora | Un AdUnit elemento para agregar al MultiAdRequest |
countOfAdUnits |
NSUintetger | solo lectura | Devuelve el número de AdUnits elementos contenidos por la MultiAdRequest instancia. |
Métodos de ubicación
setLocationWithLatitude Establece el valor de la location propiedad de un MultiAdRequest objeto. Se puede llamar con un parámetro adicional precision . Por ejemplo,
Parámetro sin precisión
- (void)setLocationWithLatitude:(CGFloat)latitude
longitude:(CGFloat)longitude
timestamp:(nullable NSDate *)timestamp
horizontalAccuracy:(CGFloat)horizontalAccuracy;
Con parámetro de precisión
- (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 | La marca de tiempo que se estableció la ubicación. |
horizontalAccuracy |
CGFloat | Obligatorio | El radio de incertidumbre de la ubicación. |
precision |
NSInteger | Opcional | Determina la precisión de grados decimales de la ubicación. |
Métodos
loadCarga todo contenido
AdUnitsmediante el envío de unamulti-tag UTv3solicitud a Impression Bus. Para cadaANMultiAdRequestinstancia, solo puede haber una carga activa a la vez. Las cargas se completan cuando se dispara uno de losMultiAdRequestDelegatemétodos. RegresaYESal éxito yNOal fracaso.- (BOOL)load;addAdUnitAgrega un
AdUnita ANMultiAdRequest.AdUnitsserán rechazados si sumemberIdno coincide con elmemberIdasignado alMultiAdRequesto no coincide con elmemberIddel otroAdUnitscontenido dentro delANMultiAdRequest. Si se establece apublisherIden elANMultiAdRequest, cualquieraAdUnitcon una diferentepublisherIdtambién será rechazada. RegresaYESal éxito yNOal fracaso.- (BOOL)addAdUnit:(nonnull id<ANAdProtocolFoundation>)adunit;Argumentos
Parámetro Tipo Ámbito Descripción AdUnitObject Obligatorio Un AdUnitelemento para agregar alMultiAdRequestremoveAdUnitQuita an
AdUnitdelANMultiAdRequest. RegresaYESal éxito yNOal fracaso.- (BOOL)removeAdUnit:(nonnull id<ANAdProtocolFoundation>)adunit;Argumentos
Parámetro Tipo Ámbito Descripción AdUnitObject Obligatorio Un AdUnitelemento para agregar alMultiAdRequestaddCustomKeywordWithKeyAgrega una palabra clave personalizada al
ANMultiAdRequestarchivo . Almacenadas como un par de claves y valor, las palabras clave personalizadas se heredan por lasAdUnitscontenidas en elANMultiAdRequestarchivo .- (void)addCustomKeywordWithKey:(nonnull NSString *)key value:(nonnull NSString *)value;Argumentos
Parámetro Tipo Ámbito Descripción keyNSString Obligatorio El identificador de clave de la palabra clave personalizada. valueNSString Obligatorio El valor de la palabra clave personalizada. removeCustomKeywordWithKeyQuita una palabra clave personalizada del
ANMultiAdRequestarchivo . La palabra clave eliminada ya no se heredará por laAdUnitscontenida en elANMultiAdRequestarchivo .- (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 del
ANMultiAdRequestarchivo . Las palabras clave eliminadas ya no se heredarán por lasAdUnitscontenidas en elANMultiAdRequestarchivo .- (void)clearCustomKeywords;stopDetiene el
ANMultiAdRequest, antes de que se complete la solicitud.- (void)stop;
Métodos ANMultiAdRequestDelegate
multiAdRequestDidCompleteDevuelve el éxito de
ANMultiAdRequest. El éxito indica que todos los contenidosAdUnitsse han cargado y tienen un resultado claro- (void)multiAdRequestDidComplete:(nonnull ANMultiAdRequest *)MultiAdRequest;multiAdRequestDidFailWithErrorDevuelve un mensaje de error si lo
UT Requestgenerado por unaANMultiAdRequestinstancia falla, por cualquier motivo.- (void)multiAdRequestDidFailWithError:(nonnull NSError *)error;
Nota:
[ANMultiAdRequest load] También puede producirse un error si se devuelve NO incluso antes de enviar un UT Requestarchivo . Si la carga devuelve YES , significa UT Request que se inició, y todos los errores posteriores vendrán a través del método delegado.