На этой странице вы найдете помощь по устранению неполадок и ответы на часто задаваемые вопросы об Cloud Messaging .
Firebase Cloud Messaging предоставляет полный набор возможностей обмена сообщениями через клиентские SDK и протокол HTTP-сервера. Для развёртываний с более сложными требованиями к обмену сообщениями FCM — правильный выбор.
Компоновщик уведомлений — это легкое бессерверное решение для обмена сообщениями, созданное на основе Firebase Cloud Messaging . Благодаря удобной графической консоли и сокращенным требованиям к кодированию, компоновщик уведомлений позволяет пользователям отправлять сообщения для повторного вовлечения и удержания пользователей, стимулирования развития приложения и поддержки маркетинговых кампаний.
Возможности | Композитор уведомлений | Cloud Messaging | |
---|---|---|---|
Цель | Одно устройство | ||
Клиенты подписались на темы (например, погода) | |||
Клиенты в предопределенном сегменте пользователей (приложение, версия, язык) | |||
Клиенты в определенных аналитических аудиториях | |||
Клиенты в группах устройств | |||
Восходящий поток от клиента к серверу | |||
Тип сообщения | Уведомления до 2 КБ | ||
Сообщения данных размером до 4 Кб | |||
Доставка | Немедленный | ||
Местное время будущего клиентского устройства | |||
Аналитика | Встроенный сбор аналитики уведомлений и аналитика воронки продаж |
Вы можете использовать Firebase Cloud Messaging как автономный компонент, без использования других служб Firebase.
Если вам кажется, что устройствам не удалось успешно получить сообщения, сначала проверьте следующие две возможные причины:
Обработка сообщений переднего плана для уведомлений. Клиентским приложениям необходимо добавить логику обработки сообщений для обработки уведомлений, когда приложение находится в активном режиме на устройстве. См. подробности для iOS и Android .
Ограничения сетевого брандмауэра. Если в вашей организации используется брандмауэр, ограничивающий входящий и исходящий интернет-трафик, необходимо настроить его так, чтобы разрешить подключение к FCM , чтобы клиентские приложения Firebase Cloud Messaging могли получать сообщения. Необходимо открыть следующие порты:
- 5228
- 5229
- 5230
FCM обычно использует 5228, но иногда использует 5229 и 5230. FCM не предоставляет конкретные IP-адреса, поэтому вам следует разрешить вашему брандмауэру принимать исходящие соединения со всеми IP-адресами, содержащимися в IP-блоках, перечисленных в ASN Google 15169 .
Когда приложение работает в фоновом режиме, уведомления отображаются в области уведомлений, и onMessageReceived
не вызывается. Уведомления с полезной нагрузкой в виде данных отображаются в области уведомлений, а данные, содержащиеся в уведомлении, можно получить из намерения, запущенного при нажатии пользователем на уведомление.
Более подробную информацию см. в разделе Получение и обработка сообщений .
FID (Firebase Installation ID) — это идентификатор экземпляра приложения. По умолчанию данные установки Firebase копируются и восстанавливаются. Таким образом, при восстановлении восстановленный и исходный экземпляры приложения имеют одинаковый FID. Поскольку FCM хранит только один токен для каждого FID, если используются и исходный, и восстановленный экземпляры приложения, то при регистрации одного экземпляра приложения в FCM токен другого экземпляра удаляется, что приводит к ошибкам 404.
Мы рекомендуем разработчикам сделать в своих приложениях следующее:
- Исключить данные установки Firebase из резервной копии. Данные установки Firebase хранятся в файле
PersistedInstallation....json
. Имя файла — константа для приложения. Например,<exclude domain="file" path="PersistedInstallation.W0R...GQ.json" />
Нет. Firebase Cloud Messaging перешел на протокол APNs на базе HTTP/2 в 2017 году. Если вы используете FCM для отправки уведомлений на устройства iOS, никаких действий с вашей стороны не требуется.
Квоты и лимиты FCM
Этот вариант использования не поддерживается. Вам необходимо распределить трафик на 5 минут.
К сожалению, по этой причине мы не можем увеличить квоту. Вам следует распределить трафик на 5 минут, чтобы избежать резких скачков .
Мы рекомендуем начать отправку уведомлений как минимум за 5 минут до события. В качестве альтернативы, отправьте сообщения с данными и реализуйте аналог обработчика onMessageReceived
вашей платформы, чтобы запланировать локальные уведомления заранее.
См. руководство Google Cloud по составлению графиков и мониторингу показателей квот .
Мы понимаем, что ограничения квот могут быть сложными, однако они жизненно важны для обеспечения надёжности сервиса, и мы не можем предоставлять исключения. Используйте повторные попытки для корректной обработки ошибок 429 .
Ваш запрос на увеличение квоты зависит от того, как вы используете FCM . В любом случае, вы можете рассчитывать на ответ в течение нескольких рабочих дней. В некоторых случаях могут возникнуть разногласия относительно вашего использования FCM и различные обстоятельства, которые могут затянуть процесс. При соблюдении всех требований большинство запросов будут обработаны в течение двух недель.
Вы можете запросить дополнительную квоту для поддержки мероприятия продолжительностью до 1 месяца. Подайте запрос не менее чем за 1 месяц до мероприятия, указав чёткую информацию о времени начала и окончания мероприятия. FCM приложит все усилия для его выполнения. В случае одобрения увеличение квоты будет отменено после окончания мероприятия.
Хотя Google не станет легкомысленно относиться к этому вопросу, квоты могут быть изменены по мере необходимости для защиты целостности системы. По возможности Google будет уведомлять вас о таких изменениях заранее. Следите за актуальностью контактов Cloud MSA, чтобы увеличить вероятность получения уведомлений об обновлениях.