如何使用节点和电容器发送推送通知

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;

我看过很多关于 CapacitorFirebase 推送通知的文章等,但找不到符合我要求的单一来源。

迄今为止最好和最简单的解决方案是使用 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 };