我正在使用Ionic 4 + Firebase构建一个聊天应用程序,我希望在用户收到新消息时向该设备发送通知,即使该应用程序未运行。
我一直在Google上搜索很多,有很多不同的方式,FCM,onesignal(我不喜欢它们,因为我发现该服务是免费的,但是他们将您的应用程序数据卖给了第三方公司。)等等。 ..但很多答案都像2-3岁,所以我不想开始构建某些东西,然后意识到这不适用于最新的IOS或Android版本...
我不想像大多数FCM教程一样向所有用户发送通知,如果需要的话,我会在将来尝试这样做,现在我只想创建一个在以下情况下触发的云函数:在Firebase数据路径/ messages /中添加了一些内容,并向用户发送了通知。
最后,可以在不构建实际应用程序的情况下对此进行测试吗?我仍处于开发阶段,我使用ionic serve实验室和App Ionic DevApp进行了所有测试,这使我能够测试cordova插件的本机功能,有关FCM通知的所有教程都说明了如何注册该应用,因此该应用必须实际建造过。是否可以使用Ionic DevApp和离子服务直接对其进行测试?
谢谢!
答案 0 :(得分:0)
sendPushNotification() {
const headers = new HttpHeaders({
"Content-Type": "application/json",
Authorization: "firebase_serverkey"
});
console.log("Headers", headers);
let body = {
"notification": {
"title": "User",
"body": "New message",
"sound": "default",
"click_action": "FCM_PLUGIN_ACTIVITY",
"icon": "fcm_push_icon"
},
"data": {
"landing_page": "second",
"price": "$3,000.00"
},
"to": this.activatedRoute.snapshot.paramMap.get('token'),
"priority": "high",
"restricted_package_name": ""
}
this.http.post('https://fcm.googleapis.com/fcm/send', JSON.stringify(body), { headers: headers })
.subscribe(res => {
console.log("data from notification", res)
})
}