Swift Firebase HTTP Push-уведомление - PullRequest
       43

Swift Firebase HTTP Push-уведомление

0 голосов
/ 19 сентября 2018

Я нашел этот функционал, который работает нормально.Я хотел бы добавить изображение к уведомлению, но я не знаю, как сделать так, чтобы оно отображалось в сообщении HTTP или нужно ли настроить службу уведомлений / контент.Кто-нибудь знает, если при добавлении параметра в эту функцию будет отображаться UIimage?

Спасибо,

func sendRequestPush()  {
    // create the request
    let url = URL(string: "https://fcm.googleapis.com/fcm/send")
    let request = NSMutableURLRequest(url: url!)
    request.httpMethod = "POST"
    request.setValue("key=putYourLegacyServerKeyHere", forHTTPHeaderField: "authorization")
    request.setValue("application/json", forHTTPHeaderField: "Content-Type")
    let parameters = ["to": "putYourFCMToken",
                               "priority": "high",
                               "notification": ["body":"Hello1", "title":"Hello world","sound":"default"]] as [String : Any]
    do {
        request.httpBody = try JSONSerialization.data(withJSONObject: parameters, options: .prettyPrinted) // pass dictionary to nsdata object and set it as request body
    } catch let error {
        print(error.localizedDescription)
    }
    let config = URLSessionConfiguration.default
    let session = URLSession(configuration: config)
    let dataTask = session.dataTask(with: request as URLRequest) { data,response,error in
        let httpResponse = response as? HTTPURLResponse
        if (error != nil) {
            print(error!)
        } else {
            print(httpResponse!)
        }
        guard let responseData = data else {
            print("Error: did not receive data")
            return
        }
        do {
            guard let responseDictionary = try JSONSerialization.jsonObject(with: responseData, options: [])
                as? [String: Any] else {
                    print("error trying to convert data to JSON")
                    return
            }
            print("The responseDictionary is: " + responseDictionary.description)
        } catch  {
            print("error trying to convert data to JSON")
            return
        }
        DispatchQueue.main.async {
            //Update your UI here
        }
    }
    dataTask.resume()
}
...