Flutter Android FCM通知自定义声音不工作

unguejic  于 2023-10-22  发布在  Flutter
关注(0)|答案(1)|浏览(234)

我有两个应用程序-客户和餐厅
当客户下订单时,它的应用程序会向餐厅应用程序发送fcm通知,以通知新订单。通知进行得很好,这里的问题是声音,即使我添加了声音属性,它仍然在餐厅应用程序中播放通知的默认声音。
这是客户应用程序上的代码,在下订单时执行

var url = 'https://fcm.googleapis.com/fcm/send';
      var header = {
        "Content-Type": "application/json",
        "Authorization": "key=$SERVER_KEY",
      };
      var request = {
        "notification": {
          "title": title,
          "body": message,
          "sound": "order_notification_sound"// Tried with "order_notification_sound.mp3" also
        },
        "priority": "high",
        'data': <String, dynamic>{'id': '1', 'status': 'done'},
        "click_action": "FLUTTER_NOTIFICATION_CLICK",
        "to": token
      };

      var client = new http.Client();
      await client.post(Uri.parse(url), headers: header, body: json.encode(request));

order_notification_sound.mp3位于餐厅应用程序的“../res/raw”目录中。我想应该是这样的,如果我的理解是正确的,请纠正。我是新的这个概念,请让我知道,如果有人可以帮助或需要任何更多的细节,如果我错过了什么。提前感谢!

olmpazwi

olmpazwi1#

你有没有在你的android/src/main/res/raw文件夹中添加keep.xml文件,沿着你的音频文件,确保添加这个,这样你的音频不会被剥离,同时减少应用程序的大小(所谓的树抖动)

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools"
    tools:keep="@drawable/*,@raw/order_notification_sound" />

并确保音频长度保持在30秒以下。

相关问题