#firebase #flutter #dart #google-cloud-functions #firebase-cloud-messaging
#firebase #flutter #dart #google-cloud-функции #firebase-cloud-обмен сообщениями
Вопрос:
Я создаю простой интерфейс для отправки уведомлений с помощью службы обмена сообщениями firebase Cloud. Он отображает уведомление, когда я отправляю уведомление с помощью firebase — console. Но когда я вставляю данные, используя свой интерфейс, в firebase, он ничего не показывает. Как я могу решить эту проблему.
Future<void> insertItem() async {
final form = formKey.currentState;
form.save();
Firestore.instance.runTransaction((transaction) async {
await transaction.set(Firestore.instance.collection("Notification").document(), {
'User': _user,
'Title': _title,
'Body': _msg,
});
});}
-Вставка данных в код Firebase-
exports.notificationTrigger = functions.firestore
.document("Notification/{notificationId}")
.onCreate((snapshot, context) => {
msgData = snapshot.data();
var userRef = admin.firestore().collection("Token").doc(msgData.User);
return userRef.get().then((doc) => {
if (!doc.exists) {
console.log("No Devices");
} else {
token = doc.data().Token;
var payload = {
notification: {
title: msgData.Title,
body: msgData.Body,
},
data: {
sendername: msgData.Title,
message: msgData.Body,
},
};
return admin
.messaging()
.sendToDevice(token, payload)
.then(() => {
console.log("pushed notification");
})
.catch((err) => {
console.log(err);
});
}
});});
- index.js —
Комментарии:
1. это может быть связано с async-await, убедитесь, что полезная нагрузка загружена перед возвратом
2. @Henok спасибо за ваш ответ. Не могли бы вы, пожалуйста, объяснить это мне.