Saltar al contenido

La notificación de inserción de sonido personalizado no funciona (Flutter)

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

"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 notificación también. De todas formas .mp3 no es un formato de archivo de notificación APN válido y debe especificar también 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 envíe la notificación. Puede empaquetar los datos de audio en un archivo aiff, wav o caf. Debido a que son reproducidos por la funció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, en su lugar se reproduce el sonido del sistema predeterminado.

Puedes usar el afconvert herramienta para convertir sonidos. Por ejemplo, para convertir el sonido del sistema PCM lineal de 16 bits Submarine.aiff para IMA4
audio en un CAF file, use el siguiente comando en la aplicación Terminal:

afconvert /System/Library/Sounds/Submarine.aiff ~/Desktop/sub.caf -d ima4 -f caff -v

Para que exampole convierta su mp3 archivar en un caf archivo que puede escribir en la terminal:

afconvert -f caff -d LEI16 alarm.mp3 alarm.caf

Lea este documento para conocer en profundidad todos los campos de carga útil de notificación genéricos y específicos.

ACTUALIZAR

Probé la parte de Android y puedo confirmar que al 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"
 }
}

ingrese la descripción de la imagen aquí

También probé 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 payload con el nombre de archivo diferente 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.

ingrese la descripción de la imagen aquí

Eso funciona si la aplicación se cierra o está en segundo plano.

Si desea mostrar una alerta y reproducir un sonido cuando la aplicación está en primer plano, debe administrarla 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 de desarrollo (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 a favor de probar el último complemento.

Gracias a todos

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *