[英]Send FCM Notification to multiple users using their UID through cloud functions
[英]How to send a fcm notification using javascript cloud functions in flutter?
我創建了一個應用程序來測試 Flutter 應用程序中的推送通知。
我可以從 firebase 消息控制台發送通知,我也可以在前台和后台接收它。
完成此操作后,我進入下一步,即使用 firebase 雲消息傳遞服務自動發送它,我使用了 javascript 並部署了函數,並且它可以毫無問題地執行。
但問題是我無法收到這樣的通知:-
但是當我打開我的應用程序時,因為我已經在 initState() 中配置了 firebase 消息; 我可以看到通知和數據也被打印出來,但我不能像上面的照片那樣接收它。
我該怎么辦?
嘗試使用后台處理程序或頂級方法,如 firebase 消息傳遞插件的自述文件所述。
關於我的 javascript index.js 文件:
當一個新文檔添加到帖子集合時,它會為 pushTokens 集合中的所有令牌發送一個通知,它會這樣做,但問題是我在上面提到過。
索引.js:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
var notificationMessageData;
exports.fcmTester = functions.firestore.document('posts/{postID}').onCreate((snapshot, context) => {
const notificationMessageData = snapshot.data();
return admin.firestore().collection('pushTokens').get()
.then(snapshot => {
var tokens = [];
if (snapshot.empty) {
console.log('No Devices');
throw new Error('No Devices');
} else {
for (var token of snapshot.docs) {
tokens.push(token.data().tokenID);
}
var payload = {
"notification": {
"title": "from" + notificationMessageData.writer,
"body": "from" + notificationMessageData.name,
"sound": "default"
},
"data": {
"sendername": notificationMessageData.writer,
"message": notificationMessageData.name
}
}
return admin.messaging().sendToDevice(tokens, payload)
}
})
.catch((err) => {
console.log(err);
return null;
})
});
將您的應用程序置於后台並再次嘗試發送通知 bcoz flutter firebase 消息傳遞插件將不會創建通知,如果您在發送通知時使用該應用程序,盡管您可以看到其數據,但要生成通知,您必須手動執行如果用戶當前正在使用該應用程序。
在其他情況下,插件將創建通知,例如應用程序是否終止或其在后台。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.