构建android应用程序时的cordova FCMplugin问题

Posted

技术标签:

【中文标题】构建android应用程序时的cordova FCMplugin问题【英文标题】:cordova FCMplugin issuse when building android app 【发布时间】:2018-09-18 23:55:53 【问题描述】:

我正在使用 https://github.com/fechanique/cordova-plugin-fcm 在我的科尔多瓦应用 (AngularJS) 中接收推送消息。

当我添加插件并构建我的应用程序时,一切正常。 但是,如果我对我的应用程序进行更改并重新构建它,我将无法收到前台消息。 (只有安卓有问题) 该插件仍然处于活动状态并注册了设备令牌以进行推送,但方法 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');
 

【问题讨论】:

你能分享订阅 onNotification 方法的代码块吗? 我在帖子中添加了 onNotification 部分。但我不认为这是问题所在。 【参考方案1】:

你最好再检查一下文档,Plugin Documentation here。 文档说onNotification 回调给你通知data 对象,该对象还包含wasTapped 布尔属性。在 wasTapped 属性和句柄属性上设置 if-else 条件。如果应用程序在前台并且收到通知,则布尔值将为 false;如果应用程序在后台并且用户单击通知,则布尔值将为 true

还要确保在 FCM 发送 API 的通知负载中发送 data 对象。如果您在点击时将用户重定向到其他页面,请确保您还在通知负载中发送"click_action":"FCM_PLUGIN_ACTIVITY"

【讨论】:

以上是关于构建android应用程序时的cordova FCMplugin问题的主要内容,如果未能解决你的问题,请参考以下文章

Cordova 构建 Android 错误

无法通过 Visual Studio Cordova 构建签名的 android 包

Cordova Android 应用程序构建问题 - 重复的 zip 条目

使用 Firebase 和 cordova-plugin-firebase 在 Apache Cordova Android 应用程序上构建问题

构建 android 应用程序时出错 (cordova-plugin-crosswalk-webview)

用于 android 的 cordova/phongap 流星构建中的后退按钮不会始终关闭应用程序