MismatchSenderId в push-уведомлении с Ruby

Я создаю серверную часть с Ruby (инфраструктура padrino) и хочу отправить push-уведомление. Я использовал этот драгоценный камень для push-уведомлений.

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» из журнала ошибок. Я не могу найти параметр для senderID в руководстве github. Они упомянули только о serverkey. Любой совет будет большой помощью для меня. Спасибо


person Nomura Nori    schedule 20.12.2017    source источник
comment
Вы уверены, что используете правильный токен для правильного проекта? check_out_this_answer и вы проверили этот ТАК вопрос?   -  person Martin Zinovsky    schedule 21.12.2017
comment
Вы нашли что-нибудь за последний месяц?   -  person Dylanthepiguy    schedule 19.01.2018
comment
привет ты нашел решение   -  person Humayun Naseer    schedule 14.01.2021


Ответы (1)


Недавно я занимался той же проблемой. В моем случае я использовал неправильный идентификатор сервера, потому что мы должны использовать идентификатор сервера из проекта, в котором было зарегистрировано наше приложение.

Вы можете проверить это в Google-services.json.

во-вторых, убедитесь, что вы разрешили и добавили свое приложение в свой проект Firebase.

Я нахожу лучшее объяснение причины здесь

person Humayun Naseer    schedule 15.01.2021