Firebase推送通知工作正常,但当应用程序在后台时,收到推送通知,但手机不振动或发出声音。我已经尝试了所有可能的修复方法,但没有任何方法使手机振动。下面是我的代码,我在Pushbutton类中初始化了local_notification插件。
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
PushNotifications.init();
PushNotifications.initLocal();
FirebaseMessaging.onMessage.listen((RemoteMessage message) {
String payloadData = jsonEncode(message.data);
if (message.notification != null) {
String? title = message.notification?.title;
String? body = message.notification?.body;
if (title != null && body != null) {
PushNotifications.showSimpleNotification(
title: title, body: body, payload: payloadData);
}
}
});
FirebaseAnalytics.instance.setAnalyticsCollectionEnabled(true);
runApp(const MyApp());
}
字符串
谢谢你的帮助
1条答案
按热度按时间zvokhttg1#
为了确保推送通知在应用处于后台时触发声音和振动,您可以在通知负载中包含必要的参数。具体而言,您应该使用Firebase Cloud Messaging(FCM)的数据负载而不是通知负载。
下面是一个改进的代码。
字符串
当在后台收到通知时,上面的代码应该做你想做的事情。不要忘记确保你发送了一个数据负载。下面是在
python
中这样做的例子。型