Issues required to combine Push notification
Earlier than we soar on to combine push notification utilizing Firebase messaging in iOS swift, you want few issues at your disposal to check iOS push notification. Under is the checklist of issues required to combine and test push notification integration in iOS.
- iPhone machine – Push notification didn’t work on simulator
- Apple developer account – Apple developer account is required with the intention to run app on iPhone machine and organising Auth key or certificates on firebase app console.
- App on Firebase.(You should use your gmail account to create an app on Firebase )
Establishing app
First open up Xcode and create a primary mission(in case you are utilizing an present mission then open it up). First step is to activate push notification capabilities for our app. Observe under steps to activate push notification functionality in your iOS app.

- Choose your mission title. See image for reference
- Choose your app goal. Choose Signing and capabilities.
- Click on on + Functionality.
- Seek for Push notification and click on on searched consequence displaying Push Notification.
Creating app on Firebase
- Open https://firebase.google.com , and click on on Go to console or Sign up.
- When you reached your Firebase console. Click on on Add Undertaking.
- Enter your mission title. Click on Proceed.
- Analytics is really helpful. However it’s your selection. For this tutorial, i made oi disabled.
- Click on Create Undertaking. After few seconds Firebase mission is created and you’re going to get message “Your new mission is prepared,”. Click on on proceed.
- Click on on iOS icon to begin process of including Firebase to your iOS app.
Including Firebase to iOS app
Copy bundle identifier from xcode mission(Proven in under image), and add it to Firebase app bundle if textbox.

You can provide nick title to your app on Firebase and may add app retailer id for the app (if added to apple join). Each of those steps are non-obligatory. Subsequent we have to obtain .plist file supplied by Firebase and add that .plist named as “GoogleService-Data.plist” to your mission. Lastly we have to add Firebase libraries to our xcode mission. We are going to going to make use of cocoapods for our xcode mission.
You could find checklist of firebase pods from this hyperlink https://firebase.google.com/docs/ios/setup?authuser=0
Putting in Firebase messaging pod
For this tutorial, we’re solely interested by Firebase messaging pod. Since we’re solely integrating push notification with Firebase in IOS.
- Open terminal and sort command
- cd “path root listing of your mission (the place .xcodeproj file is situated)” Tip:- Merely click on on any file in your xcode mission and click on present in finder
- pod init
- open -e podfile
- As soon as podfile is opened in TextEdit paste under line to it, Save file and go t o terminal window
- pod set up
- After profitable set up shut your present xcode mission and reopen it with double faucet on file title having extension .xcworkspace
Open AppDelegate.swift and add under code
import UIKit import FirebaseCore import FirebaseMessaging @predominant class AppDelegate: UIResponder, UIApplicationDelegate { func software(_ software: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Override level for personalization after software launch. FirebaseApp.configure() return true }
Above code will initialize our Firebase object.
Requesting consumer permission for Push notification
Subsequent step is to request permissions from consumer for the push notification. Add under code to your software: didFinishLaunchingWithOptions methodology.
import UIKit import FirebaseCore import FirebaseMessaging @predominant class AppDelegate: UIResponder, UIApplicationDelegate { func software(_ software: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Override level for personalization after software launch. FirebaseApp.configure() UNUserNotificationCenter.present().delegate = self let authOptions: UNAuthorizationOptions = [.alert, .sound,.badge] UNUserNotificationCenter.present().requestAuthorization(choices: authOptions) { success, error in if error != nil { //we're able to go } } software.registerForRemoteNotifications() return true }
In above code, we use UserNotificationCentre to request consumer to permit push notification having permissions for alert, sound and badge.
Conforming to UNUserNotificationCenterDelegate protocol
We have to implement delegates required for Push notification. First we are going to implement delegate that may give us machine token. If you wish to know primary mechanism behind how push notification works in apple ecosystem then please test under hyperlink
https://stackoverflow.com/questions/17262511/how-do-ios-push-notifications-work
Getting machine token
extension AppDelegate: UNUserNotificationCenterDelegate { func software(_ software: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Information) { Messaging.messaging().apnsToken = deviceToken } func software(_ software: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) { print("Didn't register with push") } }
Delegate named didRegisterForRemoteNotificationsWithDeviceToken, offers us distinctive token for the machine which desires to obtain apple push notification. We are going to set this token to Firebase messaging apnsToken. You’ll be able to ship this apns token to your server in case your server is sending notifications to you. Second delegate, named didFailToRegisterForRemoteNotificationsWithError will will get known as if we fail to get machine token.
Observe:- Since Firebase by default use methodology swizzling, so we have to flip it off if we wish to get push as we’re mapping machine token in IOS didRegisterForRemoteNotificationsWithDeviceToken delegate and never utilizing Firebase token handler. We will disable methodology swizzling, by setting a key in information.plist file of our xcode mission. Test under picture.

Including UNUserNotificationCenterDelegate
UNUserNotificationCenterDelegate has two delegates that we have to implement
- willPresent notification :- This delegate will will get known as as soon as we obtain push notification and our app is in foreground.
- didReceive response:- This delegate will will get known as when consumer clicks on notification.
func userNotificationCenter(_ heart: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) { print("Will will get known as when app is in forground and we wish to present banner") completionHandler([.alert, .sound, .badge]) } func userNotificationCenter(_ heart: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) { print("Will will get known as when consumer faucet on notifictaion") completionHandler() } }
Creating Auth key
Open https://developer.apple.com/account/ and choose Certificates, identifiers and profiles choice. On left menu click on on auth key choice. Create it and obtain it to protected place as we’d like this key file in subsequent step, all steps are self explanatory. As soon as your authkey is generated by apple, copy “Key ID”. Lastly, we required group id yow will discover your Staff ID within the Apple Member Heart below the membership tab
Including Auth key to Firebase mission
Lastly we have to add auth key or push certificates to Firebase mission. Go to your Firebase mission, and click on on gear icon on prime left nook. Choose “Undertaking Settings” -> “Cloud Messaging” -> Scroll all the way down to IOS app and click on on “Add” button below “APNs Authentication Key” part. Add auth key file created in final part, and key ID with group ID in required fields. Click on add.
Take a look at Push notification
Run your app from xcode to actual iPhone machine. Permit push notification and ship app to background. Now, open up Firebase mission and discover “Cloud Messaging” from left menu. Click on on it. If this your first message you will notice button having textual content “Ship you first message”. Fill within the required kind .Click on Assessment, a pop up will present up in your display screen. Click on Publish. Your machine will obtain a push notification.
The place to go from right here
On this tutorial, we realized the best way to combine push notification in iOS app utilizing Firebase cloud messaging in swift. We lined all steps from begin to finish the place we acquired a push notification from Firebase. In case you are on the lookout for video tutorial for identical then go to under hyperlink
https://youtu.be/Tjg5X30XhMw