Si inicializas tu app sin un conjunto válido de opciones de Firebase, los usuarios nuevos de tu aplicación experimentarán problemas graves.
Las opciones de Firebase son un conjunto de parámetros que los servicios requieren para comunicarse correctamente con las API del servidor de Firebase y asociar los datos de los clientes con tu proyecto y aplicación de Firebase. Los servicios de Firebase dependen de que las opciones válidas de Firebase estén disponibles desde la biblioteca principal y común de la plataforma que se creó durante su inicialización.
Aunque los distintos servicios de Firebase requieren diferentes opciones de Firebase para funcionar correctamente, todos requieren las siguientes opciones:
- Clave de API: Ten en cuenta que esta no es una clave de servidor de FCM. Consulta Claves de servidor de FCM.
Valor de ejemplo:AIzaSyDOCAbC123dEf456GhI789jKl012-MnO
- ID del proyecto: El valor de ejemplo es
myapp-project-123
. - ID de la aplicación (“AppID”): Identificador único de la app cuyo formato depende de la plataforma:
- Para Android:
mobilesdk_app_id
Ten en cuenta que este no es un nombre de paquete de Android.
Valor de ejemplo:1:1234567890:android:321abc456def7890
- Para iOS+:
GOOGLE_APP_ID
(ten en cuenta que este no es un ID del paquete de Apple).
Valor de ejemplo:1:1234567890:ios:321abc456def7890
- Para Android:
Soluciona problemas de apps para Android
Para mejorar la seguridad, el SDK de Firebase se actualizó el 27 de febrero y, luego, reemplazó el servicio de ID de instancia de Firebase por una dependencia en la API de instalaciones de Firebase.
Las instalaciones de Firebase aplican la existencia y la validez de la clave de API de las
opciones obligatorias de Firebase, el ID del proyecto y el ID de aplicación para asociar los datos de
clientes con tu proyecto de Firebase. Consulta FirebaseOptions
para obtener más
información.
Firebase Cloud Messaging (FCM) con el ID de instancia de Firebase (IID)
Si los usuarios nuevos de tu app tienen problemas con FCM, es posible que estés inicializando Firebase sin el conjunto requerido de opciones de Firebase.
Es posible que tu aplicación use un archivo de configuración
google-services.json
incompleto o erróneo, o que la app
inicialice Firebase de manera programática sin el conjunto completo de opciones requeridas de
Firebase.
Como resultado, los servicios de Firebase, como Firebase Cloud Messaging, dejarán de funcionar para los usuarios finales que hayan instalado tu app después del lanzamiento con los SDK de Firebase actualizados. Además, las solicitudes erróneas repetidas a Firebase pueden ralentizar la experiencia del usuario final de tu app.
¿Qué debo hacer?
Para solucionar los servicios de Firebase que no funcionan correctamente en tus aplicaciones, haz lo siguiente:
- Para actualizar tu aplicación, inicializa Firebase con una clave de API de tu proyecto, un ID del proyecto y un ID de aplicación (
mobilesdk_app_id
o “AppID”) válidos.- Proceso de inicialización predeterminado con un archivo de configuración de Firebase: Descarga el archivo de configuración google-services.json desde Firebase console y, luego, reemplaza el archivo existente en la app.
- Inicialización programática con un objeto
FirebaseOptions
: Descarga el archivo de configuración google-services.json desde Firebase console para encontrar tu ID del proyecto, ID de aplicación y clave de API y, luego, actualiza estos valores en el objetoFirebaseOptions
de la app.
- Lanza una nueva versión de la app en Play Store.
Soluciona problemas con apps para Apple
Para mejorar la seguridad, el SDK de Firebase se actualizó el 14 de enero y, luego, se reemplazó el servicio de ID de instancia de Firebase por una dependencia en la API de Firebase Installations.
Las instalaciones de Firebase aplican la existencia y la validez de la clave de API de las
opciones obligatorias de Firebase, el ID del proyecto y el ID de aplicación para asociar los datos de
clientes con tu proyecto de Firebase. Consulta FIROptions
para obtener más
información.
Firebase Cloud Messaging (FCM) con el ID de instancia de Firebase (IID)
Si los usuarios nuevos de tu app tienen problemas con FCM, es posible que estés inicializando Firebase sin el conjunto requerido de opciones de Firebase.
Es posible que tu aplicación use un archivo de configuración
GoogleService-Info.plist
incompleto o no válido, o que la app
inicialice Firebase de manera programática
sin el conjunto completo de opciones requeridas de Firebase.
Como resultado, los servicios de Firebase, como Firebase Cloud Messaging, dejarán de funcionar para los usuarios finales que hayan instalado tu app después del lanzamiento con los SDK de Firebase actualizados. Además, las solicitudes erróneas repetidas a Firebase pueden ralentizar la experiencia del usuario final de tu app.
¿Qué debo hacer?
Para solucionar los servicios de Firebase que no funcionan correctamente en tus aplicaciones, haz lo siguiente:
- Para actualizar tu aplicación, inicializa Firebase con una clave de API de tu proyecto, un ID del proyecto y un ID de aplicación (
GOOGLE_APP_ID
o “AppID”) válidos.- Proceso de inicialización predeterminado con un archivo de configuración de Firebase: Descarga el archivo de configuración GoogleService-Info.plist desde Firebase console y, luego, reemplaza el archivo existente en la app.
- Inicialización programática con un objeto
FIROptions
: Descarga el archivo de configuración GoogleService-Info.plist desde Firebase console para encontrar tu ID del proyecto, ID de aplicación y clave de API y, luego, actualiza estos valores en el objetoFIROptions
de la app.
- Lanza una nueva versión de la app en App Store.
Claves de servidor de FCM
Si tu app usa una clave de servidor de FCM en lugar de una clave de API de Cloud, esto podría causar una vulnerabilidad de seguridad en caso de que uses la misma clave de servidor de FCM para enviar notificaciones push a través de FCM. En este caso, te recomendamos que revises cómo tu servidor autentica solicitudes de envío a FCM.
Ten en cuenta que las claves de servidor de FCM (que no son las mismas que las claves de APIs de Firebase o Cloud) no se deben incluir en las aplicaciones, ya que se puede abusar de ellas para enviar notificaciones push en nombre de tu proyecto.