跳到内容

Outsystems 常见问题解答

在具有多个可能包名的项目中管理 google-services 文件

Anchor link to

在该插件中,您可以向项目中添加多个 google-service.json 文件,系统会根据构建期间设置的包名选择正确的文件。

如果您想在多个 Firebase 项目(每个项目都有自己的 google-services.json 配置文件)之间切换,请按照以下步骤操作:

  1. 创建一个 ZIP 压缩文件。将每个 google-services.json 文件放入一个名为 google-services.zip.zip 压缩文件中。

  2. 将此 .zip 文件添加到项目时,将操作设置为“部署到目标目录”,并将目标目录指定为 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. 将此文件放入一个名为 FirebaseMessagingRouterService.zip.zip 压缩文件中。

  3. 将此压缩文件添加到您的 Outsystems 项目的资源中。

  4. 将操作设置为“部署到目标目录”,并将目标目录指定为 FirebaseMessagingRouterService

在 Android 上,每条新通知都会替换上一条

Anchor link to

默认情况下,Pushwoosh Android SDK 在单通知模式下工作:每条推送都以相同的通知 ID 发布,因此每条新推送都会替换上一条。这与设备供应商或 collapse_key 无关。

从 Pushwoosh 插件组件版本 4.7.0 开始,使用现成的 SetMultiNotificationMode 客户端操作启用堆叠:

  1. 从 Forge 更新 Pushwoosh 插件组件。
  2. 刷新对 PushwooshPlugin 模块的依赖(管理依赖项)。
  3. SetMultiNotificationMode 添加到初始化后运行的流程中——例如,在 RegisterDevice 之后,添加到 OnInitializeOver 事件的处理程序中。该操作不带参数,一次成功的调用会被 SDK 存储并在重启后保留。

然后,每条推送都会显示为一条单独的通知。Android 会将它们分组到一个带计数器的可展开堆栈中——这是标准的系统分组。注意:无论在哪种模式下,使用 android_tag 值发送的推送仍然会相互替换。