首页 > 解决方案 > 无法使用 Firebase Cloud Messaging 在我的 Android 设备上接收通知

问题描述

我编写了一个 node.js 函数,它通过有效负载向 android 设备发送通知。我已将 index.js(包含函数的文件)部署到 Firebase Cloud Messaging。

发送消息后,日志显示通知是在显示错误的同时发送的,我无法在目标设备上接收通知。

感谢提前!

这是包含该功能的 index.js 文件:

'use-strict'
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.sendNotification = functions.firestore.document("Users/{user_id}/notifMessages/{notification_id}").onWrite((change, context) => {
const user_id = context.params.user_id;
const notification_id = context.params.notification_id;

return admin.firestore().collection("Users").doc(user_id).collection("notifMessages").doc(notification_id).get().then(queryResult => {

    const from_user_id = queryResult.data().fromUser;
    const from_message = queryResult.data().message;

    const from_data = admin.firestore().collection("Users").doc(from_user_id).get();
    const to_data = admin.firestore().collection("Users").doc(user_id).get();

    return Promise.all([from_data, to_data]).then(result => {

        const from_name = result[0].data().nom;
        const to_name = result[1].data().nom;
        const tokenId = result[1].data().tokenId;

        const payload = {
            notification: {
                title : "Notification from : "+from_name,
                body : from_message,
                icon : "default",
                click_action: "mr.pharma_proche.TARGETNOTIFICATION"
            },
            data: {
                message : from_message,
                from_user_id : from_user_id
            }
        };

        return admin.messaging().sendToDevice(tokenId, payload).then(result => {

            console.log("Notification sent : "+from_name+" to : "+to_name+" Token : "+tokenId);
            return results;
        }).catch((error) => {
            console.log("error, message not sent");
        });
    });
});
});

标签: androidnode.jsfirebasefirebase-cloud-messaging

解决方案


推荐阅读