Imagino que la respuesta es bastante obvia y no me voy a poner a trabajar en ello inmediatamente pero: ¿os interesaría que Bennu para android soportara hacer aplicaciones que incluyan publicidad?.
Sería al estilo de como lo hacen otras aplicaciones. Os pongo un screenshot de Angry Birds:
(http://forum.bennugd.org/index.php?action=dlattach;topic=3322.0;attach=2736)
La idea sería que pudiérais hacer pares de aplicaciones: Lite con anuncios+Completa de pago o Completa con anuncios gratuita+Completa sin anuncios de pago y cosas así.
Pregunto porque si al hacerlo me vais a llamar en masa cerdo capitalista pues no lo hago :)
Estaría genial poder hacer algo así :)
Yo estuve intentando algo, pero no llegué a buen puerto porque no tenía ni idea de cómo funcionan las "layouts". De hecho no sé qué es una layout xD
Me auto-dejo un par de enlaces de gente que parece que ya ha hecho esto:
https://gitorious.org/crawl/sdl-android/blobs/96e640f78e2a4d5b1e3440867392aa0df9139907/project/java/admob/Advertisement.java
https://gitorious.org/crawl/sdl-android/blobs/96e640f78e2a4d5b1e3440867392aa0df9139907/project/java/MainActivity.java
Me interesa muchisimo. Otra cosa que me interesa es la integracion con APIs como open feint, steam cloud, etc. ya me voy a poner a ver si con Curl se puede hacer algo.
con adaptar el ejemplo que tenia josebita para ios de cambiar una imagen del servidor se podria hacer
joseba, hay un api especial para hacer esto? yo pense que era codigo del programa.
Quote from: SplinterGU on December 07, 2012, 05:13:44 PM
joseba, hay un api especial para hacer esto? yo pense que era codigo del programa.
Casi seguro que hay que hacerlo desde Java, sí. Al menos para AdMob de google.
Bueno, pues os he mentido: sí que me he puesto inmediatamente con ésto :)
Todavía tengo que darle algunas vueltas, pero parece que ya funciona. Pixel y/o Javis: si os interesa actualizar los juegos que tengais para incluir publicidad, avisadme.
(http://forum.bennugd.org/index.php?action=dlattach;topic=3322.0;attach=2738)
[Edito]¡Ups! debería decir "ads" en lugar de "adds", si es que es tarde ya...
que bueno, si es en java, seguro sera relativamente simple quitar el ads de cualquier juego o app que lo tenga...
y se puede encoger el area de juego + adds hasta completar tamaño de pantalla, en lugar del adds quedar encima tapando parte del juego ?
claro que nos interesa, siempre está bien tener dos versiones de juegos, asi sabes si es comercialmente potable o no ;)
Josebita. Quiero eso en PiX Frogger YA! xD
no se joseba si vos encontraste una mas facil, pero esto parece ser muy simple...
http://un-informatico-mas.blogspot.com.ar/2012/04/como-poner-publicidad-admob-en.html
gracias joseba!
Quote from: SplinterGU on December 08, 2012, 02:46:30 PM
no se joseba si vos encontraste una mas facil, pero esto parece ser muy simple...
http://un-informatico-mas.blogspot.com.ar/2012/04/como-poner-publicidad-admob-en.html
gracias joseba!
Es eso mismo, sí. A ver si en la próxima actualización del packager lo incluyo.
Pixel pronto te mando instrucciones para hacerlo a mano.
Jaaaaar Joseba me das una alegria!! xDD porque te queria preguntar sobre esto desde hace tiempo jajajajaja de arte.
Quote from: KeoH on December 08, 2012, 07:49:41 PM
Jaaaaar Joseba me das una alegria!! xDD porque te queria preguntar sobre esto desde hace tiempo jajajajaja de arte.
Me alegro; en cuanto pueda añado el soporte para esto al packager.
Instrucciones -sobre todo para Pixel- para añadir anuncios cuando uno compila a mano el apk:
- Entrar en http://www.google.com/ads/admob/ y hacerte una cuenta de AdMob, si no la tienes.
- Añadir una aplicación con "Add Site/App"
- Desde el panel ppal poner el ratón encima de la aplicación creada y pinchar en "Manage Settings"
- Apuntar el código "Publisher ID"
- Actualizar el código Java de SDLActivity.java desde éste (http://bennugd-monolithic.googlecode.com/svn/branches/my_monolithic/projects/android/src/org/libsdl/app/SDLActivity.java).
- Actualizar el fichero MyGame.java (o como se llame en vuestro código) con éste (http://bennugd-monolithic.googlecode.com/svn/branches/my_monolithic/projects/android/src/org/bennugd/samplegame/MyGame.java).
- En este último fichero, reemplazar en la línea 25 el texto "MY_AD_UNIT_ID" por vuestro "Publisher ID" (entrecomillado, es string).
- Abrir el SDK de Google y aseguraos de que habeis instalado la parte de Admob (sección "Extras") y el SDK para alguna versión de android superior o igual a la 13.
- Cambiar la versión de Android para la que compileis en project.properties a la que hayais descargado.
- Dentro del directorio del SDK tendreis el fichero extras/google/admob_ads_sdk/GoogleAdMobAdsSdk-6.2.1.jar Copiadlo a la carpeta "libs" de vuestro proyecto.
- Dentro del AndroidManifest.xml añadís las siguiente líneas dentro del tag <application> y tras la de <activity> que ya existe:
<activity android:name="com.google.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
- En el mismo fichero añadís los siguientes permisos:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> - El AndroidManifest.xml os debe quedar algo similar -aunque no estrictamente igual- a éste (http://code.google.com/p/bennugd-monolithic/source/browse/branches/my_monolithic/projects/android/AndroidManifest.xml).
- Debería estar listo, compilad como siempre y si falla algo me avisais y vemos qué pasa, aunque si os falla probablemente sea porque se me ha olvidado reproducir algún paso...
Sé que parece muy complicado, pero es porque lo he puesto paso a paso; en realidad es modificar cuatro ficheros. Cuando tenga tiempo haré que sea el packager el que se encargue de todo.
Gracias, pero tampoco era necesario tenerlo dedicado a mí xD
Está claro lo que hay que hacer. Yo lo intenté hace un tiempo, pero sólo conseguía sacar los ads o el juego, pero no las dos cosas a la vez xD
joé, quiero asociarme con alguien para que saque mis juegos y/o apps a android de pago...
y vamos a medias ;)
WIP:
(http://forum.bennugd.org/index.php?action=dlattach;topic=3322.0;attach=2751)
Cuando lo actualice subiré también una versión compilada para windows que muestre la terminal, de forma que hacer el debugging de esos errores que aparecen sea más sencillo.
¡Recién empaquetado con el packager!
http://dl.dropbox.com/u/3022394/testads.apk (http://dl.dropbox.com/u/3022394/testads.apk)
Voy a subirlo al PPA.
Perdonad, no he entendido muy bien como hacer para que mi aplicacion pueda contener anuncios, es que mi aplicacion esta hecha con bennugd y compilada con el packger, y parace que ese codigo es para eclipse, alguien me puede decir como ponerlo con bennud? por cierto os van los juegos fluidos con en android cuando los compilais, o se puede hacer con otro compilador mejor que el packager?
Bueno, desde hace algún tiempo los anuncios ya no se hacen desde un API específico sino que los han integrado en los "Google Play Services".
Aquí os dejo un ejemplo de código Java para implementar los anuncios de esta nueva forma:
package org.bennugd.samplegame;
import org.libsdl.app.SDLActivity;
import android.os.Bundle;
import com.google.android.gms.ads.*;
import android.widget.RelativeLayout;
/*
* A sample wrapper class that just calls SDLActivity
*/
public class MyGame extends SDLActivity {
private AdView adView;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Create the adView.
adView = new AdView(this);
adView.setAdUnitId("ca-app-pub-[NÚMEROS, NÚMEROS]");
adView.setAdSize(AdSize.BANNER);
// Make sure the params are right:
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT );
params.addRule(RelativeLayout.ABOVE);
// Add the adView to it.
super.mLayout.addView(adView, params);
super.mLayout.requestLayout();
// Initiate a generic request.
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.build();
// Load the adView with the ad request.
adView.loadAd(adRequest);
super.mLayout.requestLayout();
}
protected void onPause() {
super.onResume();
if(adView != null) {
adView.resume();
}
}
protected void onDestroy() {
if(adView != null) {
adView.destroy();
}
super.onDestroy();
}
}
Espero que os ayude. Si teneis algún problema avidas, que igual se me ha olvidado algo.
Entonces, ¿las instrucciones para hacer esto que diste anteriormente ya están obsoletas? (Modificar el AndroidManifest).
Este nuevo código de Java me pierde, imagino que requiere conocimientos externos a Bennu, o ¿qué hacemos con ello?
Perdón por venir así de noob, pero ando un poco perdido con estas cosas (imagino que no soy el único). Que conste que aprecio mucho el gran trabajo que estás haciendo! :)
El AndroidManifest.xml sigues teniendo que cambiarlo, pero ya no hace falta incluir el .jar del SDK de Admob en la librería "lib" del paquete.
Y sí, es para modificar el código Java, no el de Bennu.
Yo he introducido el codigo nuevo en: com\nombreempresa\plantilla\Plantilla.java, pero no compila, no se si es porque estoy equivocado de archivo o tengo que crear un archivo nuevo, lo que me he fijado esque si dejo el archivo tal como venia sin tocar e introduzco los nuevos import: import com.google.android.gms.ads.*;
import android.widget.RelativeLayout; con esto ya no me genera el apk. alguna solucion?Que estoy haciendo mal?
Ponme el error que te genera, pero asegúrate de tener instalado (mediante el Android SDK Manager) las APIs de "Google Play Services" (abajo del todo).
Hay dejo la imagen de los errores al compilar,la dejo como archivo de descarga porque no se ponerla de otra forma, con lo de "abajo del todo", donde te refieres? haber yo instale el sdk en el packager, en el eclipse tambien se que esta instalao, en C:\devBennu\adt-bundle-windows-x86_64-20131030\sdk, hay esta eso con sus archivos correspondientes, y bueno ya no se mas, lo unico que se que en la pixplantilla tambien tienen sus archivos que ya venian, seguro que toy escoñao y no he copia algo que deberia,jajaja
Yo estoy teniendo el mismo problema, que parece ser con el "com.google.android.gms.ads" que no lo encuentra al compilar.
No se si se nos esta pasando copiar la libreria en alguna parte (Tampoco la tengo localizada).
Tengo instalados el API 16 de Android y todos los extras, incluyendo los Google Play Services
Josebita iluminanos
Bueno voy progresando (creo).
Imitador: lo que he hecho ha sido copiar la libreria "google-play-services.jar" asi como el archivo properties que encontraras en el sdk de Android en: sdk\extras\google\google_play_services\libproject\google-play-services_lib\libs
a la carpeta bennu/android/libs de la pixplantilla.
Haciendo esto al menos compila y ya no da error. Aunque el .apk resultante crashea nada mas iniciar la aplicacion.
No se si sera algo que estoy haciendo mal en codigo o que directamente lo que he hecho de copiar la libreria es una chapuza XD
Pero bueno, si te sirve prueba y a ver que resultados obtienes ;)
odif te importa pasar una captura de tu AndroidManifest.xml, para compararlo con el mio por si lo estoy poniendo mal,el archivo "google-play-services.jar" no lo tenia , el que tenia era el "GoogleAdMobAdsSdk-6.2.1.jar" asi que me he bajado el archivo que as dicho y he metido los dos en: ..\..\pixplantilla\bennu-android\libs, y por ultimo en el sdk que archivo properties dices? por que to no veo ninguno
Te adjunto la captura, ahi basicamente la única diferencia es añadir los permisos. Por otro lado también he modificado el "mijuego.java" con el código que pasó josebita unos posts más atrás.
El archivo properties, a lo que me refiero es al "google-play-services.jar" que encontré en la ruta que te dije tras descargar el google play services desde el sdk manager. Es sólo un documento que solo incluye una línea: "doc=../../../docs/reference"
No sé si es realmente necesario, la verdad, ando bastante verde con todo este tema.
Espero que te ayude. A ver si a base de probar sacamos la solución!
gracias por la ayuda, despues te comento, por que e borrado el SDK y lo estoy inslando de nuevo, ya que no estaba el google services y no se porque no funcionaba el SDK manager, daba algun error, la malo esque esto tarda lo suyo en descargar los servicios, lleva mas de una hora
Odif mira te dejo una captura de mi carpeta, dime si tu la tienes asi, la carpeta es Bennu-android, otra cosa en la carpeta de tu juego tienes en la carpeta libs, tambien estos archivos?
Tenia metio el admob kme taba jodiendo , ahora si me compila, pero estoy pero me pasa lo mismo que ati, no abre la aplicacion, he probado con la plantilla, y pasa lomismo, a esta no le e incluido publicidad
Sí, así es como la tengo yo (sin el Admob, ni el ouya, ya que este último no me interesa por el momento).
Dentro de la carpeta libs de mi juego (imagino que te refieres a la que va dentro de "export") también tengo los mismos archivos, pero eso no es necesario tocarlo, lo genera el propio .bat al exportar a android.
Habrá que seguir investigando el tema.
Cuando compilas con la pixplantilla sin publicidad, ¿te da algún error al compilar? ¿Estás usando el Androidmanifest que viene por defecto?(Con los cambios propios de nombre y demás)
Mi juego no lo e probado sin publi, pero si he probado la plantilla, y tampoco iniciaba despues de instalar, pero lo e solucionado, era por el archivo SDLActivity.java que esta dentro de bennu-Android, estaba modificado con el codigo de josebita, el del primer tuto, lo borre y meti uno nuevo tal como viene, y ahora si funciona la plantilla pero el mio no, lo que estoy intentando es probar cambiando en el manifest ela linea android:minSdkVersion,
Alguien a conseguido algo?
Nah, llevo un par de días indagando y tratando de hacer el código desde cero siguiendo los ejemplos del admob de google pero sigue pasando lo mismo, la aplicación crashea nada más iniciar. Tanto con el SDLActivity "antiguo" como con el nuevo de joseba :-\
Pues estamos igual, por que yo he probado mil formas y nada
Bueno, con ayuda he conseguido que funcionen los ads.
El tema es compilar con la pixplantilla, y luego crear un proyecto en Eclipse con todo lo que incluye la carpeta export, y ya desde ahi volver a crear el .apk
Lo malo es eso, que hay que tener ya más conocimientos de lo que estamos haciendo :P Por suerte cuento con la ayuda de una programadora experimentada, porque yo no he conseguido ni que funcione bien el proyecto en eclipse desde mi PC.
No sé si te ayuda mucho.. :-\ pero al menos ya hay un camino por el que tirar.
Para mi es un paso grande, mañana a primera hora me pongo a probarlo, una cosa una en eclipse con volver a compilar ya esta, o hay que tocar mas cosas?
Estimados,
Logre aplicar la publicidad !!!!! ;D ;D ;D ;D ;D ;D ;D
cargue la plantilla en ECLIPSE, desde ahí tuve que modificar muchas cosas, así que hagan sus consultas...