Solicitud de varios anuncios para Android
Información general
Esta página tiene instrucciones y ejemplos de código para iniciar y configurar .ANMultiAdRequest
ANMultiAdRequest
permite al usuario usar una única solicitud de etiqueta universal (UTv3) para iniciar varias subastas, cuyos resultados se devuelven en una única respuesta del servidor.
ANMultiAdRequest
es una clase concreta y no implementa ninguna interfaz. La clase adopta 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
. tiene ANMultiAdRequest
un agente de escucha orientado al público que observa para onMultiAdRequestCompleted()
o onMultiAdRequestFailed()
.
Inicialización
Los usuarios pueden seleccionar entre uno de los dos métodos de inicialización. Ambos requieren un memberId y un multiAdRequestListener
objeto como argumentos para ANMultiAdRequest
poder inicializarse. memberId
y multiAdRequestListener
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 pasado en el proceso AdUnits
de inicialización que contiene placementIds
usará el asociado memberId
a esa ubicación. Tras una inicialización correcta, se devuelve una ANMultiAdRequest
instancia de clase.
Nota:
La MultiAdRequest
instancia se rechazará AdUnits
con memberId
valores distintos de los suyos propios.
Métodos de inicialización
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. La instancia se inicializa con una lista de uno o varios AdUnits
. Si se produce un error durante el load
ciclo de vida, la clase no se inicializa y se devuelve un objeto nil. Cuando se produce un proceso correcto load
, se devuelve una instancia de clase.
Sin id. de publicador
anMultiAdRequest = new ANMultiAdRequest(context, memberId, multiAdRequestListener, loadOnInit, ads);
Con el identificador del publicador
public ANMultiAdRequest(Context context, int memberId, int publisherId, MultiAdRequestListener multiAdRequestListener, boolean loadOnInit, Ad...ads)
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
anMultiAdRequest = new ANMultiAdRequest(context, memberId, multiAdRequestListener);
Con el identificador del publicador
public ANMultiAdRequest(Context context, int memberId, int publisherId, MultiAdRequestListener multiAdRequestListener)
Argumentos
Variable | Tipo | Ámbito | Descripción |
---|---|---|---|
memberId |
Entero | Obligatorio | 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 placementId objeto . |
multiAdRequestListener |
MultiAdRequestListener | Obligatorio | Se usa para compartir información sobre la respuesta tanto si es correcta como si no. |
loadOnInit |
booleano | Opcional | Valor booleano para decidir si se va a cargar ANMultiAdRequest durante su inicialización. |
ads |
Anuncio | Opcional | Argumento de longitud variable para tomar una lista de anuncios. |
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, una vez ANMultiAdRequest
que el ha completado su ciclo de vida AdUnits
se revierte a sus valores de propiedad anteriores.
Parámetro | Tipo | Description |
---|---|---|
memberId |
Entero | Un identificador de miembro. Cualquier AdUnits contenido dentro de ANMultiAdRequest debe tener idéntico memberIds o será ANMultiAdRequest rechazado por el bus de impresión de Xandr. memberId También se puede alcanzar pasando un placementId objeto . |
age |
Cadena | Edad del usuario. |
gender |
AdView.GENDER | El sexo del usuario. |
externalUid |
Cadena | Identificador generado por el usuario que se puede asignar con los identificadores internos de Xandr y esa asignación compartida entre los miembros de los clientes con varios puestos. |
customKeyword |
ArrayList<Pair<String, String>> | Palabras clave personalizadas aplicadas a ANMultiAdRequest . Estas palabras clave las heredarán las AdUnits adjuntas. Esta lista se puede complementar dentro de cada AdUnit una con palabras clave personalizadas adicionales. |
AdUnit |
Anuncio | Elemento de AdUnit que se va a agregar a ANMultiAdRequest . |
ANMultiAdRequest
Métodos
load()
Carga todo lo contenido AdUnits
mediante el envío de una multi-tag UTv3
solicitud al bus de impresión de Xandr. Para cada ANMultiAdRequest
instancia, solo puede haber una carga activa a la vez. Las cargas se completan cuando se desencadena uno de los Listner
métodos. Devuelve true
si se realiza correctamente y false
si se produce un error.
public boolean load()
addAdUnit(Ad adUnit)
Agrega a AdUnit
ANMultiAdRequest
. AdUnits
se rechazará si su memberId
no coincide con el memberId
asignado a ANMultiAdRequest
o no coincide con el memberId
del otro AdUnits
contenido dentro de ANMultiAdRequest
. Devuelve true
si se realiza correctamente y false
si se produce un error.
public boolean addAdUnit(Ad adUnit)
Argumentos
Parámetro | Tipo | Ámbito | Descripción |
---|---|---|---|
AdUnit |
Anuncio | Obligatorio | Elemento AdUnit que se va a agregar a ANMultiAdRequest . |
removeAdUnit(Ad adUnit)
Quita un AdUnit
elemento de devuelve true
ANMultiAdRequest
si se realiza correctamente y false
si se produce un error.
public void removeAdUnit(Ad adUnit)
Argumentos
Parámetro | Tipo | Ámbito | Descripción |
---|---|---|---|
AdUnit |
Anuncio | Obligatorio | Elemento AdUnit que se va a quitar de .ANMultiAdRequest |
addCustomKeywordWithKey
Agrega una palabra clave personalizada a ANMultiAdRequest
. Almacenadas como un par de claves y un valor, las palabras clave personalizadas las hereda el AdUnits
contenido dentro de ANMultiAdRequest
.
public void addCustomKeywords(String key, String value)
Argumentos
Parámetro | Tipo | Ámbito | Descripción |
---|---|---|---|
key |
Cadena | Obligatorio | Identificador de clave de la palabra clave personalizada. |
value |
Cadena | Obligatorio | Valor de la palabra clave custom. |
removeCustomKeywordWithKey
Quita una palabra clave personalizada de MultiAdRequest
. La palabra clave remove ya no la heredará el AdUnits
contenido dentro de ANMultiAdRequest
.
public void removeCustomKeyword(String key)
Argumentos
Parámetro | Tipo | Ámbito | Descripción |
---|---|---|---|
key |
Cadena | Obligatorio | Identificador de clave de la palabra clave personalizada que se va a quitar. |
clearCustomKeywords
Quita todas las palabras clave personalizadas de MultiAdRequest
. Las palabras clave borradas ya no las heredará el AdUnits
contenido dentro de ANMultiAdRequest
.
public void clearCustomKeywords()
stop()
Detiene , MultiAdRequest
antes de que se complete la solicitud.
public void stop()
activityOnDestroy()
Destruye la unidad de anuncios una vez completada la actividad para evitar pérdidas de memoria.
adUnit.activityOnDestroy()
Nota:
Como procedimientos recomendados:
- Se debe llamar a todos los métodos del SDK en el subproceso principal.
activityOnDestroy()
se debe llamar a para las AdUnits adjuntas cuando se espera que se destruyan.
Ejemplo
if (anMultiAdRequest != null) {
for (WeakReference<Ad> adRef: anMultiAdRequest.getAdUnitList()) {
Ad ad = adRef.get();
if (ad instanceof BannerAdView) {
((BannerAdView) ad).activityOnDestroy();
} else if (ad instanceof InterstitialAdView){
((InterstitialAdView) ad).activityOnDestroy();
} else if (ad instanceof VideoAd) {
((VideoAd) ad).activityOnDestroy();
}
}
}
MultiAdRequestListener
Métodos
onMultiAdRequestCompleted()
Devuelve correctamente ANMultiAdRequest
. Correcto indica que todos los contenidos AdUnits
se han cargado y tienen un resultado claro.
void onMultiAdRequestCompleted()
onMultiAdRequestFailed(ResultCode code)
Devuelve un mensaje de error si se produce un error en el UT Request
generado por una ANMultiAdRequest
instancia, por cualquier motivo.
void onMultiAdRequestFailed(ResultCode code)