我正在尝试使用 Firebase 云消息从我的 ionic 应用发送通知。我按照以下步骤安装了 FCM 插件:
cordova plugin add cordova-plugin-fcm
npm install --save @ionic-native/fcm
到目前为止,一切都很好。我正在使用离子原生的 http 插件,使用后请求通过FCM rest api发送通知。所以我使用以下命令安装了http 插件:
cordova plugin add cordova-plugin-advanced-http
npm install --save @ionic-native/http
我在我的app.modules.ts中包含了FCM和HTTP模块,在我的一个控制器中,这是我发送post请求的方式:
this.http.post('https://fcm.googleapis.com/fcm/send',
{
"notification": {
"title": "Notification title",
"body": "Notification body"
},
"data": {
"key1": "value1",
"key2": "value2"
},
"to": "/topics/all",
"priority": "high"
},
{
"Content-type": "application/json",
"Authorization": "key=serverkey"
}
).catch(error=>{
alert(error.error);
})
我从firebase 控制台获取了服务器密钥值。因此,当我发送发布请求时,不会显示任何错误消息,但没有发送通知。
有什么帮助吗?谢谢。
尝试在帖子之前添加以下内容,以便将对象参数编码为 JSON
this.http.setDataSerializer("json")
这解决了我的问题(见评论)