我为我的 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 通知默认无法播放声音,每个用户都需要打开此功能。 为什么会发生这种情况?我该如何解决这个问题?
我发现有两个问题。
发送通知负载时,需要包含
"sound": "default"
才能播放通知声音。如果您想使用其他声音,您也可以编辑“默认”。示例:
{
"to" : "<TokenOfDevice>",
"notification" : {
"body" : "<NotificationMessage>",
"title" : "<NotificationTitle>",
"sound" : "default"
}
}
从你的屏幕截图来看,你的手机似乎使用的是 MIUI Os,这是经过大量编辑的 Android,已经在通知、省电选项方面造成了一些麻烦......
如果您可以检查“正常”AOSP Android,您就会知道这是否是您的软件问题。