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.

Como usar los anuncios de amazon con phonegap (Android). Parte 1, Añadir la librería

Partiremos de un proyecto phonegap ya creado anteriormente, si no sabes como puedes seguir los tutoriales anteriores.

Lo primero que haremos será bajar el SDK de amazon desde este link: https://developer.amazon.com/sdk.html

Añadimos la librería amazon-ads-5.1.14.jar de la siguiente manera. Hacemos click con el botón derecho sobre el proyecto y vamos a Properties

properties

Pinchamos en Java Build Path, seleccionamos la pestaña Libraries, hacemos click en el botón Add External JARs y finalmente buscamos la librería que acabamos de descargar (estará dentro de Apps-SDK/Android/Ads/lib) y damos a Open.

external

Ahora vamos a la pestaña Order and Export y marcamos el checkbox de la libreríaexport

Y pulsamos Ok para terminar.

Leer parte 2, mostrar anuncios

 

 

 

Comenzando con Phonegap 3.0 desde Windows. Parte 2. Cordova CLI

Prerequisitos:

  1. Tener NodeJS instalado (Tutorial instalar NodeJS)
  2. Tener instalado el SKD de la plataforma para la que queremos desarrollar (Tutorial SDK Android)
  3. Tener instalado ant ( descarga ) y configurada la variable ANT_HOME
  4. Tener instalado un JDK java (descarga ) y configurada la variable JAVA_HOME

Si ya lo tenemos todo listo abrimos una consola de simbolo de sistema (en adelante CMD) y escribimos

npm install -g cordova

Si estaba todo correcto esperamos un rato y ya lo tendremos instalado y podremos ejecutar el comando cordova desde el CMD. Seguramente habrán salido algunos errores durante la instalación, pero no os preocupeis, suele ser por no tener instalado algún SDK de otras plataformas soportadas.

Creación de un proyecto:

Ahora vamos a crear nuestro primer proyecto, para ello desde el CMD vamos a la carpeta donde queramos crear los proyectos (en mi caso será “C:\__DATOS\PROYECTOS\PHONEGAP”) y ejecutamos el comando:

cordova create Directorio identificador NombreAplicacion

El único parámetro obligatorio es Directorio, que será la carpeta donde quieres crear el proyecto

identificador sería un identificador para el proyecto, que se puede cambiar desde el config.xml

NombreAplicacion es el nombre del proyecto que se crea, en android además es el nombre de la clase principa, asi que recomiendo no usar espacios, a mi por lo menos me ha dado problemas

Yo en concreto he ejecutado este comando:

cordova create HolaMundo es.phonegap.hola "HolaMundo"

Navegamos al nuevo directorio creado

cd HolaMundo

Añadimos la plataforma android

cordova platform add android

Y por último

cordova build

Ahora abrimos eclipse

Vamos a File -> New -> Other -> Android Project from Existing Code.

Buscamos el proyecto dentro de la carpeta donde creamos el proyecto (recordad, en mi caso era C:\__DATOS\PROYECTOS\PHONEGAP\HolaMundo) y buscamos la carpeta android dentro de platforms. Aceptamos y ya tenemos listo nuestro nuevo proyecto phonegap!

 

Comenzando con Phonegap 3.0 desde Windows. Parte 1. Instalar el SDK android e incluirlo al PATH

Lo primero que haremos será descargar el SDK de Android. Para ello vamos a la web http://developer.android.com/sdk/ y hacemos click en el botón azul de Download the SDK

android1

Aceptamos los términos y condiciones, elegimos la versión de 32 o 64 bits y pulsamos Download SDK

android2

Cuando termine de descargarse lo descomprimimos en una carpeta a nuestra elección.(yo concretamente lo he descargado en “C:\__DATOS\DESARROLLO\adt-bundle”, importante acordarse de la ruta para el paso que viene a continuación.

Para poder ejecutar la linea de comandos de Cordova tenemos que añadir el SDK al PATH. Para ello hacemos click derecho en Mi PC y luego en Configuración avanzada del sistema (ver imagen)

android3

Ahora click en variables de entorno

android4

Seleccionamos PATH y hacemos click en Editar

android5

y añadimos al final (sin borrar lo que ya hay) la ruta a nuestro sdk, en mi caso “;C:\__DATOS\DESARROLLO\adt-bundle\sdk\tools” (sin comillas). Y aceptamos todas las ventanas para que se guarden los datos.

Nota: Para poder ejecutar android necesitarémos un JDK java, lo podeis descargar desde aqui http://www.oracle.com/technetwork/java/javase/downloads/index.html

Instalar NodeJS en windows

Ahora para descargar phonegap y crear nuevos proyectos hace falta tener instalado NodeJS, asi que voy a hacer un pequeño tutorial sobre como instalarlo en windows.

Vamos a la página http://nodejs.org/ y pulsamos en instalar. Esto hará que se descargue el archivo instalador, con un nombre con este formato node-vXXXX.msi. Cuando termine de descargarse hacemos doble click en él y aparecerá esta pantalla:

node1

Hacemos click en Next y nos aparece esta pantalla:

node2

Nos aseguramos de que esté marcado “I accept the terms in the License Agreement y pulsamos Next. Aparecerá esta pantalla:

node3

Cambiamos si queremos la carpeta de destino, y pulsamos Next. Nos llevará a esta pantalla:

node4

Pulsamos Next y nos aparecerá esta pantalla:

node5

Pulsamos Install y comenzará la instalación, si durante la instalación sale algún aviso pidiendo permisos damos a aceptar, y cuando termine aparecerá esta pantalla:

node6

Pulsamos Finish y ya tendremos NodeJS instalado en nuestro ordenador. Facil, ¿no?
Para comprobar que se ha instalado correctamente abrimos una consola de simbolo de sistema y escribimos “node -v” (sin las comillas). Nos debería mostrar la versión de NodeJS instalada.

node7

Othello Classic

Othello es un juego de tablero para 2 jugadores.Tiene 3 modos de juego:
- 2 JUGADORES, donde 2 jugadores humanos pueden jugar juntos en el mismo dispositivo.
- CONTRA LA MAQUINA, donde puedes jugar contra el dispositivo con 2 niveles de dificultad ( facil y medio, el modo dificil llegará pronto )
- JUEGO ONLINE, donde puedes jugar online contra jugadores de todo el mundo o contra tus amigos (solo iOS)
REGLAS:
El objetivo del juego es tener la mayoría de las fichas del tablero de tu color al final del juego.
Un movimiento consiste en encerrar fichas de tu oponente entre las tuyas para convertirlas a tu color.
Si un jugador no puede poner una ficha, el juego cambia el turno automaticamente.
Puedes saber el turno actual por el color del fondo.
DESCARGAS:
Iago Classic para Firefox OS (versión de Othello donde el jugador blanco mueve primero)

 

Para añadir el juego online al Othello Classic iOS desarrollé un plugin de game center que también he liberado para que cualquiera lo pueda usar

Plugin Game Center iOS