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.
Pour les applications mobiles uniquement. Les sons personnalisés ne sont pas pris en charge sur le push web.
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.
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.
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.
Les fichiers audio doivent être inclus en tant que ressources dans votre application. Les URL externes ne sont pas prises en charge.
iOS
Android, Huawei et Amazon
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.
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/rawNOTE: Vos noms de fichiers audio et d’icône doivent être en minuscules et ne peuvent contenir que des underscores et des chiffres.
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.Pour aucun son, passez nil au champ Sound.
Configuration d'un son personnalisé pour iOS dans le tableau de bord OneSignal.
Android 8+ a introduit les Catégories de notification 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.
Création d'un canal de notification.
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.
Configuration du son pour un canal de notification.
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. Le son configuré dans la catégorie fonctionne pour toutes les versions d’Android.
Sélection de la catégorie de notification dans le compositeur push.
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 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. existing_android_channel_id — Utilisez si vous avez créé le canal ailleurs.
huawei_channel_id — Utilisez si vous avez créé le canal dans le tableau de bord OneSignal via Catégories de notification. huawei_existing_channel_id — Utilisez si vous avez créé le canal ailleurs.
N’incluez pas l’extension de fichier. Exemple : "adm_sound": "explode_sound".
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.
Utilisez un Modèle 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 comme preferred_sound, puis envoyez une requête par valeur de son.
{ "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"} ]}
{ "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"} ]}
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 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/ :
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.
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 pour toutes vos notifications.