我正在使用Ruby版本1.8.7。使用Ruby將通知發送到Firebase
我使用此FCM寶石https://github.com/spacialdb/fcm並希望發送通知消息到Android客戶端應用程序,但它不起作用。
在控制器:
fcm = FCM.new(FIREBASE_API_KEY, :timeout => 30)
options = {:data => {:message => "This is a FCM Topic Message!"}}
response = fcm.send_to_topic('global', options)
類FCM:
require 'httparty'
require 'cgi'
require 'json'
class FCM
include HTTParty
base_uri 'https://fcm.googleapis.com/fcm'
default_timeout 30
format :json
attr_accessor :timeout, :api_key
def initialize(api_key, client_options = {})
@api_key = api_key
@client_options = client_options
end
def send_with_notification_key(notification_key, options = {})
body = { :to => notification_key }.merge(options)
params = {
:body => body.to_json,
:headers => {
'Authorization' => "key=#{@api_key}",
'Content-Type' => 'application/json'
}
}
response = self.class.post('/send', params.merge(@client_options))
response.parsed_response
end
def send_to_topic(topic, options = {})
if topic =~ /[a-zA-Z0-9\-_.~%]+/
send_with_notification_key('/topics/' + topic, options)
end
end
end
- 服務器密鑰是正確的,因爲我可以通過PHP代碼成功發送通知。
- 響應輸出如下: { 「MESSAGE_ID」=> 8885803884270587181}
任何人都可以請指出有什麼不好的代碼。 任何幫助將不勝感激。
do'params.to_json' –
response = self.class.post('/ send',params.merge(@client_options).to_json)產生錯誤TypeError(無法將String轉換爲散列)。 – Jimy25
您的代碼有效。沒有錯誤消息。我不知道你在問什麼。 –