android - 无法使用 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");
});
});
});
});
解决方案
推荐阅读
- python - 修改 Excel 文件的值而不更改颜色格式
- c# - WPF - 绑定到自定义 UserControl 的 DependencyProperty 不起作用
- php - PHP 数组到 SOAP 1.1 请求
- python - 丢弃数据帧的百分比 [pandas]
- maven - 错误:在 ecplise 中编码 UTF-8 的不可映射字符
- javascript - 如何使用 angularjs 使用过滤器进行 ng-repeat?
- c# - 可视化安装程序项目 - 安装后没有管理员权限无法运行应用程序
- vba - 如何在 Visio-VBA 中输出形状 ID
- php - 在另一个视图页面中查看未显示
- html - 在响应式网页中将图像恢复为原始大小