Outsystems: Часто задаваемые вопросы
Управление файлами google-services в проектах с несколькими возможными именами пакетов
Anchor link toВ плагине вы можете добавить несколько файлов google-service.json в свой проект, и нужный файл будет выбран на основе имени пакета, установленного во время сборки.
Если вы хотите переключаться между несколькими проектами Firebase (каждый со своим файлом конфигурации google-services.json), выполните следующие действия:
-
Создайте ZIP-архив. Поместите каждый файл
google-services.jsonв.zip-архив с именемgoogle-services.zip. -
При добавлении этого
.zip-файла в проект установите для него действие Deploy to Target Directory и укажите целевой каталог какgoogle-services/${package_name}.
Например, если имя пакета проекта — com.pushwoosh.demo, целевым каталогом будет google-services/com.pushwoosh.demo.

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

Разрешение конфликтов между несколькими плагинами, зависящими от FirebaseMessagingService
Anchor link toAndroid не разрешает такие конфликты автоматически, поэтому это нужно делать вручную. Поскольку у каждого плагина своя логика, мы не можем предоставить универсальный код, который будет работать для всех возможных плагинов.
Вот как можно разрешить конфликты:
- Напишите класс-маршрутизатор на Java для обработки конфликта. Этот класс должен называться
FirebaseMessagingRouterService.
Пример см. в руководстве: Использование Pushwoosh SDK с другими сервисами FCM.
-
Назовите файл класса. Файл, содержащий этот класс, должен называться
FirebaseMessagingRouterService.java. -
Поместите этот файл в
.zip-архив с именемFirebaseMessagingRouterService.zip. -
Добавьте этот архив в ресурсы вашего проекта Outsystems.
-
Установите для него действие Deploy to Target Directory и укажите целевой каталог как
FirebaseMessagingRouterService.

Каждое новое уведомление на Android заменяет предыдущее
Anchor link toПо умолчанию Pushwoosh Android SDK работает в режиме одного уведомления: каждый push отправляется с одним и тем же идентификатором уведомления, поэтому каждый новый заменяет предыдущий. Это не связано с производителем устройства или с collapse_key.
Начиная с версии компонента Pushwoosh Plugin 4.7.0, включите группировку с помощью готового клиентского действия SetMultiNotificationMode:
- Обновите компонент Pushwoosh Plugin из Forge.
- Обновите зависимость к модулю PushwooshPlugin (Manage Dependencies).
- Добавьте
SetMultiNotificationModeв поток, который запускается после инициализации — например, в обработчик событияOnInitializeOver, сразу послеRegisterDevice. Действие не принимает параметров, и один успешный вызов сохраняется в SDK и остается действительным после перезапусков.
После этого каждый push будет отображаться как отдельное уведомление. Android группирует их в один расширяемый стек со счетчиком — это стандартная системная группировка. Примечание: push-уведомления, отправленные со значением android_tag, по-прежнему заменяют друг друга независимо от режима.