Уведомление Chrome с рельсами - 400 Несанкционированная регистрация

Я использую Rails и https://github.com/zaru/webpush gem и настроил вещи в соответствии с этим руководством https://rossta.net/blog/web-push-notifications-from-rails.html

Мне удается зарегистрировать ServiceWorker и получить подписку. Я сохраняю это так в контроллере

endpoint = params[:subscription][:endpoint]
p256dh = params[:subscription][:keys][:p256dh]
auth = params[:subscription][:keys][:auth]

current_user.gcm_endpoint = endpoint
current_user.gcm_p256dh = p256dh
current_user.gcm_auth = auth

Позже я отправляю сообщение так:

message = {
    title: "Title",
    body: "This is a test notification",
    icon: "images/my-128.png"
}

Webpush.payload_send(
    endpoint: current_user.gcm_endpoint,
    message: JSON.generate(message),
    p256dh: current_user.gcm_p256dh,
    auth: current_user.gcm_auth,
    ttl: 600,
    api_key: "<MY API KEY>"
)

Я настроил и активировал учетную запись в консоли Google. Я включил GCM API и добавил правильный ключ. Но что бы я ни делал, я получаю этот код ошибки 400. И у меня нет статистики в консоли Google - как если бы не было вызовов на мой вызов API.

1 ответ

Решение

Проблема была в самом ключе. Необходимо сгенерировать его с помощью отдельной панели управления Firebase. Вот с этим ключом мой код работает хорошо.

Другие вопросы по тегам