Ces instructions ne s’appliquent pas à :
- Web Push. Les appareils Android peuvent s’abonner à votre site web ou PWA sans compte de service FCM. Voir Configuration du push web.
- Applications Huawei distribuées via la Huawei App Gallery. Voir Autorisation Huawei.
Prérequis
- Une application Android distribuée via le Google Play Store
- Un compte OneSignal
- Un compte Firebase (gratuit)
- Une clé privée de compte de service Firebase avec les autorisations
cloudmessaging.messages.createetfirebase.projects.get- Si vous n’en avez pas, suivez les étapes pour créer une clé privée de compte de service Firebase
- Si vous avez déjà une clé privée, vérifiez les autorisations existantes
Créer une clé privée de compte de service Firebase \
Créer ou ouvrir votre projet Firebase
Accédez à votre console Firebase et créez ou sélectionnez un projet.

Activer l'API Firebase Cloud Messaging V1
Dans Project settings, sélectionnez l’onglet Cloud Messaging.
Vérifiez le statut de l’API Firebase Cloud Messaging (V1) :

- S’il affiche Enabled (coche verte), passez à l’étape suivante.
- S’il affiche Disabled, cliquez sur le menu à 3 points > Manage API in Google Cloud Console. Dans la Google Cloud Console, cliquez sur Enable et attendez que la coche verte apparaisse avec « API Enabled ».

C’est un bon moment pour vérifier si votre compte de service Firebase possède les autorisations requises :
cloudmessaging.messages.createfirebase.projects.get
Générer une nouvelle clé privée
De retour dans Project settings, sélectionnez l’onglet Service accounts et cliquez sur Generate new private key.
Confirmez en cliquant sur Generate key dans la fenêtre contextuelle.
Enregistrez le fichier


.json dans un emplacement sécurisé. Vous en aurez besoin dans la section suivante.Téléverser la clé privée du compte de service vers OneSignal
Dans votre tableau de bord OneSignal :Ouvrir les paramètres Android
Accédez à Settings > Push & In-App > Platforms > Google Android (FCM).Cliquez sur Activate (configuration initiale) ou Settings (si Android est déjà configuré).

Téléverser votre clé privée de compte de service
Cliquez sur Select file et choisissez la clé privée 
.json que vous avez enregistrée dans la section précédente.
Votre application OneSignal est désormais connectée à Firebase Cloud Messaging (V1). Ensuite, suivez la Configuration du SDK mobile pour le SDK que vous utilisez afin d’installer et d’initialiser OneSignal dans votre application.
FAQ
Comment vérifier les autorisations de mon compte de service ? \
Les autorisations du compte de service sont gérées dans la Google Cloud Console, pas dans la console Firebase. Le compte de service dont vous téléversez la clé privée vers OneSignal doit posséder les deux :cloudmessaging.messages.create— accordé par Firebase Cloud Messaging API Admin (roles/firebasecloudmessaging.admin).firebase.projects.get— accordé par Firebase Viewer (roles/firebase.viewer).
roles/firebase.admin), Editor ou Owner incluent également les deux autorisations et remplissent l’exigence. Pour les comptes de service dédiés uniquement à OneSignal, préférez la paire restreinte ci-dessus pour limiter l’impact si la clé privée venait à être exposée.
Si le tableau de bord OneSignal affiche Invalid request après le téléversement de votre clé privée de compte de service, les rôles manquants en sont la cause la plus courante.
Ouvrir IAM dans la Google Cloud Console
Connectez-vous à Google Cloud Console, sélectionnez le projet lié à votre application Firebase et accédez à IAM & Admin > IAM.
Trouver votre compte de service
Faites correspondre l’e-mail du principal au champ
client_email de votre clé privée téléversée.Ajouter les rôles manquants
Cliquez sur l’icône en forme de crayon (modifier), puis sur Add another role pour ajouter l’un des rôles s’il n’est pas déjà attribué.
Pourquoi est-ce que je vois « This configuration is for a different Firebase Project » ?
Cette erreur se produit lorsque la clé privée téléversée appartient à un projet Firebase différent (un Sender ID différent). Solution : Utilisez la clé privée du projet Firebase d’origine. Si elle n’est pas disponible, contactezsupport@onesignal.com avec votre App ID. Changer de projet réinitialise les jetons push. Vos utilisateurs doivent rouvrir l’application pour recevoir à nouveau des notifications push.
Puis-je changer mon Sender ID ?
Oui, mais cela aura un impact sur vos utilisateurs existants. Les jetons d’appareil sont liés au Sender ID d’origine. Le changer invalidera les jetons existants. Si vous avez besoin d’aide, contactezsupport@onesignal.com avec votre App ID.
Pourquoi ne vois-je pas de Sender ID dans OneSignal ?
Si votre clé de serveur Firebase ressemble àAIz..., vous utilisez probablement une configuration Google Cloud Messaging (GCM) obsolète. Créez un nouveau projet Firebase et téléversez une clé privée de compte de service.
Dois-je mettre à jour mon code lors du passage à FCM V1 ?
Aucune modification de l’application ou du SDK n’est requise. Il s’agit uniquement d’une mise à jour du tableau de bord.Quelle est la date limite pour passer à FCM V1 ?
Les API FCM héritées de Google sont désormais entièrement obsolètes. Si vous utilisez toujours les API héritées, vous devez migrer vers FCM V1 immédiatement.Comment puis-je vérifier quelles applications utilisent encore l’API héritée ?
Appelez l’API View an app pour chaque application et vérifiez le champfcm_v1_service_account_json dans la réponse :
- Présent et non vide : l’application utilise FCM V1.
- Manquant ou vide : l’application n’est pas configurée pour FCM V1. Si l’application envoie du push Android, elle utilise toujours l’API héritée et doit être migrée.
Qu’est-ce que Firebase Cloud Messaging et pourquoi OneSignal a-t-il besoin d’une clé privée de compte de service ? \
Firebase Cloud Messaging (FCM) est le service de Google pour la livraison de notifications push aux appareils Android. Un compte de service est une identité Google que OneSignal utilise pour s’authentifier auprès de votre projet Firebase, et sa clé privée est un fichier JSON qui prouve cette identité. Téléverser la clé privée autorise OneSignal à envoyer des notifications push via Firebase en votre nom. Pour plus de détails, consultez la documentation du compte de service de Google.Pages associées
Configuration du SDK mobile
Installez et initialisez le SDK OneSignal dans votre application Android.
Configuration du push mobile
Étapes de configuration spécifiques à Android, iOS et autres plateformes mobiles.
Configuration du push Huawei
Autorisez OneSignal à envoyer des notifications push aux applications Huawei distribuées via la Huawei App Gallery.
Configuration du push web
Configurez les notifications push pour les sites web.