Saltar al contenido principal

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:

alt text

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