如果应用程序在后台运行,则不会触发onNotification回调。使用cordova-plugin-fcm-with-dependecy更新的cordova插件

时间:2019-12-14 15:04:56

标签: android cordova meteor firebase-cloud-messaging

在后台运行应用程序时,点击通知后onNotification回调不会触发。 该应用程序转到前台,但是JS事件处理程序未执行。另外,对于Android,Logcat中没有包含FCMPluginActivity的消息,因此,我认为相应的活动不会开始。

由于我们使用流星,Cordova版本由Meteor版本修复,而最新的流星版本具有cordova-android v7.1.4和cordova-ios v4.5.5,因此无法使用最新版本的cordova-plugin-fcm-with-dependecy-updated 。因此,我们使用版本3.2.0。

如何复制(对于Android):

  1. 创建新的流星应用程序:meteor create --full ./test-fcm
  2. 添加插件:meteor add cordova:cordova-plugin-fcm-with-dependecy-updated@3.2.0
  3. 将mobile-config.js文件添加到包含App.info({id: "com.yourCompany.appId"});的根目录。
  4. 将google-services.json文件添加到test-fcm / cordova-build-override / platforms / android / app/。
  5. 启动应用:meteor run android
  6. 将Chrome DevTools连接到仿真器并创建onNotification事件处理程序:window.FCMPlugin.onNotification((data) => { console.log(data); });
  7. 从firebase控制台发送带有自定义数据的通知。

任何建议都会有所帮助。 谢谢!

1 个答案:

答案 0 :(得分:0)

结果是我们忘记将click_action字段添加到FCM请求有效负载("click_action":"FCM_PLUGIN_ACTIVITY")中。

将此字段放在适当位置onNotification正常工作。