cordova FCMplugin在构建android应用程序时使用

时间:2018-04-09 14:29:44

标签: android angularjs cordova ionic-framework cordova-plugin-fcm

我正在使用https://github.com/fechanique/cordova-plugin-fcm在我的cordova应用程序(AngularJS)中接收PUSH消息。

当我添加插件并构建我的应用程序时,一切正常。 但是如果我对我的应用程序进行更改并再次构建它,我就无法接收前景消息。 (Android上只有一个问题) 该插件仍然处于活动状态并注册设备令牌以进行推送,但onNotification()方法不再接收消息。

如果我删除并重新安装该插件,它会再次运行,但仅适用于一个版本。

我无法弄清楚导致问题的原因。 有什么想法吗?

修改

我认为“cordova build” - 命令以某种方式覆盖了一些东西,但我无法弄清楚是什么

我的onNotification代码

if (typeof FCMPlugin != 'undefined') {

     FCMPlugin.getToken(function (token) {
         //...
     });


     FCMPlugin.onTokenRefresh(function (token) {
         //...
     });


     FCMPlugin.onNotification(function(data){
         console.log('push-message received');

         $ionicPopup.alert({
             title: 'test',
             template: data.message
         });

     });
 }
 else{
     console.log('FCMPlugin not available');
 }

1 个答案:

答案 0 :(得分:0)

最好再次检查文档,Plugin Documentation here。 文档说onNotification回调会向您提供通知data对象,该对象还包含wasTapped布尔属性。在wasTapped属性上设置if-else条件并处理属性。如果应用程序在前台并且收到通知,则布尔值将为false;如果应用程序在后台并且用户单击了通知,则布尔值为true

还要确保您在通知有效载荷中为FCM发送api发送data对象。如果要在单击时将用户重定向到其他页面,请确保还向通知有效载荷中发送"click_action":"FCM_PLUGIN_ACTIVITY"