适用于 Firebase 的云函数:向 Android 设备发送主题通知不起作用



我正在遵循Udacity的本教程,其中Firebase的Cloud Functions用于更改添加数据的引用数据。我想使用类似的功能,但用于向订阅主题的用户发送推送通知。

这是我正在使用的功能。

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相当陌生。因此,如果有更好的博客/帖子,请重定向我,以便我可以了解更多信息。

提前谢谢。

在您的安卓应用中,您正在订阅"Message_Notification"主题。

在脚本中,您要发送到"Message_Notifications"主题。

在 Android 应用中为主题名称添加s,或者从脚本中删除多余的s

相关内容

  • 没有找到相关文章

最新更新