Te damos el arreglo a esta preocupación, al menos eso deseamos. Si sigues con alguna pregunta dínoslo, que sin pensarlo
Solución:
Al leer esto, parece que debería administrarse automáticamente (si no usó un generador de notificaciones) en Android, pero debe especificar el .mp3
extensión también y ponerlo dentro notification
campo y no data
una..
"sound": "alarm.mp3"
iOS
se comporta de manera muy diferente debajo del capó, pero puede usar un sonido personalizado configurando el sound:
campo en la carga útil de la notificación también. De todos modos .mp3
no es un formato de archivo de notificación APN válido y también debe especificar la extensión del archivo.
"sound": "filename.caf"
Siga la documentación de Apple para crear su archivo de sonido personalizado para su aplicación.
mp3 no es un formato válido
Preparación de sonidos de alerta personalizados
Las notificaciones locales y remotas pueden especificar sonidos de alerta personalizados que se reproducirán cuando se entregue la notificación. Puede empaquetar los datos de audio en un archivo aiff, wav o caf. Debido a que los reproduce la instalación de sonido del sistema, los sonidos personalizados deben estar en uno de los siguientes formatos de datos de audio:
Linear PCM
MA4 (IMA/ADPCM)
µLaw
aLaw
Coloque archivos de sonido personalizados en su
app bundle
o en el
Library/Sounds
carpeta del directorio contenedor de su aplicación. Los sonidos personalizados deben ser menos de 30 segundos cuando se juega Si un sonido personalizado supera ese límite, se reproduce el sonido predeterminado del sistema.Puedes usar el
afconvert
herramienta para convertir sonidos. Por ejemplo, para convertir el sonido del sistema PCM lineal de 16 bitsSubmarine.aiff
aIMA4
sonido en unCAF file
use el siguiente comando en la aplicación Terminal:afconvert /System/Library/Sounds/Submarine.aiff ~/Desktop/sub.caf -d ima4 -f caff -v
Por ejemplo, para convertir su mp3
archivo en un caf
archivo que podría escribir en la terminal:
afconvert -f caff -d LEI16 alarm.mp3 alarm.caf
Lea este documento para tener un conocimiento profundo de todos los campos de carga útil de notificación genéricos y específicos.
ACTUALIZAR
He probado la parte de Android y puedo confirmar que poner tu .mp3
presentar en res/raw/
carpeta, el sonido se reproduce según lo documentado y esperado.
Esa es mi carga útil de notificación:
"to" : "my_device_token",
"collapse_key" : "type_a",
"priority" : "high",
"notification" :
"body" : "Test Notification body for custom sound datestamp",
"title": "Custom sound alert.mp3",
"sound": "alert.mp3"
He probado también la versión de iOS después de convertir .mp3
archivo a .caf
archivo de esa manera:
afconvert -f caff -d LEI16 alert.mp3 alert.caf
lo mismo json
carga útil con los diferentes nombres de archivo funciona:
"to" : "my_device_token",
"collapse_key" : "type_a",
"priority" : "high",
"notification" :
"body" : "Test Notification body for custom sound datestamp",
"title": "Custom sound alert.mp3",
"sound": "alert.caf"
Recuerde agregar el archivo en su main bundle
.
Eso funciona si la aplicación está cerrada o en segundo plano.
Si desea mostrar una alerta y reproducir un sonido cuando la aplicación está en primer plano, debe administrarlo en onMessage
evento como alguien ya le ha dicho aquí, o puede usar un canal de plataforma aquí para crear su propia notificación con un Notification.Builder en Android y un UNNotificationCenter en iOS (por ejemplo).
ACTUALIZAR
Este problema ha sido resuelto. Vea aquí el comentario oficial:
oigan todos
Como parte de nuestra hoja de ruta (#2582), acabamos de enviar una revisión completa del complemento firebase_messaging que tiene como objetivo resolver este y muchos otros problemas.
Si puede, pruebe la versión para desarrolladores (consulte la guía de migración para actualizaciones y cambios) y, si tiene algún comentario, únase a la discusión aquí.
Dado el alcance de la revisión, seguiré adelante y cerraré este problema para probar el último complemento.
Gracias a todos