我正在使用 NativeScript 技术制作一个移动应用程序,并且我有一个用于发送推送通知的PHP 后端面板,我知道从应用程序中我需要将令牌发送到数据库(在这种情况下我想使用 Firebase),然后使用firebase 的 api 将令牌带到 PHP 后端面板,以便能够通过表单向所有设备发送推送通知。我的google-services文件包含在 Android 和 iOS 目录中。
我有以下代码:
应用程序.js
var applicationModule = require("application");
applicationModule.start({ moduleName: "main-page" });
var pushPlugin = require("nativescript-push-notifications");
var pushSettings = {
senderID: "XXXXXXXXXXXX", // Required: setting with the sender/project number
notificationCallbackAndroid: function (stringifiedData, fcmNotification) {
var notificationBody = fcmNotification && fcmNotification.getBody();
_this.updateMessage("Message received!\n" + notificationBody + "\n" + stringifiedData);
}
};
pushPlugin.register(pushSettings, function (token) {
alert(token);
}, function() { });
Package.json依赖项
"dependencies": {
"nativescript-push-notifications": "^1.1.4",
"nativescript-theme-core": "~1.0.4",
"tns-core-modules": "^3.4.1"
}
从我的PHP 后端,推送通知完美地发送到设备,但只发送到一个设备,因为我必须在代码中手动为其编写令牌。
目标是将生成的令牌保存在 firebase 中,然后在PHP 后端处理它们,但我不知道该怎么做,因为我不太了解整个概念,请帮忙?
我目前无法验证,但最好切换到
nativescript-plugin-firebase
,因为它可以访问同一插件中的不同 Firebase 产品。您可以获取令牌并将其发送到您的数据库
Realtime Database
或发送到Firestore
,然后在您的后端访问令牌列表。例如,在您的设备上:
然后,您可以在后端签入
Firebase Realtime Database
/tokensDeDispositivos/
,它应该是一个数组,其中包含已注册的所有设备的令牌。你可以用
firebase-php
. 但这是另一个话题。稍后,您可以采取措施使令牌列表保持最新,并清除丢失或更改其令牌的设备。但这是另一个话题。