Flutter:Firebase 消息通知无法播放声音,但它在代码中请求

问题描述 投票:0回答:1

我为我的 flutter 项目实现了 firebase 消息传递,并请求声音和徽章权限:

await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform);
FirebaseMessaging messaging = FirebaseMessaging.instance;
NotificationSettings settings = await messaging.requestPermission(
  alert: true,
  badge: true,
  sound: true,
);
print(settings.authorizationStatus);// Result: AuthorizationStatus.authorized

我请求了声音、徽章权限,但它不适用于应用程序设置,我必须手动执行:

在 Android 11 上测试。

我的 Firebase 通知默认无法播放声音,每个用户都需要打开此功能。 为什么会发生这种情况?我该如何解决这个问题?

flutter firebase dart firebase-cloud-messaging
1个回答
0
投票

我发现有两个问题。

1。您是否启用了通知声音?

发送通知负载时,需要包含

"sound": "default"
才能播放通知声音。如果您想使用其他声音,您也可以编辑“默认”。示例:

{
    "to" : "<TokenOfDevice>",
    "notification" : {
      "body"  : "<NotificationMessage>",
      "title" : "<NotificationTitle>",
      "sound" : "default"
    }
  }

2。您检查过其他操作系统吗?

从你的屏幕截图来看,你的手机似乎使用的是 MIUI Os,这是经过大量编辑的 Android,已经在通知、省电选项方面造成了一些麻烦......

如果您可以检查“正常”AOSP Android,您就会知道这是否是您的软件问题。

© www.soinside.com 2019 - 2024. All rights reserved.