Outsystems 常见问题解答
在具有多个可能包名的项目中管理 google-services 文件
Anchor link to在该插件中,您可以向项目中添加多个 google-service.json 文件,系统会根据构建期间设置的包名选择正确的文件。
如果您想在多个 Firebase 项目(每个项目都有自己的 google-services.json 配置文件)之间切换,请按照以下步骤操作:
-
创建一个 ZIP 压缩文件。将每个
google-services.json文件放入一个名为google-services.zip的.zip压缩文件中。 -
将此
.zip文件添加到项目时,将操作设置为“部署到目标目录”,并将目标目录指定为google-services/${package_name}。
例如,如果项目包名为 com.pushwoosh.demo,则目标目录将为 google-services/com.pushwoosh.demo。

- 在项目构建期间,指定相应的包名。

解决多个依赖 FirebaseMessagingService 的插件之间的冲突
Anchor link toAndroid 不会自动解决此类冲突,因此必须手动解决。由于每个插件都有自己的逻辑,我们无法提供适用于所有可能插件的通用代码。
以下是解决冲突的方法:
- 在 Java 中编写一个路由器类来处理冲突。该类必须命名为
FirebaseMessagingRouterService。
有关示例,请参阅指南:将 Pushwoosh SDK 与其他 FCM 服务一起使用。
-
命名类文件。包含此类的文件必须命名为
FirebaseMessagingRouterService.java。 -
将此文件放入一个名为
FirebaseMessagingRouterService.zip的.zip压缩文件中。 -
将此压缩文件添加到您的 Outsystems 项目的资源中。
-
将操作设置为“部署到目标目录”,并将目标目录指定为
FirebaseMessagingRouterService。

在 Android 上,每条新通知都会替换上一条
Anchor link to默认情况下,Pushwoosh Android SDK 在单通知模式下工作:每条推送都以相同的通知 ID 发布,因此每条新推送都会替换上一条。这与设备供应商或 collapse_key 无关。
从 Pushwoosh 插件组件版本 4.7.0 开始,使用现成的 SetMultiNotificationMode 客户端操作启用堆叠:
- 从 Forge 更新 Pushwoosh 插件组件。
- 刷新对 PushwooshPlugin 模块的依赖(管理依赖项)。
- 将
SetMultiNotificationMode添加到初始化后运行的流程中——例如,在RegisterDevice之后,添加到OnInitializeOver事件的处理程序中。该操作不带参数,一次成功的调用会被 SDK 存储并在重启后保留。
然后,每条推送都会显示为一条单独的通知。Android 会将它们分组到一个带计数器的可展开堆栈中——这是标准的系统分组。注意:无论在哪种模式下,使用 android_tag 值发送的推送仍然会相互替换。