Push-уведомления на Swift - PullRequest
0 голосов
/ 25 февраля 2019

У меня действительно большая проблема с уведомлениями Firebase;Моя проблема в том, что я могу получать уведомления в фоновом режиме и в режиме переднего плана, но если я прекращаю его (убиваю его из оперативной памяти), я ничего не могу получить.

Я обнаружил, что если я прокомментирую эту функцию

func application(_ application: UIApplication,
                 didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
    Messaging.messaging().apnsToken = deviceToken
}

Я могу получить уведомление при повторном открытии приложения после его завершения, но не могу получить уведомление в фоновом режиме, как раньше.

Есть какой-то способ решить его, потому что мое приложениедолжен получать уведомления каждый раз: фон, передний план и когда приложение открывается из завершенного состояния

Ниже приведен пример JSON моего уведомления:

{
"content_available": true,
"priority": "high",
"data": {
    "priority": "SILENT",
    "target": "contact",
    "msgBody": "",
    "msgTitle": ""
},
"to": "firebase_TOKEN"

}

IТакже хочу сказать, что это уведомление должно быть тихим

Ответы [ 2 ]

0 голосов
/ 25 февраля 2019

Когда приложение убито, уведомление будет обрабатываться из операционной системы, поэтому для отображения уведомления ему нужен какой-то особый ключ.

Как показано в примере ниже:

{

"content_available": true, 
  "notification": {
    "title":  "has sent you a message", 
    "sound": "default", 
    "body": "Hi", 
    "badge": 6

  }, 
  "to": "firebase_TOKEN", 
  "priority": "high"
}

Здесь вам нужно заменить"data" с "notification" и вам также нужно "title" вместо "msgTitle", а "msgBody" будет заменено на "body".

Похоже, у вас есть полезная нагрузка Android, которая не будет работатьс iOS.

0 голосов
/ 25 февраля 2019

Вы должны добавить "Content-available" : "1", в свое уведомление, чтобы получить push-уведомление, когда приложение убито.

...