Mostrar banners en Android
Esta página tiene instrucciones y ejemplos de código para mostrar anuncios de banner en Android.
Puede configurar la vista de anuncios de banner mediante XML, Java o una combinación de los dos. A continuación se enumeran los equivalentes XML y Java.
opensdk:placement_id
oadview.setPlacementID(String placementID)
: el identificador de ubicación asociado al inventario de la aplicación. Debe incluir un identificador de selección de ubicación o se producirá un error. Ejemplo:"123456"
.Nota:
A partir de la versión RC2.8, también puede usar un código de inventario y un identificador de miembro para solicitar un anuncio (todavía se admite el identificador de ubicación). Actualmente, esto solo está disponible en Java (no en XML). Tenga en cuenta que si se pasan el código de inventario y el identificador de ubicación, el código de inventario se pasará al servidor en lugar del identificador de ubicación.
// Android: Java code that uses inventory code and member ID instead of placement ID (optional) adview.setInventoryCodeAndMemberID(int memberID, String inventoryCode)
opensdk:auto_refresh_interval
oadview.setAutoRefreshInterval(long interval)
: intervalo, en milisegundos, en el que la vista de anuncios solicitará nuevos anuncios, si autorefresh está habilitado. El período mínimo es de 15 segundos. El período predeterminado es de 30 segundos. Establézcalo en 0 para deshabilitar autorefresh. Ejemplo:"60000"
.opensdk:ad_width
oadview.setAdSize(int width, int height)
: el ancho del anuncio que se va a solicitar desde el servidor. Si no se establece, el SDK solicita un anuncio de al menosandroid:layout_width
. Tenga en cuenta que el métodosetAdSize
Java establece el ancho y el alto al mismo tiempo. Ejemplo:"320"
.opensdk:ad_height
oadview.setAdSize(int width, int height)
: alto de la vista. Tenga en cuenta que el métodosetAdSize
Java establece el ancho y el alto al mismo tiempo. Ejemplo:"50dp"
.
Si usa XML, debe agregar el atributo de espacio de nombres que describe la xmlns:opensdk
aplicación a la etiqueta de diseño; por ejemplo, podría ser , RelativeLayout
LinearLayout
o FrameLayout
.
// Android: XML to configure the banner ad view (optional)
xmlns:opensdk="https://schemas.android.com/apk/res/com.example.SimpleBanner"
A continuación se muestra cómo declarar un banner en XML. Tenga en cuenta que debe reemplazar "SU IDENTIFICADOR DE UBICACIÓN" por un identificador de ubicación activo.
Nota:
Si usa XML y Java (loadAd
) para definir BannerAdView
, definaauto_refresh_interval
en XML o Java. No defina auto_refresh_interval
en ambos.
// Android: XML to declare banner ad view (optional)
<com.appnexus.opensdk.BannerAdView
android:id="@+id/banner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
opensdk:placement_id="YOUR PLACEMENT ID"
opensdk:auto_refresh_interval="60000"
opensdk:adWidth="320"
opensdk:adHeight="50"
opensdk:should_reload_on_resume="true"
opensdk:opens_native_browser="true"
android:expands_to_fit_screen_width="false"
/>
Para mostrar anuncios, debe configurar .BannerAdView
El único método necesario es setPlacementID
, pero es una buena idea establecer el tamaño del anuncio. Tenga en cuenta que el alto y el ancho que especifique aquí deben coincidir con el tamaño de la ubicación del anuncio. En el código siguiente se muestra un anuncio de banner (y se supone que el identificador de ubicación apunta a una ubicación de 300x50).
Este sencillo ejemplo no aprovecha todas las funcionalidades proporcionadas por el SDK; por ejemplo, también puede pasar la edad y el sexo del usuario, así como si un clic en un anuncio debe abrir el explorador nativo del dispositivo.
Nota:
Como procedimientos recomendados:
- Se debe llamar a todos los métodos del SDK en el subproceso principal.
activityOnDestroy()
se debe llamar a para el BannerAdView que se espera que se destruya.
// Android: Java to show a banner ad
package com.example.simplebanner;
import android.os.Bundle;
import android.os.Handler;
import android.app.Activity;
import android.widget.FrameLayout;
import com.appnexus.opensdk.*;
import com.appnexus.opensdk.R.*;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Create the AdView and set its placement ID. Tweak a few other settings.
final BannerAdView bav = new BannerAdView(this);
bav.setPlacementID("1326299");
bav.setAdSize(300, 50);
bav.setAutoRefreshInterval(60000); // Set to 0 to disable auto-refresh
bav.setShouldServePSAs(true);
// Add the AdView to our layout 'n stuff.
FrameLayout layout = (FrameLayout)findViewById(android.R.id.content);
layout.addView(bav);
bav.loadAd();
}
@Override
protected void onDestroy() {
if (bav != null) {
bav.activityOnDestroy();
}
super.onDestroy();
}
}