Android + AdMob: ¡cuidado con los temas!

FaceBook  Twitter  
android + phonegap + admobEstos últimos días nos estamos distrayendo del calor implementando la que será nuestra primera app de Android publicada en Google Play (flecha de publicación: ¡la próxima semana!). Como uno de los últimos pasos, hemos añadido publicidad, concretamente una campaña de AdMob… ¡Y nuestra queria app ha comenzado a fallar de manera totalmente anárquica!

Las versiones con las que estábamos trabajando eran:
- Cordova: 2.6.0
- SDK de AdMob: 6.4.1
- SDK de Android: 14

Por muchas pruebas que hacíamos, no había manera de hallar ningún patrón. La app está hecha con PhoneGap y los anuncios de AdMob están añadidos según el procedimiento habitual (descrito aquí por ejemplo). Finalmente, y tras mucho maldecir y desesperarnos, nos dimos cuenta de que la cosa se arreglaba eliminando la línea

android:theme="@android:style/Theme.Black.NoTitleBar"

del bloque de la actividad principal del manifiesto de nuestra app, o sea:

<activity
android:name="com.xxx.xxxxxx.MainActivity"
android:label="@string/app_name"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale"
android:theme="@android:style/Theme.Black.NoTitleBar"
>

¿Por qué interfiere el tema personalizado con AdMob y PhoneGap? Probablemente se trate de un bug contra el que poco podemos hacer, de momento, más que eliminar la línea conflictiva (que tampoco es demasiado importante, ya que no hace más que cambiar el fondo y la barra de título de la pantalla inicial en los primeros instantes tras cargarse la app). En cualquier caso, podemos lograr el mismo efecto editando directamente nuestros archivos de estilos, que encontraremos en "res/values/styles.xml" (o en "res/values-es/styles.xml" o "res/values-en/styles.xml" etc., si nuestra app es multi idioma). En nuestro caso, optamos por usar el tema "Holo", que tiene un fondo oscuro por defecto, con la siguiente línea:

<style name="AppBaseTheme" parent="android:Theme.Holo">

En fin, aquí dejamos este apunte con la esperanza de ahorrar algo de tiempo y sufrimiento a futuras víctimas ;)
  • Imprimir

Comentarios (2)

Deja tus comentarios

0
Powered by Komento