Comment utiliser un son personnalisé pour les notifications Push?
Selon mes recherches et mes lectures, j’ai constaté que la charge utile devrait porter un nom de fichier qui se trouve dans l’ensemble d’applications ou dans le dossier Library/Sounds du conteneur de données de l’application.
Comment mettre le fichier là-bas?
Suivez documentation Apple pour préparer un fichier son personnalisé pour votre application.
Pour les notifications à distance dans iOS, vous pouvez spécifier un son personnalisé qu'IOS lit lorsqu'il présente une notification locale ou à distance pour une application. Les fichiers audio peuvent se trouver dans l’ensemble principal de l’application client ou dans le dossier Bibliothèque/Sons du conteneur de données de l’application.
Les sons d'alerte personnalisés sont lus par le système audio iOS, ils doivent donc être dans l'un des formats de données audio suivants:
PCM linéaire MA4 (IMA/ADPCM) µLaw aLaw Vous pouvez regrouper les données audio dans un fichier aiff, wav ou caf. Ensuite, dans Xcode, ajoutez le fichier audio à votre projet en tant que ressource non localisée de l’ensemble d’applications ou dans le dossier Library/Sounds de votre conteneur de données.
Vous pouvez utiliser l'outil afconvert pour convertir des sons. Par exemple, pour convertir le son du système PCM linéaire 16 bits Submarine.aiff en audio IMA4 dans un fichier CAF, utilisez la commande suivante dans l'application Terminal:
afconvert /System/Library/Sounds/Submarine.aiff ~/Desktop/sub.caf -d ima4 -f caff -v Vous pouvez inspecter un son pour déterminer son format de données en l'ouvrant dans QuickTime Player et en choisissant Afficher l'inspecteur de film à partir du film. menu.
Les sons personnalisés doivent durer moins de 30 secondes lors de la lecture. Si un son personnalisé dépasse cette limite, le son système par défaut est joué.
Une fois que vous avez créé le fichier, le moyen le plus simple consiste à le placer dans un ensemble d'applications.
Lorsque vous envoyez une notification Push, il vous suffit d'ajouter le nom du fichier dans la charge JSON. Exemple:
{
"aps" : {
"alert" : "You got your emails.",
"badge" : 9,
"sound" : "bingbong.aiff"
}
}
C'est ça! Vous n'avez rien de spécial à faire dans le code de l'application.
Modifier:
Veuillez placer le fichier dans votre groupe de projet (c'est-à-dire dans la hiérarchie du projet) et avoir Copy items if needed
option sélectionnée en glissant-déposant. La partie noircie porte le nom du projet.
Votre administrateur de serveur vous enverra le nom du son dans le contenu de notification. La charge utile ressemblera à ceci
{
aps =
{
alert = "notification message";
sound = "example.caf";
};
}
Vous devez ajouter un fichier son au bundle d'applications. Et le format devrait être .caf. Pour convertir votre fichier son au format .caf, essayez d’exécuter cette commande dans le terminal.
afconvert -f caff -d aacl@22050 -c 1 sound.aiff soundFileName.caf
Le fichier est enregistré sur le bureau. Maintenant, faites glisser et déposez votre fichier dans votre projet. Puis sélectionnez la phase de construction dans les cibles.
Vérifiez si votre fichier audio existe sous "Copier les ressources de l’ensemble". Sinon, cliquez sur le bouton + pour ajouter votre fichier audio. Le nom du son dans la charge utile doit être identique à celui de votre fichier son.
Vous êtes maintenant prêt à jouer un son de notification personnalisé.