Я развернул систему чата «один на один» во флаттере и хочу отправить push-уведомление на другое устройство с помощью FCM.
Я настроил все требования к флаттеру и обмену сообщениями в пожарной базе.
//In InitState()
_firebaseMessaging.onTokenRefresh.listen(sendTokenToServer);
_firebaseMessaging.getToken();
_firebaseMessaging.configure(onLaunch: (Map<String, dynamic> msg) {
print("onLaunch");
Navigator.push(
context,
MaterialPageRoute(builder: (context) => Message(this.user, this.event)),
);
}, onResume: (Map<String, dynamic> msg) {
print("onResume");
Navigator.push(
context,
MaterialPageRoute(builder: (context) => Message(this.user, this.event)),
);
}, onMessage: (Map<String, dynamic> msg) {
print("onMessage");
});
_firebaseMessaging.requestNotificationPermissions(
const IosNotificationSettings(sound: true, alert: true, badge: true));
_firebaseMessaging.onIosSettingsRegistered
.listen((IosNotificationSettings setting) {
print("IOS");
});
//sendTokenToServer() - function send FCM token my Postgres DB
//When user clicks on send Button
Future sendNotification(userData, eventData) async {
await Messaging.sendToAll(
title:
"${toBeginningOfSentenceCase(userData['User']['name'])} on ${toBeginningOfSentenceCase(eventData['Event']['eventName'])} event",
body: _messageController.text,
fcmToken: fcmTokenToServer,
);
}
//Messaging.sendToAll()
static Future<Response> sendToAll(
{@required String title,
@required String body,
@required String fcmToken}) =>
sendTo(title: title, body: body, fcmToken: fcmToken);
static Future<Response> sendTo({
@required String title,
@required String body,
@required String fcmToken,
}) =>
client.post(
'https://fcm.googleapis.com/fcm/send',
body: json.encode({
'notification': {'body': '$body', 'title': '$title'},
'priority': 'high',
'data': {
'click_action': 'FLUTTER_NOTIFICATION_CLICK',
'id': '1',
'status': 'done',
},
'to': '$fcmToken',
}),
headers: {
'Content-Type': 'application/json',
'Authorization': 'key=$serverKey',
},
);
Но нет push-уведомлений.Это то, что я должен реализовать облачные функции для отправки уведомлений ??