【发布时间】:2022-12-07 23:23:11
【问题描述】:
我在 Main 之前创建了这个
Future<void> _firebaseMessagingBackgroundHandler(RemoteMessage message) async {
await Firebase.initializeApp(
name: "AlertApp",
options: DefaultFirebaseOptions.currentPlatform,
);
}
将此添加到我的主要
FirebaseMessaging messaging = FirebaseMessaging.instance;
await messaging.requestPermission(
alert: true,
announcement: false,
badge: true,
carPlay: false,
criticalAlert: false,
provisional: false,
sound: true,
);
FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler);
await FirebaseMessaging.instance.setForegroundNotificationPresentationOptions(
alert: true,
badge: true,
sound: true,
);
当有来自 firebase 的推送通知时,我想有一个自定义通知声音,我已经在我的 initstate 上添加了这个,但没有任何改变
@override
void initState() {
super.initState();
var initializationSettingsAndroid = new AndroidInitializationSettings('ic_launcher');
var initializationSettingsiOS = IOSInitializationSettings();
var initializationSettings =
InitializationSettings(android: initializationSettingsAndroid,iOS: initializationSettingsiOS);
flutterLocalNotificationsPlugin.initialize(initializationSettings);
FirebaseMessaging.onMessage.listen((RemoteMessage message) {
RemoteNotification notification = message.notification;
AndroidNotification android = message.notification?.android;
if (notification != null && android != null) {
flutterLocalNotificationsPlugin.show(
notification.hashCode,
notification.title,
notification.body,
NotificationDetails(
android: AndroidNotificationDetails(
channel.id,
channel.name,
channelDescription: channel.description,
color: Colors.blue,
icon: "@mipmap/ic_launcher",
),
));
}
});
}
我在我的安卓真机上试过了
【问题讨论】:
标签: flutter firebase dart firebase-cloud-messaging