Moh*_*hat 6 push-notification dart flutter firebase-cloud-messaging
我想借助一个按钮来启用/禁用通知服务,当启用此按钮时,用户会收到通知,而当它被禁用时,他将不会收到任何通知。
import 'dart:io';
import 'package:firebase_messaging/firebase_messaging.dart';
class FirebaseNotifications {
FirebaseMessaging _firebaseMessaging;
void setUpFirebase() {
_firebaseMessaging = FirebaseMessaging();
firebaseCloudMessaging_Listeners();
}
void firebaseCloudMessaging_Listeners() {
if (Platform.isIOS) iOS_Permission();
_firebaseMessaging.getToken().then((token) {
print(token);
});
_firebaseMessaging.configure(
onMessage: (Map<String, dynamic> message) async {
print('on message $message');
},
onResume: (Map<String, dynamic> message) async {
print('on resume $message');
},
onLaunch: (Map<String, dynamic> message) async {
print('on launch $message');
},
);
}
void iOS_Permission() {
_firebaseMessaging.requestNotificationPermissions(
IosNotificationSettings(sound: true, badge: true, alert: true));
_firebaseMessaging.onIosSettingsRegistered
.listen((IosNotificationSettings settings) {
print("Settings registered: $settings");
});
}
}
Run Code Online (Sandbox Code Playgroud)

你应该做的是,在实现通知时,让用户订阅一个主题
FirebaseMessaging.instance.subscribeToTopic ('news');
Run Code Online (Sandbox Code Playgroud)
如果该用户想要停用通知,您只需使用以下命令取消订阅该主题
FirebaseMessaging.instance.unsubscribeFromTopic ('news');
Run Code Online (Sandbox Code Playgroud)
显然,当您从后端或控制台发送通知时,您必须指定该主题“新闻”或您决定放置它的名称
| 归档时间: |
|
| 查看次数: |
4555 次 |
| 最近记录: |