通过FCM的Ionic 3推送通知-无法通过REST Api获取令牌或发送消息(更新)

时间:2019-05-16 11:41:41

标签: firebase ionic-framework ionic3 firebase-cloud-messaging cordova-plugin-fcm

我正在尝试通过Firebase向我的Ionic 3 App发送推送通知。经过大量更新和降级后,它才能工作。

我能够通过Firebase后端向我的所有用户发送推送通知。但是我无法将消息发送到单个设备。

一个问题是,firebase.getToken()方法不返回任何内容。它只是运行中...而运行中..没有任何结果。 因此,我尝试将“ abc:1234”之类的令牌推送到我的Firebase后端。我看到了这个令牌,带有一个userId'testUserId'。

我不知道令牌的外观。我试图将device.uuid设置为令牌。但是我认为userId应该是唯一的,而不是令牌。有可能吗?

下一个问题可能是api调用。我正在尝试通过REST Api将消息发送到单个设备。

这是我的电话:

POST @ https://fcm.googleapis.com/fcm/send

Headers:
Content-Type: application/json
Authorization: key=AAAA.....

Body: to is testUserId or "abc:1234" - nothing works

{
 "to" : "testUserId",
 "notification" : {
     "body" : "Body of Your Notification",
     "title": "Title of Your Notification"
 },
 "data" : {
     "body" : "Body of Your Notification in Data",
     "title": "Title of Your Notification in Title",
     "key_1" : "Value for key_1",
     "key_2" : "Value for key_2"
 }
}

结果始终相同:

{
    "multicast_id": 6137262153965761905,
    "success": 0,
    "failure": 1,
    "canonical_ids": 0,
    "results": [
        {
            "error": "InvalidRegistration"
        }
    ]
}

我希望有人能帮助我。要在Ionic 3上运行FCM ​​Cloud Messaging非常困难。 非常感谢。

更新:我找到了一种解决方案:)

我用ionic-native/firebase@5.6.0构建它

但我认为此版本已损坏。现在,我使用以下命令将插件降级到4.20.0版本:

npm i -s @ionic-native/firebase@4.20.0

您可以不使用/ ngx导入Firebase。 因此,这应该是您的导入对象:

import {Firebase} from '@ionic-native/firebase';

0 个答案:

没有答案