web-dev-qa-db-fra.com

La notification Push-Sound personnalisée ne fonctionne pas (battant)

{
  "to": "XXXX",
  "notification": {
    "title": "ASAP Alert",
    "body": "Please open your app"
  },
  "data": {
    "screen": "/Nexpage1",
    "sound": "alarm",
    "click_action": "FLUTTER_NOTIFICATION_CLICK"
  }
}

Ci-dessus est ma charge utile pour la notification push. J'ai insérer le fichier alarm.mp3 dans le dossier RAW, mais cela ne me donne toujours pas le son d'alarme, j'ai essayé d'alarme.mp3 aussi, y a-t-il quelque chose de mal avec le JSON? de celui-ci à cause du code sur mon fichier dard?

here's the mp3 file inside the raw file

8
ali

Pour moi, j'utilise le flutter_local_notifications pour créer le canal de notification.

inclure cette fonction (peut créer plusieurs canaux de notification)

Future<void> _createNotificationChannel(String id, String name,
String description, String sound) async {
final flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin();
var androidNotificationChannel = AndroidNotificationChannel(
  id,
  name,
  description,
  sound: RawResourceAndroidNotificationSound(sound),
  playSound: true,
);

await flutterLocalNotificationsPlugin
    .resolvePlatformSpecificImplementation<
    AndroidFlutterLocalNotificationsPlugin>()
    ?.createNotificationChannel(androidNotificationChannel);}

appelez la fonction dans InitState: (Ceci crée 2 canaux de notification)

_createNotificationChannel("channel_id_1", "channel_name", "description", "alert");
_createNotificationChannel("channel_id_2", "channel_name", "description", "alarm");

N'oubliez pas de sauvegarder le fichier de alert et alarm dans le res/raw au format de fichier de .mp3.

avec cette charge utile:

{
"notification": {
    "title": "My First Notification",
    "body": "Hello, I'm Push notification"
},
"data": {
    "title": "My First Notification"
},
"Android": {
    "notification": {
        "channel_id": "channel_id_1"
    }
},
"to": "device_token"}
1
HitomiHoshi

Shadowsheep a fait un bon travail pour répondre à cette question, mais une chose que je veux clarifier pour essayer de faire fonctionner les sons ios.

Vous devez ajouter le son en Xcode (qui est là où Shadowsheep parle d'inclusion de l'actif à l'intérieur du main bundle). Vous pouvez simplement faire glisser et déposer le fichier audio (dans .caf ou autre format pris en charge mentionné ci-dessus) dans le répertoire racine (généralement appelé Runner pour Flutter) dans Xcode:

Xcode Image

Si vous l'avez fait et suivez la configuration décrite dans la question/réponse ci-dessus, vous devriez être en affaires.

0
J. Saw