构建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问题的主要内容,如果未能解决你的问题,请参考以下文章
无法通过 Visual Studio Cordova 构建签名的 android 包
Cordova Android 应用程序构建问题 - 重复的 zip 条目
使用 Firebase 和 cordova-plugin-firebase 在 Apache Cordova Android 应用程序上构建问题