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

# Sons de notification

> Ajoutez des sons de notification personnalisés aux apps iOS, Android, Huawei et Amazon — incluant les formats de fichiers, la configuration du SDK et les paramètres d'API.

Les sons personnalisés vous permettent de fournir une expérience plus unique et de marque dans votre application. Vous pouvez ajouter un son personnalisé à chaque notification ou uniquement à certains types. Par exemple, une application sociale peut jouer un son distinctif uniquement pour les messages directs afin de les différencier des notifications système.

<Warning>
  Pour les applications mobiles uniquement. Les sons personnalisés ne sont pas pris en charge sur le push web.
</Warning>

## Configuration

### Créer des fichiers audio

Créez des fichiers audio en suivant les exigences de plateforme ci-dessous. Si l'appareil ne peut pas trouver le fichier spécifié ou si le format de fichier n'est pas pris en charge, il reviendra au son de notification système par défaut.

<Note>
  Gardez les noms de fichiers audio en minuscules car certaines plateformes ignorent les lettres majuscules pour les fichiers audio. Au lieu de `AwesomeSound.wav` utilisez `awesomesound.wav` ou `awesome_sound.wav`.
</Note>

| Plateforme | Extensions            | Notes                                                                                                                                             |
| ---------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| iOS        | `.wav` `.aiff` `.caf` | Les sons doivent être encodés en Linear PCM, MA4 (IMA/ADPCM), µLaw, ou aLaw. Doivent durer moins de 30 secondes.                                  |
| Android    | `.wav` `.mp3` `.ogg`  | Durée recommandée inférieure à 30 secondes. Gardez la taille du fichier petite, les gros fichiers peuvent ne pas être lus sur certains appareils. |
| Huawei     | `.wav` `.mp3` `.wma`  | Durée recommandée inférieure à 30 secondes. Gardez la taille du fichier petite, les gros fichiers peuvent ne pas être lus sur certains appareils. |
| Amazon     | `.wav` `.mp3` `.ogg`  | Durée recommandée inférieure à 30 secondes. Gardez la taille du fichier petite, les gros fichiers peuvent ne pas être lus sur certains appareils. |

### Ajouter des fichiers audio à votre application

Les fichiers audio doivent être inclus en tant que ressources dans votre application. Les URL externes ne sont pas prises en charge.

<Tabs>
  <Tab title="iOS">
    Ajoutez des fichiers audio à l'emplacement approprié dans votre projet Xcode en fonction de votre SDK.

    | SDK            | Dossier                                                                                                                                                                                                |
    | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
    | iOS Native     | Ajoutez les fichiers à la racine du projet Xcode. Assurez-vous que **Add to targets** est sélectionné lors de l'ajout de fichiers afin qu'ils soient automatiquement ajoutés aux ressources du bundle. |
    | Cordova, Ionic | Ajoutez les fichiers au répertoire `Resources` dans le projet Xcode dans `<project-root>/platforms/ios/project-name.xcodeproj`.                                                                        |
    | Unity          | Ajoutez des sons n'importe où dans votre projet Unity, compilez votre projet, puis déplacez ces sons à la racine du projet Xcode.                                                                      |
  </Tab>

  <Tab title="Android, Huawei et Amazon">
    Ajoutez des fichiers audio au dossier approprié dans votre projet en fonction de votre SDK. **Si le dossier n'existe pas, créez-le.**

    | SDK                            | Dossier                                                                                                                                                                               |
    | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | Android, Huawei, Amazon Native | `res/raw`                                                                                                                                                                             |
    | React Native                   | `<project-root>/android/app/src/main/res/raw`                                                                                                                                         |
    | Cordova                        | `<project-root>/platforms/android/res/raw/`                                                                                                                                           |
    | Ionic                          | `/android/app/src/main/res/raw/`                                                                                                                                                      |
    | Unity                          | `Assets/Plugins/Android/OneSignalConfig/res/raw` *NOTE: Vos noms de fichiers audio et d'icône doivent être en minuscules et ne peuvent contenir que des underscores et des chiffres.* |
    | Flutter                        | `main/res/raw`                                                                                                                                                                        |
    | .NET                           | `<project-root>/Platforms/Android/Resources/raw/`                                                                                                                                     |
  </Tab>
</Tabs>

### Envoyer des notifications

<Tabs>
  <Tab title="iOS">
    Incluez l'extension de fichier lors du référencement de la ressource audio (p. ex., `explode_sound.wav`). Définissez le son dans le tableau de bord lors de l'envoi de messages push ou utilisez la propriété `ios_sound` de l'API [Créer une notification](/reference/create-message).

    Pour aucun son, passez `nil` au champ **Sound**.

    <Frame caption="Configuration d'un son personnalisé pour iOS dans le tableau de bord OneSignal.">
      <img src="https://mintcdn.com/onesignal/6tscVAtiSqz353kV/images/docs/a05af7e-Screenshot_2023-02-28_at_3.16.55_PM.png?fit=max&auto=format&n=6tscVAtiSqz353kV&q=85&s=9d33c9837ac9f67b0d6c6a7a87d03212" alt="OneSignal dashboard push composer showing the iOS Sound field" width="423" height="606" data-path="images/docs/a05af7e-Screenshot_2023-02-28_at_3.16.55_PM.png" />
    </Frame>
  </Tab>

  <Tab title="Android, Huawei et Amazon">
    Android 8+ a introduit les [Catégories de notification](./android-notification-categories) qui doivent être configurées pour personnaliser les sons de notification. OneSignal utilise le son configuré dans le canal de notification pour toutes les versions d'Android.

    Dans **Paramètres > Push & In-App > Canaux de notification Android**, créez le groupe et le canal.

    <Frame caption="Création d'un canal de notification.">
      <img src="https://mintcdn.com/onesignal/tc0EvmtSSX56SX0c/images/docs/8f39237-Screenshot_2023-02-28_at_3.11.52_PM.png?fit=max&auto=format&n=tc0EvmtSSX56SX0c&q=85&s=b18a97c1706dde194bd4e5c13cd9f593" alt="OneSignal dashboard showing the notification channel creation form" width="877" height="487" data-path="images/docs/8f39237-Screenshot_2023-02-28_at_3.11.52_PM.png" />
    </Frame>

    * Définissez **Importance** sur "Urgent" ou "High" pour jouer un son.
    * Définissez **Sound** sur "Default" ou "Custom" selon vos besoins. **N'ajoutez pas** l'extension de fichier lors du référencement de la ressource audio (p. ex., `cat_meow_sound`).
    * Pour aucun son, définissez **Importance** sur "Urgent" ou "High" et **Sound** sur "Off". Ou définissez **Importance** sur "Medium" ou "Low" pour aucun son.

    <Frame caption="Configuration du son pour un canal de notification.">
      <img src="https://mintcdn.com/onesignal/KSCNwSpBCNSQ8xdF/images/docs/f7950b6-Screenshot_2023-02-28_at_3.11.03_PM.png?fit=max&auto=format&n=KSCNwSpBCNSQ8xdF&q=85&s=88d88df41d360b190b4c083709e8119c" alt="OneSignal notification channel settings showing sound configuration options" width="429" height="498" data-path="images/docs/f7950b6-Screenshot_2023-02-28_at_3.11.03_PM.png" />
    </Frame>

    Vous pouvez ensuite définir le nom de catégorie dans le tableau de bord lors de l'envoi de messages push ou utiliser les propriétés `android_channel_id` et `huawei_channel_id` de l'API [Créer une notification](/reference/create-message). Le son configuré dans la catégorie fonctionne pour toutes les versions d'Android.

    <Frame caption="Sélection de la catégorie de notification dans le compositeur push.">
      <img src="https://mintcdn.com/onesignal/jFWn5xzleD8du3j6/images/docs/5e8625c-Screenshot_2023-02-28_at_3.15.19_PM.png?fit=max&auto=format&n=jFWn5xzleD8du3j6&q=85&s=c02f9a68fcb73b913a1de93e01d0f4aa" alt="OneSignal push composer showing the notification category dropdown" width="423" height="517" data-path="images/docs/5e8625c-Screenshot_2023-02-28_at_3.15.19_PM.png" />
    </Frame>
  </Tab>

  <Tab title="API REST">
    Vous pouvez envoyer des notifications avec des sons via l'API REST en utilisant le paramètre approprié pour chaque plateforme. Consultez la [référence de l'API Create Notification](/reference/push-notification) pour tous les détails.

    | Plateforme | Paramètre API                                                                                                                                                                                                                                   | Détails                                                                                                     |
    | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
    | iOS        | `ios_sound`                                                                                                                                                                                                                                     | Incluez l'extension de fichier. Exemple : `"ios_sound": "explode_sound.wav"`. Pour aucun son, passez `nil`. |
    | Android    | `android_channel_id` — Utilisez si vous avez créé le canal dans le tableau de bord OneSignal via [Catégories de notification](./android-notification-categories). `existing_android_channel_id` — Utilisez si vous avez créé le canal ailleurs. | L'utilisation des [Catégories de notification](./android-notification-categories) est recommandée.          |
    | Huawei     | `huawei_channel_id` — Utilisez si vous avez créé le canal dans le tableau de bord OneSignal via [Catégories de notification](./android-notification-categories). `huawei_existing_channel_id` — Utilisez si vous avez créé le canal ailleurs.   | L'utilisation des [Catégories de notification](./android-notification-categories) est recommandée.          |
    | Amazon     | `adm_sound`                                                                                                                                                                                                                                     | N'incluez pas l'extension de fichier. Exemple : `"adm_sound": "explode_sound"`.                             |
  </Tab>
</Tabs>

<Warning>
  Si vous avez récemment ajouté une ressource audio à votre application, envisagez d'attendre quelques jours avant d'envoyer des notifications qui l'utilisent. Il peut falloir des jours ou des semaines pour que la plupart des utilisateurs mettent à jour vers la dernière version de l'application contenant le nouveau fichier audio.

  Si un utilisateur dispose d'une version plus ancienne sans la ressource audio et reçoit une notification qui la référence, il n'entendra que le son de notification système par défaut.
</Warning>

***

## FAQ

### Puis-je définir un son par défaut ?

Utilisez un [Modèle](./templates) qui référence le son et/ou le canal de notification Android. Chaque notification envoyée avec ce modèle utilisera automatiquement le son configuré.

### Puis-je envoyer différents sons de notification à différents utilisateurs ?

Les paramètres `ios_sound` et `android_channel_id` sont au niveau de la requête — ils s'appliquent à **tous** les destinataires de cet appel API. Vous ne pouvez pas spécifier différents sons pour différents utilisateurs dans une seule requête.

Pour envoyer différents sons à différents utilisateurs, utilisez un **modèle fan-out** : effectuez des appels API séparés pour chaque variante de son, en ciblant les utilisateurs par étiquette ou segment. Par exemple, stockez le son préféré de chaque utilisateur dans une [étiquette](./add-user-data-tags) comme `preferred_sound`, puis envoyez une requête par valeur de son.

<CodeGroup>
  ```json Request 1 — "chime" users theme={null}
  {
    "app_id": "YOUR_APP_ID",
    "contents": {"en": "You have a new message!"},
    "ios_sound": "chime.wav",
    "android_channel_id": "CHIME_CHANNEL_ID",
    "include_filters": [
      {"field": "tag", "key": "preferred_sound", "relation": "=", "value": "chime"}
    ]
  }
  ```

  ```json Request 2 — "bell" users theme={null}
  {
    "app_id": "YOUR_APP_ID",
    "contents": {"en": "You have a new message!"},
    "ios_sound": "bell.wav",
    "android_channel_id": "BELL_CHANNEL_ID",
    "include_filters": [
      {"field": "tag", "key": "preferred_sound", "relation": "=", "value": "bell"}
    ]
  }
  ```
</CodeGroup>

Chaque requête cible uniquement les utilisateurs dont l'étiquette `preferred_sound` correspond, de sorte que chaque groupe entend son propre son. Ajoutez autant de variantes que nécessaire — un appel API par son.

### Pourquoi ma notification ne joue-t-elle pas le fichier audio personnalisé ?

Il y a quelques causes courantes :

* Le fichier audio a une extension de fichier incorrecte
* Le fichier audio n'est pas encodé dans un format pris en charge
* Le fichier audio est au mauvais emplacement dans le projet
* Le fichier audio dépasse 30 secondes

**iOS** — En savoir plus dans la [documentation d'Apple](https://developer.apple.com/documentation/usernotifications/unnotificationsound?language=objc) pour les conseils d'encodage et de test.

**Android** — Vérifiez que le fichier audio est inclus dans votre APK en l'extrayant et en confirmant qu'il existe dans `res/raw/`.

Si la réduction des ressources est activée, protégez les fichiers audio de la suppression en créant `keep.xml` dans `res/raw/` :

```xml theme={null}
<resources xmlns:tools="http://schemas.android.com/tools"
  tools:keep="@raw/sound_file"/>
```

### Pourquoi ma notification joue-t-elle le fichier audio par défaut ?

Assurez-vous d'avoir suivi les instructions de configuration et que le fichier audio est au bon emplacement pour votre SDK. Vérifiez la casse du nom de fichier — certaines plateformes ignorent les majuscules.

### Pourquoi le mauvais son est-il joué ?

Sur Android, les notifications sont regroupées après qu'un certain nombre ont été reçues sans être ouvertes. Les notifications regroupées jouent un son par défaut. Vous pouvez définir le son avec la [clé de groupe](https://developer.android.com/training/notify-user/group) pour toutes vos notifications.

***

## Pages connexes

<Columns cols={2}>
  <Card title="Catégories de notification" icon="layer-group" href="./android-notification-categories">
    Configurez les canaux de notification Android pour contrôler le son, la vibration et l'importance.
  </Card>

  <Card title="Modèles" icon="file-lines" href="./templates">
    Créez des modèles de notification réutilisables avec des sons prédéfinis.
  </Card>

  <Card title="API Create Notification" icon="code" href="/reference/push-notification">
    Référence API pour les paramètres ios\_sound, android\_channel\_id et adm\_sound.
  </Card>

  <Card title="Icônes de notification" icon="image" href="./notification-icons">
    Personnalisez les icônes de notification pour votre application mobile.
  </Card>
</Columns>
