Android: Resolución de problemas
En esta página aprenderás cuáles son los errores más comunes al implementar la biblioteca Notificare para Android.
Activar el registro en modo depuración
Hay momentos en los que el nivel de registro predeterminado no es suficiente para diagnosticar problemas. Puedes activar el modo de depuración añadiendo lo siguiente en el archivo AndroidManifest.xml
.
<?xml version="1.0" encoding="utf-8"?>
<manifest>
<application>
<meta-data
android:name="re.notifica.debug_logging_enabled"
android:value="true" />
</application>
</manifest>
Gestión del estado de la aplicación
Los datos importantes de la aplicación, como la información actual del dispositivo y el estado del push, se almacenan en las preferencias compartidas. Es fundamental evitar eliminar manualmente estas propiedades o archivos, ya que hacerlo puede tener efectos secundarios no deseados, reiniciando parcialmente tu aplicación. En su lugar, recomendamos usar las funciones apropiadas según tu caso de uso específico, como disableRemoteNotifications()
o unlaunch()
.
Claves de aplicación mal ubicadas
Al implementar Notificare, el archivo de configuración de la biblioteca (que es el archivo depositado en tu TransferBox) debe contener el Application ID
, Application Key
y el Application Secret
. En Google Cloud Messaging/Firebase Cloud Messaging no existe una separación entre el entorno de desarrollo y el de producción, por lo que no es estrictamente necesario crear aplicaciones en Notificare para ambos entornos, aunque recomendamos encarecidamente tener una aplicación para cada entorno. Puedes leer más sobre el archivo de configuración aquí.
Errores de GCM/FCM
Un error muy común es confundir el SenderID
con la Server Key
. Hay una diferencia clara entre ambos. Se pueden encontrar en la Consola de Desarrolladores de Firebase, como se muestra aquí. El SenderID
está incluido en el archivo google-services.json
que Firebase añade a tu aplicación, como se explica aquí. La Server Key
es generada por Firebase y utilizada por el equipo de Actito para finalizar la configuración, como se muestra aquí. Esto permitirá que nuestra plataforma envíe notificaciones a tu aplicación.
Dependencias o permisos faltantes
Uno de los errores más comunes al implementar Push es la falta de permisos en el archivo AndroidManifest.xml
. Algunos de estos permisos son necesarios para que la biblioteca funcione correctamente. En la mayoría de los casos, esto causará fallos al compilar la aplicación. Las dependencias necesarias se añaden automáticamente por los diferentes módulos, así que asegúrate de incluir todas las dependencias necesarias para tu app. Puedes leer más sobre las dependencias aquí.
Fallo de la aplicación al iniciarse
Fatal Exception: java.lang.RuntimeException: Unable to get provider re.notifica.NotificareConfigurationProvider:
java.lang.IllegalStateException: No platform dependencies have been detected. Please include one of the platform-specific packages.
Hay ocasiones en que se produce la excepción anterior. Normalmente, esto se debe a una mala configuración.
Al elegir una imagen de emulador, selecciona una que se parezca a la siguiente:
Problema conocido con Moshi en Gradle 8.0
Somos conscientes de un problema con esta dependencia cuando se compila con la última versión de Android Studio, que incluye Gradle 8.0 y R8 activado por defecto. Básicamente, hasta que se proporcione una mejor solución, necesitas añadir la siguiente regla de Proguard a tu aplicación:
-keep,allowobfuscation,allowshrinking class com.squareup.moshi.JsonAdapter