- Web Push. Los dispositivos Android pueden suscribirse a su sitio web o PWA sin un Service Account de FCM. Consulte Configuración de push web.
- Aplicaciones Huawei distribuidas a través de Huawei App Gallery. Consulte Autorización de Huawei.
Requisitos
- Una aplicación Android distribuida a través de Google Play Store
- Una cuenta de OneSignal
- Una cuenta de Firebase (gratis)
- Una clave privada de Service Account de Firebase con los permisos
cloudmessaging.messages.createyfirebase.projects.get- Si no tiene una, siga los pasos para crear una clave privada de Service Account de Firebase
- Si ya tiene una clave privada, verifique los permisos existentes
Crear una clave privada de Service Account de Firebase \
Crear o abrir su proyecto de Firebase

Página de Proyectos dentro de Firebase
Habilitar Firebase Cloud Messaging API V1

Pestaña Cloud Messaging en la configuración del proyecto de Firebase
- Si muestra Enabled (marca verde), continúe al siguiente paso.
- Si muestra Disabled, haga clic en el menú de 3 puntos > Manage API in Google Cloud Console. En Google Cloud Console, haga clic en Enable y espere a que aparezca la marca verde con “API Enabled”.

Firebase Cloud Messaging API habilitada en Google Cloud Console
cloudmessaging.messages.createfirebase.projects.get
Generar una nueva clave privada

Sección de Service Accounts dentro de Firebase

Generar la clave privada para el Service Account.
.json en una ubicación segura. Lo necesitará en la siguiente sección.Cargar la clave privada de Service Account en OneSignal
En su panel de OneSignal:Abrir la configuración de Android

Pantalla de plataformas dentro de la configuración de la aplicación de OneSignal
Cargar su clave privada de Service Account
.json que guardó en la sección anterior.
Pantalla de configuración de FCM
Guardar y continuar
Preguntas frecuentes
¿Cómo verifico los permisos de mi Service Account? \
Los permisos del Service Account se gestionan en Google Cloud Console, no en la consola de Firebase. El Service Account cuya clave privada carga en OneSignal debe tener ambos:cloudmessaging.messages.create— otorgado por Firebase Cloud Messaging API Admin (roles/firebasecloudmessaging.admin).firebase.projects.get— otorgado por Firebase Viewer (roles/firebase.viewer).
roles/firebase.admin), Editor u Owner también incluyen ambos permisos y cumplen con el requisito. Para Service Accounts dedicados solo a OneSignal, prefiera el par estrecho mencionado arriba para limitar el impacto si la clave privada llega a exponerse.
Si el panel de OneSignal muestra Invalid request después de cargar su clave privada de Service Account, la causa más común son los roles faltantes.
Abrir IAM en Google Cloud Console
Encontrar su Service Account
client_email en su clave privada cargada.Agregar cualquier rol faltante
Guardar
¿Por qué veo “This configuration is for a different Firebase Project”?
Este error ocurre cuando la clave privada cargada pertenece a un proyecto de Firebase diferente (un Sender ID diferente). Solución: Use la clave privada del proyecto de Firebase original. Si no está disponible, contacte asupport@onesignal.com con su App ID. Cambiar de proyectos restablece los tokens de push. Sus usuarios deben volver a abrir la aplicación para recibir push nuevamente.
¿Puedo cambiar mi Sender ID?
Sí, pero afectará a sus usuarios existentes. Los tokens de dispositivo están vinculados al Sender ID original. Cambiarlo invalidará los tokens existentes. Si necesita ayuda, contacte asupport@onesignal.com con su App ID.
¿Por qué no veo un Sender ID en OneSignal?
Si su clave de servidor de Firebase se ve comoAIz..., probablemente esté usando una configuración obsoleta de Google Cloud Messaging (GCM). Cree un nuevo proyecto de Firebase y cargue una clave privada de Service Account.
¿Necesito actualizar mi código al cambiar a FCM V1?
No se requieren cambios en la aplicación ni en el SDK. Esta es una actualización solo del panel.¿Cuál es la fecha límite para cambiar a FCM V1?
Las API heredadas de FCM de Google ahora están completamente deprecadas. Si aún está usando las API heredadas, debe migrar a FCM V1 de inmediato.¿Cómo puedo verificar qué aplicaciones aún usan la API heredada?
Llame a la API View an app para cada aplicación y verifique el campofcm_v1_service_account_json en la respuesta:
- Presente y no vacío: la aplicación está en FCM V1.
- Faltante o vacío: la aplicación no está configurada para FCM V1. Si la aplicación envía push de Android, aún está en la API heredada y debe migrarse.