Ionic 4 + Firebase-发送通知用户聊天应用

时间:2018-11-28 14:25:24

标签: firebase notifications ionic4

我正在使用Ionic 4 + Firebase构建一个聊天应用程序,我希望在用户收到新消息时向该设备发送通知,即使该应用程序未运行。

我一直在Google上搜索很多,有很多不同的方式,FCM,onesignal(我不喜欢它们,因为我发现该服务是免费的,但是他们将您的应用程序数据卖给了第三方公司。)等等。 ..但很多答案都像2-3岁,所以我不想开始构建某些东西,然后意识到这不适用于最新的IOS或Android版本...

我不想像大多数FCM教程一样向所有用户发送通知,如果需要的话,我会在将来尝试这样做,现在我只想创建一个在以下情况下触发的云函数:在Firebase数据路径/ messages /中添加了一些内容,并向用户发送了通知。

最后,可以在不构建实际应用程序的情况下对此进行测试吗?我仍处于开发阶段,我使用ionic serve实验室和App Ionic DevApp进行了所有测试,这使我能够测试cordova插件的本机功能,有关FCM通知的所有教程都说明了如何注册该应用,因此该应用必须实际建造过。是否可以使用Ionic DevApp和离子服务直接对其进行测试?

谢谢!

1 个答案:

答案 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)
      })
  }