На этой странице вы найдете помощь по устранению неполадок и ответы на часто задаваемые вопросы об 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) — это идентификатор экземпляра приложения. Если данные установки экземпляра приложения восстанавливаются из резервной копии, FCM возвращает эту ошибку, указывая на то, что FID уже занят другим экземпляром приложения, поэтому текущий экземпляр приложения не может использовать его для регистрации в FCM .
Мы рекомендуем разработчикам сделать в своих приложениях следующее:
- Исключить данные установки Firebase из резервной копии. Данные установки Firebase хранятся в файле
PersistedInstallation....json
. Имя файла — константа для приложения. Например,<exclude domain="file" path="PersistedInstallation....json" />
- Удалите файл
PersistedInstallation....json
при получении ошибки «Недопустимый аргумент для указанного FID». При следующей регистрации вашего приложения в FCM будет создан новый FID.
Нет. 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, чтобы увеличить вероятность получения уведомлений об обновлениях.