> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Identifiants Firebase Android

> Configurez les identifiants du compte de service Firebase Cloud Messaging (FCM) dans OneSignal pour activer les notifications push Android pour les applications du Google Play Store.

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.

<Note>
  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](./web-push-setup).
  * **Applications Huawei distribuées via la Huawei App Gallery.** Voir [Autorisation Huawei](./authorize-onesignal-to-send-huawei-push).
</Note>

***

## Prérequis

* Une application Android distribuée via le Google Play Store
* Un [compte OneSignal](https://onesignal.com)
* Un [compte Firebase (gratuit)](https://firebase.google.com)
* Une clé privée de compte de service Firebase avec les autorisations `cloudmessaging.messages.create` et `firebase.projects.get`
  * Si vous n'en avez pas, suivez les étapes pour [créer une clé privée de compte de service Firebase](#create-a-firebase-service-account-private-key)
  * Si vous avez déjà une clé privée, [vérifiez les autorisations existantes](#how-do-i-check-my-service-account-permissions)

***

<h2 id="create-a-firebase-service-account-private-key">
  Créer une clé privée de compte de service Firebase \\
</h2>

<Steps>
  <Step title="Créer ou ouvrir votre projet Firebase">
    Accédez à votre [console Firebase](https://console.firebase.google.com/) et créez ou sélectionnez un projet.

    <Frame caption="Page des projets dans Firebase">
      <img src="https://mintcdn.com/onesignal/uWz0BIZj_JUi1RGq/images/mobile/firebase-projects.png?fit=max&auto=format&n=uWz0BIZj_JUi1RGq&q=85&s=aca8614ec0e40fc63fd71f3160098778" alt="Console Firebase affichant la liste des projets disponibles" width="2656" height="1780" data-path="images/mobile/firebase-projects.png" />
    </Frame>
  </Step>

  <Step title="Activer l'API Firebase Cloud Messaging V1">
    Dans **Project settings**, sélectionnez l'onglet **Cloud Messaging**.

    <Frame caption="Onglet Cloud Messaging dans les paramètres du projet Firebase">
      <img src="https://mintcdn.com/onesignal/uWz0BIZj_JUi1RGq/images/mobile/firebase-project-settings-cloud-messaging.png?fit=max&auto=format&n=uWz0BIZj_JUi1RGq&q=85&s=e877c1d0ca51b85b1f2e80418e0195c4" alt="Paramètres du projet Firebase affichant l'onglet Cloud Messaging avec le statut de l'API Firebase Cloud Messaging (V1) sur Enabled" width="2956" height="1140" data-path="images/mobile/firebase-project-settings-cloud-messaging.png" />
    </Frame>

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

    <Frame caption="API Firebase Cloud Messaging activée dans la Google Cloud Console">
      <img src="https://mintcdn.com/onesignal/uWz0BIZj_JUi1RGq/images/mobile/firebase-cloud-messaging-api-v1-enabled.png?fit=max&auto=format&n=uWz0BIZj_JUi1RGq&q=85&s=9239c8baa0659152d8aed6fc6af810a7" alt="Page de l'API Firebase Cloud Messaging de la Google Cloud Console affichant le statut API Enabled avec une coche verte" width="1616" height="750" data-path="images/mobile/firebase-cloud-messaging-api-v1-enabled.png" />
    </Frame>

    <Note>
      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 ?](#how-do-i-check-my-service-account-permissions) pour plus de détails.
    </Note>
  </Step>

  <Step title="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**.

    <Frame caption="Section des comptes de service dans Firebase">
      <img src="https://mintcdn.com/onesignal/uWz0BIZj_JUi1RGq/images/mobile/firebase-project-settings-service-accounts.png?fit=max&auto=format&n=uWz0BIZj_JUi1RGq&q=85&s=d0b4a6d7c84cd1a639b6de79c3789363" alt="Onglet Service accounts dans les paramètres du projet Firebase affichant le bouton Generate new private key" width="2978" height="1734" data-path="images/mobile/firebase-project-settings-service-accounts.png" />
    </Frame>

    Confirmez en cliquant sur **Generate key** dans la fenêtre contextuelle.

    <Frame caption="Générer la clé privée pour le compte de service.">
      <img src="https://mintcdn.com/onesignal/uWz0BIZj_JUi1RGq/images/mobile/firebase-generate-new-private-key.png?fit=max&auto=format&n=uWz0BIZj_JUi1RGq&q=85&s=6b3ca4145c180400cf80a434adbbc216" alt="Boîte de dialogue de confirmation Firebase pour générer une nouvelle clé privée pour le compte de service" width="1432" height="572" data-path="images/mobile/firebase-generate-new-private-key.png" />
    </Frame>

    <Warning>
      La clé privée téléchargée contient des identifiants sensibles. Ne la partagez pas et ne la versionnez pas.
    </Warning>

    Enregistrez le fichier `.json` dans un emplacement sécurisé. Vous en aurez besoin dans la section suivante.
  </Step>
</Steps>

***

## Téléverser la clé privée du compte de service vers OneSignal

Dans votre tableau de bord OneSignal :

<Steps>
  <Step title="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é).

    <Frame caption="Écran des plateformes dans les paramètres de l'application OneSignal">
      <img src="https://mintcdn.com/onesignal/uWz0BIZj_JUi1RGq/images/mobile/onesignal-push-platforms.png?fit=max&auto=format&n=uWz0BIZj_JUi1RGq&q=85&s=9b8af64aae3dd5fdcb715731710785ca" alt="Paramètres OneSignal Push & In-App affichant l'onglet Platforms avec la vignette Google Android (FCM) et un bouton Settings" width="2496" height="648" data-path="images/mobile/onesignal-push-platforms.png" />
    </Frame>
  </Step>

  <Step title="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.

    <Frame caption="Écran de configuration FCM">
      <img src="https://mintcdn.com/onesignal/uWz0BIZj_JUi1RGq/images/mobile/onesignal-fcm-configuration.png?fit=max&auto=format&n=uWz0BIZj_JUi1RGq&q=85&s=5fb6b977bf1517c453b1c0b0c9b57274" alt="É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" width="1780" height="702" data-path="images/mobile/onesignal-fcm-configuration.png" />
    </Frame>
  </Step>

  <Step title="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.

    <Warning>
      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 ?](#how-do-i-check-my-service-account-permissions).
    </Warning>
  </Step>
</Steps>

<Check>
  Votre application OneSignal est désormais connectée à Firebase Cloud Messaging (V1). Ensuite, suivez la [Configuration du SDK mobile](./mobile-sdk-setup) pour le SDK que vous utilisez afin d'installer et d'initialiser OneSignal dans votre application.
</Check>

***

## FAQ

<h3 id="how-do-i-check-my-service-account-permissions">
  Comment vérifier les autorisations de mon compte de service ? \\
</h3>

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.

<Steps>
  <Step title="Ouvrir IAM dans la Google Cloud Console">
    Connectez-vous à [Google Cloud Console](https://console.cloud.google.com/), sélectionnez le projet lié à votre application Firebase et accédez à **IAM & Admin > IAM**.
  </Step>

  <Step title="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.
  </Step>

  <Step title="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é.
  </Step>

  <Step title="Enregistrer">
    Cliquez sur **Save**. Les modifications IAM peuvent prendre une minute pour être appliquées.
  </Step>
</Steps>

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

<Warning>
  Les utilisateurs cesseront de recevoir des notifications push jusqu'à ce qu'ils rouvrent l'application et génèrent de nouveaux jetons.
</Warning>

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](/reference/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](/reference/view-apps).

<h3 id="what-is-firebase-cloud-messaging-and-why-does-onesignal-need-a-service-account-private-key">
  Qu'est-ce que Firebase Cloud Messaging et pourquoi OneSignal a-t-il besoin d'une clé privée de compte de service ? \\
</h3>

**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](https://cloud.google.com/iam/docs/service-account-overview).

***

## Pages associées

<Columns cols={2}>
  <Card title="Configuration du SDK mobile" icon="mobile-screen" href="./mobile-sdk-setup">
    Installez et initialisez le SDK OneSignal dans votre application Android.
  </Card>

  <Card title="Configuration du push mobile" icon="bell" href="./mobile-push-setup">
    Étapes de configuration spécifiques à Android, iOS et autres plateformes mobiles.
  </Card>

  <Card title="Configuration du push Huawei" icon="mobile" href="./authorize-onesignal-to-send-huawei-push">
    Autorisez OneSignal à envoyer des notifications push aux applications Huawei distribuées via la Huawei App Gallery.
  </Card>

  <Card title="Configuration du push web" icon="globe" href="./web-push-setup">
    Configurez les notifications push pour les sites web.
  </Card>
</Columns>
