Перейти к содержанию

Outsystems: Часто задаваемые вопросы

Управление файлами google-services в проектах с несколькими возможными именами пакетов

Anchor link to

В плагине вы можете добавить несколько файлов google-service.json в свой проект, и нужный файл будет выбран на основе имени пакета, установленного во время сборки.

Если вы хотите переключаться между несколькими проектами Firebase (каждый со своим файлом конфигурации google-services.json), выполните следующие действия:

  1. Создайте ZIP-архив. Поместите каждый файл google-services.json в .zip-архив с именем google-services.zip.

  2. При добавлении этого .zip-файла в проект установите для него действие Deploy to Target Directory и укажите целевой каталог как google-services/${package_name}.

Например, если имя пакета проекта — com.pushwoosh.demo, целевым каталогом будет google-services/com.pushwoosh.demo.

  1. Во время сборки проекта укажите соответствующее имя пакета.

Разрешение конфликтов между несколькими плагинами, зависящими от FirebaseMessagingService

Anchor link to

Android не разрешает такие конфликты автоматически, поэтому это нужно делать вручную. Поскольку у каждого плагина своя логика, мы не можем предоставить универсальный код, который будет работать для всех возможных плагинов.

Вот как можно разрешить конфликты:

  1. Напишите класс-маршрутизатор на Java для обработки конфликта. Этот класс должен называться FirebaseMessagingRouterService.

Пример см. в руководстве: Использование Pushwoosh SDK с другими сервисами FCM.

  1. Назовите файл класса. Файл, содержащий этот класс, должен называться FirebaseMessagingRouterService.java.

  2. Поместите этот файл в .zip-архив с именем FirebaseMessagingRouterService.zip.

  3. Добавьте этот архив в ресурсы вашего проекта Outsystems.

  4. Установите для него действие Deploy to Target Directory и укажите целевой каталог как FirebaseMessagingRouterService.

Каждое новое уведомление на Android заменяет предыдущее

Anchor link to

По умолчанию Pushwoosh Android SDK работает в режиме одного уведомления: каждый push отправляется с одним и тем же идентификатором уведомления, поэтому каждый новый заменяет предыдущий. Это не связано с производителем устройства или с collapse_key.

Начиная с версии компонента Pushwoosh Plugin 4.7.0, включите группировку с помощью готового клиентского действия SetMultiNotificationMode:

  1. Обновите компонент Pushwoosh Plugin из Forge.
  2. Обновите зависимость к модулю PushwooshPlugin (Manage Dependencies).
  3. Добавьте SetMultiNotificationMode в поток, который запускается после инициализации — например, в обработчик события OnInitializeOver, сразу после RegisterDevice. Действие не принимает параметров, и один успешный вызов сохраняется в SDK и остается действительным после перезапусков.

После этого каждый push будет отображаться как отдельное уведомление. Android группирует их в один расширяемый стек со счетчиком — это стандартная системная группировка. Примечание: push-уведомления, отправленные со значением android_tag, по-прежнему заменяют друг друга независимо от режима.