【发布时间】:2020-07-16 02:39:26
【问题描述】:
我正在尝试在我的 React Native 项目中实现推送通知,并已设置推送通知以在我的 iOS 应用程序中工作。我想从我的 Ruby on Rails 服务器发送通知,即当用户收到好友请求时,但 Firebase Admin SDK 仅提供与 Node.js、Java、Python、C# 和 Go 的兼容性。 我用 Ruby on Rails 编写了我的服务器代码,并想从 Rails 调用 Firebase Admin SDK。
我正在尝试遵循这个使用 Firebase 的 React Native Push Notifications 教程:https://rnfirebase.io/messaging/server-integration 使用通知令牌向特定设备发送通知,但一切都是用 Node.js 编写的,我不知道如何导航实现而是使用 Ruby 中的代码。
我还查看了 用于 Firebase Admin SDK 的 REST API 的不同 Ruby 帮助程序库:https://firebase.google.com/docs/database/rest/start,但这些库的文档对我来说有点太神秘了,我无法理解。
理想情况下,我想要实现的功能类似于:
const functions = require("firebase-functions");
const admin = require("firebase-admin");
admin.initializeApp(functions.config().firebase);
exports.sendPushNotification = functions.database
.ref("users/{userID}")
.onCreate(event => {
const data = event._data;
payload = {
notification: {
title: "Welcome",
body: "thank for installed our app",
},
};
admin
.messaging()
.sendToDevice(data.notification_token, payload)
.then(function(response) {
console.log("Notification sent successfully:", response);
})
.catch(function(error) {
console.log("Notification sent failed:", error);
});
});
但很遗憾,https://www.instamobile.io/react-native-tutorials/push-notifications-react-native-firebase/ 中的这段代码在 Node.js 中,无法在我的 Ruby on Rails 服务器上运行。
【问题讨论】:
-
只是一个建议,您只想发送推送通知。试试onesignal。将 onesignal 集成到 rails 非常容易。
标签: ruby-on-rails ruby firebase react-native firebase-admin