Passer au contenu principal
Pour envoyer des notifications push aux utilisateurs qui téléchargent votre application Android depuis le Google Play Store, vous devez créer et téléverser une clé privée de compte de service Firebase Cloud Messaging (FCM) vers OneSignal.
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


Créer une clé privée de compte de service Firebase \

1

Créer ou ouvrir votre projet Firebase

Accédez à votre console Firebase et créez ou sélectionnez un projet.
Console Firebase affichant la liste des projets disponibles
2

Activer l'API Firebase Cloud Messaging V1

Dans Project settings, sélectionnez l’onglet Cloud Messaging.
Paramètres du projet Firebase affichant l'onglet Cloud Messaging avec le statut de l'API Firebase Cloud Messaging (V1) sur Enabled
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 ».
Page de l'API Firebase Cloud Messaging de la Google Cloud Console affichant le statut API Enabled avec une coche verte
C’est un bon moment pour vérifier si votre compte de service Firebase possède les autorisations requises :
  • cloudmessaging.messages.create
  • firebase.projects.get
Les projets Firebase nouvellement créés ont généralement ces autorisations sur le compte de service par défaut. Vérifiez avant de continuer si vous n’êtes pas sûr ou si vous travaillez avec un projet plus ancien. Consultez Comment vérifier les autorisations de mon compte de service ? pour plus de détails.
3

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.
Onglet Service accounts dans les paramètres du projet Firebase affichant le bouton Generate new private key
Confirmez en cliquant sur Generate key dans la fenêtre contextuelle.
Boîte de dialogue de confirmation Firebase pour générer une nouvelle clé privée pour le compte de service
La clé privée téléchargée contient des identifiants sensibles. Ne la partagez pas et ne la versionnez pas.
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 :
1

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é).
Paramètres OneSignal Push & In-App affichant l'onglet Platforms avec la vignette Google Android (FCM) et un bouton Settings
2

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.
Écran de configuration Google Android (FCM) de OneSignal avec le champ de téléversement de fichier Service Account JSON et le bouton Select file
3

Enregistrer et continuer

Cliquez sur Save & Continue. OneSignal valide la clé privée et vous fait passer à l’étape suivante du flux de configuration, où vous sélectionnez votre SDK.
Si le tableau de bord affiche Invalid request ou d’autres erreurs, il est probable que votre compte de service ne dispose pas d’un ou plusieurs rôles requis. Consultez Comment vérifier les autorisations de mon compte de service ?.
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).
Des rôles plus larges comme Firebase Admin (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.
1

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.
2

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.
3

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é.
4

Enregistrer

Cliquez sur Save. Les modifications IAM peuvent prendre une minute pour être appliquées.

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, contactez support@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.
Les utilisateurs cesseront de recevoir des notifications push jusqu’à ce qu’ils rouvrent l’application et génèrent de nouveaux jetons.
Si vous avez besoin d’aide, contactez support@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 champ fcm_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.
Pour lister d’abord vos applications et leurs App IDs, utilisez l’API View apps.

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.