Я начинаю с нового сервиса Google для уведомлений Firebase Cloud Messaging
.
Благодаря этому коду https://github.com/firebase/quickstart-android/tree/master/messaging мне удалось отправить уведомления из моей пользовательской консоли Firebase на мое устройство Android.
Есть ли какой-либо API или способ отправить уведомление без использования консоли Firebase? Я имею в виду, например, PHP API или что-то в этом роде, чтобы создавать уведомления непосредственно с моего собственного сервера.
Ответы:
Firebase Cloud Messaging имеет серверные API, которые вы можете вызывать для отправки сообщений. См. Https://firebase.google.com/docs/cloud-messaging/server .
Отправка сообщения может быть такой же простой, как использование
curl
для вызова конечной точки HTTP. См. Https://firebase.google.com/docs/cloud-messaging/server#implementing-http-connection-server-protocolисточник
Это работает с использованием CURL
$message
ваше сообщение для отправки на устройство$id
это токен регистрации устройстваYOUR_KEY_HERE
ваш ключ API сервера (или ключ API устаревшего сервера)источник
{"multicast_id":3694931298664346108,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"MessageTooBig"}]}
. Что можно сделать, чтобы это исправить?Используйте сервис API.
URL:
https://fcm.googleapis.com/fcm/send
Тип метода:
POST
Заголовки:
Тело / Payload:
И с этим в вашем приложении вы можете добавить ниже код в вашей деятельности, который будет называться:
Также проверьте ответ на Firebase onMessageReceived не вызывается, когда приложение в фоновом режиме
источник
"to" : "to_id(firebase refreshedToken)"
вместо идентификатора устройства?"all"
не работает вообще. Я использую C #WebRequest
для отправки уведомления. @AshikurRahman Ваше предложение также приветствуется. Я борюсь и ищу с 3-4 дней.Отправлять сообщения на определенные устройства
Чтобы отправлять сообщения на определенные устройства, установите токен регистрации для конкретного экземпляра приложения.
Отправлять сообщения в темы
здесь тема есть: / themes / foo-bar
Отправлять сообщения группам устройств
Отправка сообщений в группу устройств очень похожа на отправку сообщений на отдельное устройство. Установите для параметра to уникальный ключ уведомления для группы устройств.
URL API:
https://fcm.googleapis.com/fcm/send
Заголовки
Метод запроса:
POST
Тело запроса
Сообщения на конкретные устройства
Сообщения в темах
Сообщения в группы устройств
источник
Как уже упоминал Фрэнк, вы можете использовать HTTP API Firebase Cloud Messaging (FCM) для запуска push-уведомлений из собственного бэкэнда. Но вы не сможете
Значение: вам придется хранить идентификаторы регистрации (push-токены) FCM / GCM самостоятельно или использовать темы FCM для подписки пользователей. Помните также, что FCM - это не API для уведомлений Firebase , это API более низкого уровня без планирования или аналитики с открытой скоростью. Уведомления Firebase основаны на FCM.
источник
Сначала вам нужно получить токен от Android, а затем вы можете вызвать этот php-код и даже отправить данные для дальнейших действий в вашем приложении.
источник
Например, вы можете использовать PHP-скрипт для Google Cloud Messaging (GCM). Firebase и его консоль находятся на вершине GCM.
Я нашел это на github: https://gist.github.com/prime31/5675017
Подсказка: этот скрипт PHP приводит к уведомлению Android .
Поэтому: прочитайте этот ответ от Koot, если хотите получать и показывать уведомление в Android.
источник
Уведомление или сообщение данных могут быть отправлены на базовый облачный сервер обмена сообщениями firebase с использованием конечной точки API FCM HTTP v1. https://fcm.googleapis.com/v1/projects/zoftino-stores/messages:send .
Вам необходимо сгенерировать и загрузить закрытый ключ учетной записи службы, используя консоль Firebase, и сгенерировать ключ доступа, используя клиентскую библиотеку Google API. Используйте любую библиотеку http, чтобы отправить сообщение в конечную точку выше, код ниже показывает размещение сообщения с использованием OkHTTP. Вы можете найти полный код на стороне сервера и на стороне клиента в облачной системе обмена сообщениями Firebase и отправки сообщений нескольким клиентам, используя пример темы fcm
Если необходимо отправить конкретное клиентское сообщение, вам необходимо получить регистрационный ключ firebase клиента, см. Пример отправки специфических сообщений клиента или устройства на сервер FCM.
источник
это решение по этой ссылке мне очень помогло. Вы можете проверить это.
Файл curl.php с этими строками может работать.
Помните
you need to execute curl.php file using another browser ie not from the browser that is used to get the user token. You can see notification only if you are browsing another website.
источник
источник
Если вы хотите отправить push-уведомления от Android, проверьте мой блог
Отправить Push-уведомления с одного телефона Android на другой без сервера.
отправка push-уведомлений - это не что иное, как отправка запроса на https://fcm.googleapis.com/fcm/send.
фрагмент кода с использованием залпа:
Я предлагаю всем вам проверить мой блог для более подробной информации.
источник
С помощью Firebase Console вы можете отправлять сообщения всем пользователям в зависимости от пакета приложения. Но с CURL или PHP API это невозможно.
Через API Вы можете отправлять уведомления определенному идентификатору устройства или подписанным пользователям выбранной теме или подписанным пользователям темы.
источник
Или вы можете использовать облачные функции Firebase, что для меня является более простым способом реализации ваших push-уведомлений. firebase / функции-образцы
источник
Если вы используете PHP, я рекомендую использовать PHP SDK для Firebase: Firebase Admin SDK . Для простой настройки вы можете выполнить следующие действия:
Получить JSON-файл с учетными данными проекта из Firebase ( инициализировать SDK ) и включите его в свой проект.
Установите SDK в свой проект. Я использую композитор:
Попробуйте любой пример из сеанса Cloud Messaging в документации SDK:
источник