Ruby on rails 如何在Ruby on Rails服务器中使用Firebase Admin SDK发送React本机推送通知?
我正在尝试在我的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:使用通知令牌向特定设备发送通知,但所有内容都是在Node.js中编写的,我不知道如何在Ruby中实现代码 我还查看了Firebase Admin SDK的REST API的不同Ruby helper库,但这些库的文档太晦涩,我无法理解 理想情况下,我想要实现的功能类似于:Ruby on rails 如何在Ruby on Rails服务器中使用Firebase Admin SDK发送React本机推送通知?,ruby-on-rails,ruby,firebase,react-native,firebase-admin,Ruby On Rails,Ruby,Firebase,React Native,Firebase Admin,我正在尝试在我的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:使用通知令
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);
});
});
但很遗憾,这段代码位于Node.js中,无法在我的RubyonRails服务器上运行。中有一些FCM的REST示例。您需要一个授权库来授权您的请求。然后找出如何从Ruby进行REST调用。下面是我过去使用过的一些示例代码:
require 'googleauth'
require 'net/http'
require 'json'
require 'uri'
authorizer = Google::Auth.get_application_default(scopes)
req = Net::HTTP::Get.new(uri)
# Add authorization header to the request
some_headers = {}
authorizer.apply!(some_headers)
some_headers.each do |key, value|
req[key] = value
end
res = http.request(req)
parsed_results = JSON.parse(res.body)
只是一个建议,你只想发送推送通知。尝试将onesignal集成到rails中非常容易。谢谢Hiranya!这很有帮助,我将研究一下用于Ruby的GoogleAuth库。