我正在使用Ruby(padrino框架)构建后端,并希望发送推送通知。 我用这个宝石进行推送通知。
https://github.com/spacialdb/fcm
我使用firebase控制台的服务器密钥可以设置。 这是我用过的代码。
fcm = FCM.new(settings.fcm_serverkey)
registration_ids= [settings.test_key]
options = {data: {score: "123"}, collapse_key: "updated_score"}
response = fcm.send(registration_ids, options)
这就是我得到的错误。
{:body=>"{\"multicast_id\":8815634661444747749,\"success\":0,\"failure\":1,\"canonical_ids\":0,\"results\":[{\"error\":\"MismatchSenderId\"}]}", :headers=>{"content-type"=>["application/json; charset=UTF-8"], "date"=>["Wed, 20 Dec 2017 21:05:04 GMT"], "expires"=>["Wed, 20 Dec 2017 21:05:04 GMT"], "cache-control"=>["private, max-age=0"], "x-content-type-options"=>["nosniff"], "x-frame-options"=>["SAMEORIGIN"], "x-xss-protection"=>["1; mode=block"], "server"=>["GSE"], "alt-svc"=>["hq=\":443\"; ma=2592000; quic=51303431; quic=51303339; quic=51303338; quic=51303337; quic=51303335,quic=\":443\"; ma=2592000; v=\"41,39,38,37,35\""], "accept-ranges"=>["none"], "vary"=>["Accept-Encoding"], "connection"=>["close"]}, :status_code=>200, :response=>"success", :canonical_ids=>[], :not_registered_ids=>[]}
重要的是" MismatchSenderId"来自错误日志。 我无法在github指南中找到senderID的参数。 他们只提到了关于serverkey的问题。 任何建议对我都有很大的帮助。 感谢
答案 0 :(得分:0)
我最近遇到了同样的问题。 就我而言,我没有使用正确的 Server-ID,因为我们必须使用注册我们应用的项目中的 Server-Id。
中查看其次,请确保您允许并将您的应用添加到您的 Firebase 项目中。
我找到了最好的理由解释here