Можно ли сделать так, чтобы исходящее сообщение пожарной базы доставлялось как действенное уведомление?Это то, чего я пытаюсь достичь: я хочу иметь возможность отправлять действенное исходящее сообщение о пожарной базе со своего iPad на мой iPhone.
Возможно ли это?
Вот какой сейчас мой кодпохоже.Я могу успешно отправить удаленное уведомление, и iPhone получает его.Я пробовал много разных вещей, чтобы заставить его отправлять действенное уведомление, но ничего не работает.
let Category = UNNotificationCategory(identifier: "MESSAGE",
actions: [],
intentIdentifiers: [],
options: .customDismissAction)
let snoozeAction = UNNotificationAction(identifier: "EMERGENCY_MESSAGE_ACTION",
title: "Are you ok?",
options: UNNotificationActionOptions(rawValue: 0))
let center = UNUserNotificationCenter.current()
center.setNotificationCategories([Category])
let serverKey = "MY_SERVER_KEY"
let topic = ""
let url = URL(string: "https://fcm.googleapis.com/fcm/send")
let postParams = [
"to": "RECIEVING_DEVICE_TOKEN","mutable_content":true,
"notification": [
"body" : "\(emergencyMessage.text!)",
"title" : "EMERGENCY!",
"sound" : "alert.aiff", // or specify audio name to play
"message_id": "12345"
],
"data":[
"apns":[
"payload": [
"aps": [
"category": "MESSAGE"
]
]
]
]
]
as [String : Any]
let request = NSMutableURLRequest(url: url! as URL)
request.httpMethod = "POST"
request.setValue("key=\(serverKey)", forHTTPHeaderField: "Authorization")
request.setValue("application/json; charset=utf-8", forHTTPHeaderField: "Content-Type")
do {
request.httpBody = try JSONSerialization.data(withJSONObject: postParams, options: JSONSerialization.WritingOptions())
print("My paramaters: \(postParams)")
} catch {
print("Caught an error: \(error)")
}
let task = URLSession.shared.dataTask(with: request as URLRequest) { (data, response, error) in
if let realResponse = response as? HTTPURLResponse {
if realResponse.statusCode != 200 {
print("Not a 200 response")
}
}
if let postString = NSString(data: data!, encoding: String.Encoding.utf8.rawValue) as String? {
print("POST: \(postString)")
}
}
.resume()
}