I have a Firebase Swift chat app where I'd like to send a push notification to a specific user. I have already captured and have access to the user's device token.
All the references mention having to have a 'web app' to manage this, but I haven't managed to find any specific examples of this.
Is it necessary to have a web app to manage push notifications for Firebase?
If so, are there any examples of how this can work?
Thank you.
import FirebaseMessaging
in your AppDelegate.swift
file.AppDelegate
class.didRefreshRegistrationToken
delegate method and get your user's registration token:Now you are ready to send push notification to your specific user. Send notification as below:
func sendPushNotification(payloadDict: [String: Any]) {
let url = URL(string: "https://fcm.googleapis.com/fcm/send")!
var request = URLRequest(url: url)
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
// get your **server key** from your Firebase project console under **Cloud Messaging** tab
request.setValue("key=enter your server key", forHTTPHeaderField: "Authorization")
request.httpMethod = "POST"
request.httpBody = try? JSONSerialization.data(withJSONObject: payloadDict, options: [])
let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data, error == nil else {
print(error ?? "")
return
}
if let httpStatus = response as? HTTPURLResponse, httpStatus.statusCode != 200 {
print("statusCode should be 200, but is \(httpStatus.statusCode)")
print(response ?? "")
}
print("Notfication sent successfully.")
let responseString = String(data: data, encoding: .utf8)
print(responseString ?? "")
}
task.resume()
}
Now call above function as:
let userToken = "your specific user's firebase registration token"
let notifPayload: [String: Any] = ["to": userToken,"notification": ["title":"You got a new meassage.","body":"This message is sent for you","badge":1,"sound":"default"]]
self.sendPushNotification(payloadDict: notifPayload)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With