如何使用节点和电容器发送推送通知
How to send push notifications with node and capacitor
我有 Angular
带有 Capacitor
的应用程序(没有 Ionic
),我需要从 Node.js
后端向用户应用程序发送推送通知。我该怎么做?任何文章、来源或示例都非常有用?
这是capacitor.config.ts
文件
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
appId: 'xxx.xxxxxxx.xxx',
appName: 'ABC',
webDir: 'dist/abc',
bundledWebRuntime: false,
plugins: {
PushNotifications: {
presentationOptions: ["badge", "sound", "alert"],
},
},
};
export default config;
我看过很多关于 Capacitor
和 Firebase
推送通知的文章等,但找不到符合我要求的单一来源。
迄今为止最好和最简单的解决方案是使用 firebase 来实现它。整个设置主要有两个部分
- 配置 Capacitor 和 Firebase 以便能够接收通知
为此,我建议您逐字阅读this tutorial。
- 编码 nodejs 实现以从服务器发送推送通知
为此,关注firebase官方documentation
作为参考,这里是您如何处理 nodejs 部分,这会成功触发推送通知。
const admin = require("firebase-admin");
admin.initializeApp({
credential: admin.credential.applicationDefault(),
databaseURL: <Your-Firebase-DB-URL>
});
async function sendNotification(tokens, title, body, data = {}) {
message = {
notification: {
title: title,
body: body,
},
data: data
}
options = {
priority: 'high'
}
result = await admin.messaging().sendToDevice(tokens, message, options)
return result;
}
module.exports = { sendNotification };
我有 Angular
带有 Capacitor
的应用程序(没有 Ionic
),我需要从 Node.js
后端向用户应用程序发送推送通知。我该怎么做?任何文章、来源或示例都非常有用?
这是capacitor.config.ts
文件
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
appId: 'xxx.xxxxxxx.xxx',
appName: 'ABC',
webDir: 'dist/abc',
bundledWebRuntime: false,
plugins: {
PushNotifications: {
presentationOptions: ["badge", "sound", "alert"],
},
},
};
export default config;
我看过很多关于 Capacitor
和 Firebase
推送通知的文章等,但找不到符合我要求的单一来源。
迄今为止最好和最简单的解决方案是使用 firebase 来实现它。整个设置主要有两个部分
- 配置 Capacitor 和 Firebase 以便能够接收通知
为此,我建议您逐字阅读this tutorial。
- 编码 nodejs 实现以从服务器发送推送通知
为此,关注firebase官方documentation
作为参考,这里是您如何处理 nodejs 部分,这会成功触发推送通知。
const admin = require("firebase-admin");
admin.initializeApp({
credential: admin.credential.applicationDefault(),
databaseURL: <Your-Firebase-DB-URL>
});
async function sendNotification(tokens, title, body, data = {}) {
message = {
notification: {
title: title,
body: body,
},
data: data
}
options = {
priority: 'high'
}
result = await admin.messaging().sendToDevice(tokens, message, options)
return result;
}
module.exports = { sendNotification };