Я должен создать свой проект тестового уведомления и использовать в нем фреймворк Firebase.
У меня есть одна проблема, и я знаю об этом, но я не могу это исправить, и я так растерялся !!!
так как я отправил уведомление с сервера на приложение, мой проект вызвал этот метод:
func messaging(_ messaging: Messaging, didReceive remoteMessage: MessagingRemoteMessage) {
print("NOTY")
print("Received data message: \(remoteMessage.appData)")
print("Received Remote Message: 2\nCheck Out:\n")
}
этот метод не работает в фоновом режиме !!!
Теперь, так как я отправил уведомление из консоли Firebase в приложение, мой проект называл этот метод:
public func userNotificationCenter(_ center: UNUserNotificationCenter,
willPresent notification: UNNotification,
withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
let userInfo = notification.request.content.userInfo
print("NOTY5")
debugPrint(userInfo)
if let page = userInfo["page"] as? String {
if page == "finish_tr" {
}else if page == "one_page" {
}else if page == "payment" {
}
}
completionHandler([.alert, .badge, .sound])
этот метод отображает мне уведомления и работает в фоновом режиме: D
Теперь моя проблема здесь !!!
почему в первом состоянии didReceive remoteMessage
должен вызываться, но во втором состоянии должен вызываться userNotificationCenter !!!
Это может зависеть от полезной нагрузки ???
моя полезная нагрузка при отправке с сервера:
{
"priority":"high",
"registration_ids":[
""
],
"data":{
"page":"all_tender",
"body":"test body",
"tr_id":null,
"timestamp":1535879143,
"title":"title test"
},
"aps":{
"page":"all_tender",
"body":"test body",
"tr_id":null,
"timestamp":1535879143,
"title":"test title"
}
}
теперь, когда я сделал два состояния, получаю эти журналы:
Я получаю этот отпечаток в первом состоянии:
[AnyHashable("from"): 1078335662056, AnyHashable("page"): all_tender, AnyHashable("title"): test title, AnyHashable("timestamp"): 1535883883, AnyHashable("body"): test body]
Но я получаю этот отпечаток во втором состоянии (уведомление о тестировании Firebase):
[AnyHashable("dsf"): dsf, AnyHashable("google.c.a.c_l"): sadf, AnyHashable("google.c.a.e"): 1, AnyHashable("google.c.a.ts"): 1535884249, AnyHashable("google.c.a.udt"): 0, AnyHashable("gcm.n.e"): 1, AnyHashable("aps"): {
alert = {
body = aaaaaa;
title = bbbbb;
};
}, AnyHashable("google.c.a.c_id"): 8610540651637958517, AnyHashable("gcm.message_id"): 0:1535884249651346%024f9630024f9630]