Ionic 3 Push Notification через FCM - невозможно получить токен или отправить сообщение через REST Api (обновление) - PullRequest
0 голосов
/ 16 мая 2019

Я пытаюсь отправить push-уведомление через Firebase в приложение Ionic 3.Это работает после множества обновлений и понижения.

Я могу отправить push-уведомление через Firebase Backend всем своим пользователям.Но я не могу отправить сообщение на одно устройство.

Одна проблема в том, что метод 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"
        }
    ]
}

Я надеюсь, что кто-то может мне помочь.Запустить FCM Cloud Messaging на Ionic 3 очень сложно. Спасибо большое.

Обновление: я нашел решение:)

Я создаю его с помощью ionic-native/firebase@5.6.0

Но я думаю, что этоверсия не работаетТеперь я понизил свой плагин до версии 4.20.0 с этим:

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

И вы можете импортировать Firebase без / ngx.Так что это должен быть импорт для вас:

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