Как проверить отправку тихих push-уведомлений Firebase?

У меня нет опыта использования Firebase, и я пытаюсь протестировать отправку тихого push-уведомления через FCM в приложение для Android, которое я разрабатываю. Кажется, я могу отправлять только обычные уведомления от администратора Firebase (что мне удалось сделать), но не те тихие уведомления, которые я пытаюсь протестировать.

Я пытаюсь использовать cURL для доступа к API HTTP V1 FCM следующим образом:

curl -H "Content-type: application/json" -H "Authorization: Bearer <OAuth id>" -X POST -d '{ "data":{ "foo":"1", "bar":"2" }, "to":"<token>", "android":{ "priority":"high" }}' https://fcm.googleapis.com/v1/projects/{project name}/messages:send

токен: регистрационный токен FCM, который я получаю через приложение Android на своем тестовом устройстве, кажется правильным.
Идентификатор OAuth: «Идентификатор клиента OAuth 2», который я получил от https://console.cloud.google.com/iam-admin/serviceaccounts?project = {project name}&supportedpurview=project, и я не уверен, что мне следует его использовать.




Я получаю UNAUTHENTICATED в ответ.

{
  "error": {
    "code": 401,
    "message": "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",
    "status": "UNAUTHENTICATED"
  }
}

Есть ли простой способ протестировать тихие push-уведомления или это должно быть так запутанно? Если да, то чего мне здесь не хватает?

Я не уверен, что в этом запутанного, но способ проверить это — вызвать документированный API. Разрешение на это описано здесь: firebase.google.com/docs/cloud-messaging/auth-server

Frank van Puffelen 09.07.2024 23:20

Извините, @FrankvanPuffelen, когда я сказал, что это запутанно, мне следовало упомянуть документы, на которые вы мне указали: кажется, что единственный способ проверить это - через сервер. Площадка OAuth от Looptheloop88 — это то, что я искал.

bernardo.g 10.07.2024 12:47
Интеграция Angular - Firebase Analytics
Интеграция Angular - Firebase Analytics
Узнайте, как настроить Firebase Analytics и отслеживать поведение пользователей в вашем приложении Angular.
0
2
61
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Судя по самому ответу, запрос на отправку уведомления FCM содержит недопустимый токен доступа OAuth 2.0. Чтобы создать действительный токен доступа OAuth 2.0, следуйте инструкциям, приведенным в этой документации.

В целях тестирования вы можете попытаться сгенерировать токен доступа OAuth 2.0, используя следующие параметры:

  1. Использование Google Developers OAuth 2.0 Playground

    • Выберите https://www.googleapis.com/auth/firebase.messaging в качестве области действия.
    • Нажмите «Авторизовать API».
    • Как только код авторизации будет сгенерирован, замените его на токен доступа.
    • Скопируйте токен доступа и используйте его в запросе.
  2. Использование Проект быстрого запуска Firebase Cloud Messaging Node.js

    • Установите Firebase Admin SDK и Node.js
    • Загрузите проект быстрого запуска и следуйте инструкциям в файле README.md.
    • Обновите index.js и зарегистрируйте токен доступа.
    • Скопируйте токен доступа и используйте его в запросе.

Обратите внимание, что обычный префикс токена доступа — ya29.

Авторизация: Носитель ya29.ElqKBGN2Ri_Uz...HnS_uNreA

Google Developers OAuth 2.0 Playground — это то, что я искал как способ протестировать тихие нажатия без необходимости проходить через сервер. Спасибо.

bernardo.g 10.07.2024 12:48

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

Вкратце, нужны точные данные о носителе после перехода с API Cloud Messaging Legacy на HTTP V1 Firebase
Как настроить и протестировать push-уведомления Firebase Cloud Messaging (FCM) с помощью API HTTP v1 с помощью Postman?
Почему запланированное уведомление не появляется в установленное время, а вместо этого приложение возвращается к основной активности в Android Java?
Почему задача фонового уведомления не запускается при поступлении уведомления? Экспо-уведомления
Получение только одного уведомления Firebase, когда устройство находится в автономном режиме Flutter
Запуск обмена сообщениями Firebase в SwiftUI
Android: когда приложение было открыто нажатием на уведомление, нажатие на дальнейшие уведомления открывает только приложение, не изменяя активность
Перейдите на новый API Firebase Cloud Messaging для отправки сообщений в тему
Переключатель «Push-уведомления», который может определить текущую авторизацию приложения?
Звук уведомлений Android обновляется только после чистой установки

Похожие вопросы

[email protected] отсутствует, вместо него у меня есть [email protected]
Вкратце, нужны точные данные о носителе после перехода с API Cloud Messaging Legacy на HTTP V1 Firebase
Неустранимая ошибка: вызов неопределенного метода Google\Cloud\Firestore\QuerySnapshot::count()
Kotlin Как обновить пропускную способность при закрытии приложения?
Конфигурация flutterfire возвращает «zsh: команда не найдена: flutterfire» на Mac
«Для привязки переменной в условии требуется инициализатор» — ошибка при создании Firebase iOS SDK
Обновление документа Firestore несколько раз с помощью функции триггера события перезаписывает или прекращает обновление после нескольких триггеров
Как настроить и протестировать push-уведомления Firebase Cloud Messaging (FCM) с помощью API HTTP v1 с помощью Postman?
Получение идентификатора клиента приложения, использующего вход в Google
Ни один из моих проектов реагирования, развернутых на Firebase, не работает