Cloud Functions for Firebase:向 Android 设备发送主题通知不工作
Cloud Functions for Firebase: Sending topic notification to Android device not working
我正在关注 Udacity 的本教程,其中使用 Cloud Functions for Firebase 更改添加数据的引用数据。
我想使用类似的功能,但用于向订阅主题的用户发送推送通知。
这是我正在使用的功能。
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.sendNotification = functions.database.ref('/messages/{pushId}/text').onWrite((event) => {
const data = event.data;
console.log('Message received');
if(!data.changed()){
console.log('Nothing changed');
return;
}else{
console.log(data.val());
}
const payLoad = {
notification:{
title: 'Message received',
body: 'You received a new message',
sound: "default"
}
};
const options = {
priority: "high",
timeToLive: 60*60*2
};
return admin.messaging().sendToTopic("Message_Notifications", payLoad, options);
});
查看 Firebase 函数日志,我可以看到当我向数据库添加新值时会调用该函数。我正在使用
订阅主活动中的主题
FirebaseMessaging.getInstance().subscribeToTopic("Message_Notification");
几个小时后,我可以在 firebase 通知控制台的主题列表中看到该主题。我从那里发送了一个通知,它起作用了。
我还需要做什么才能在每次添加新消息时显示通知?
如有任何建议,我们将不胜感激。我是 Firebase 的新手。所以如果有更好的 blog/post 请重定向我以便我可以了解更多。
提前致谢。
在您的 Android 应用中,您订阅了 "Message_Notification"
个主题。
在您的脚本中,您要发送到 "Message_Notifications"
个主题。
在您的 Android 应用程序中添加一个 s
作为主题名称,或者从您的脚本中删除多余的 s
。
我正在关注 Udacity 的本教程,其中使用 Cloud Functions for Firebase 更改添加数据的引用数据。 我想使用类似的功能,但用于向订阅主题的用户发送推送通知。
这是我正在使用的功能。
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.sendNotification = functions.database.ref('/messages/{pushId}/text').onWrite((event) => {
const data = event.data;
console.log('Message received');
if(!data.changed()){
console.log('Nothing changed');
return;
}else{
console.log(data.val());
}
const payLoad = {
notification:{
title: 'Message received',
body: 'You received a new message',
sound: "default"
}
};
const options = {
priority: "high",
timeToLive: 60*60*2
};
return admin.messaging().sendToTopic("Message_Notifications", payLoad, options);
});
查看 Firebase 函数日志,我可以看到当我向数据库添加新值时会调用该函数。我正在使用
订阅主活动中的主题FirebaseMessaging.getInstance().subscribeToTopic("Message_Notification");
几个小时后,我可以在 firebase 通知控制台的主题列表中看到该主题。我从那里发送了一个通知,它起作用了。
我还需要做什么才能在每次添加新消息时显示通知?
如有任何建议,我们将不胜感激。我是 Firebase 的新手。所以如果有更好的 blog/post 请重定向我以便我可以了解更多。
提前致谢。
在您的 Android 应用中,您订阅了 "Message_Notification"
个主题。
在您的脚本中,您要发送到 "Message_Notifications"
个主题。
在您的 Android 应用程序中添加一个 s
作为主题名称,或者从您的脚本中删除多余的 s
。