Como usar los anuncios de amazon con phonegap (Android). Parte 2, mostrar los anuncios

Para ver como añadir la librería ver la parte 1 del tutorial

Lo primero de todo es añadir una actividad en el AndroidManifest.xml

<activity android:name="com.amazon.device.ads.AdActivity" android:configChanges="keyboardHidden|orientation|screenSize"/>

Y añadir los permisos necesarios

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

Y posteriormente hacer que nuestra clase implemente AdListener

implements AdListener

Creamos una propiedad para el anuncio de tipo AdLayout

    private AdLayout adView;

Creamos una variable estática para almacenar la key de la aplicación y otra para que nos ayude a identificar los mensajes de login de nuestra aplicación

    private static final String APP_KEY = "appkey"; // Reemplazar con la key de tu aplicación
    private static final String LOG_TAG = "prefijoLog";

Ahora ponemos esté código dentro del método oncreate, después del super.loadUrl, es el código que se encargará de crear y mostrar el anuncio

try {
            AdRegistration.setAppKey(APP_KEY);
        } catch (Exception e) {
            Log.e(LOG_TAG, "Exception thrown: " + e.toString());
            return;
        }
        AdRegistration.enableTesting(true); // Poner a true para pruebas, cambiar a false antes de subir a la app store
        adView = new AdLayout(this);
        adView.setListener(this);
        LinearLayout layout=(LinearLayout)super.root;
        layout.addView(adView);

        AdTargetingOptions opt = new AdTargetingOptions().enableGeoLocation(true);//necesita permiso de GPS
        /** Si no queremos localizar al usuario podemos usar esta funcion
        **  AdTargetingOptions opt = new AdTargetingOptions(); 
        **/
        adView.loadAd(opt);

Y finalmente añadimos los métodos que debe tener nuestra clase por implementar AdListener

   /**
     * Método que se llama al minimizar un anuncio que anteriormente se había expandido
     */
    @Override
    public void onAdCollapsed(AdLayout view) {
        Log.d(LOG_TAG, "Ad collapsed.");
    }

    /**
     * Método que se llama cuando un anuncio falla al cargar. Lo podríamos usar para cargar un anuncio de admob al fallar el de amazon
     */
    @Override
    public void onAdFailedToLoad(AdLayout view, AdError error) {
        Log.w(LOG_TAG, "Ad failed to load. Code: " + error.getCode() + ", Message: " + error.getMessage());
    }

    /**
     * Método que se llama cuando un anuncio se muestra correctamente
     */
    @Override
    public void onAdLoaded(AdLayout view, AdProperties adProperties) {
        Log.d(LOG_TAG, adProperties.getAdType().toString() + " Ad loaded successfully.");
    }

    /**
     * Método que se llama cuando un anuncio se expande
     */
    @Override
    public void onAdExpanded(AdLayout view) {
        Log.d(LOG_TAG, "Ad expanded.");
    }

Cosas que no debemos olvidar:

  1. Añadir la actividad y los permisos al AndroidManifest.xml
  2. Poner nuestra propia key de la aplicación
  3. Quitar la linea de AdRegistration.enableTesting(true); o ponerla a false

Si quereis ver una aplicación con los anuncios en funcionamiento podeis ver mi Othello Classic
De momento mi experiencia no está siendo muy buena, solo estoy teniendo un relleno del 20%, pero es una opción a tener en cuenta frente a admob.

Un comentario en “Como usar los anuncios de amazon con phonegap (Android). Parte 2, mostrar los anuncios

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *