10.4 C
Canberra
Friday, September 20, 2024

Combine push notification utilizing Firebase messaging in swift – iOS swift tutorial – iOSTutorialJunction


Issues required to combine Push notification

Earlier than we leap on to combine push notification utilizing Firebase messaging in iOS swift, you want few issues at your disposal to check iOS push notification. Beneath is the listing of issues required to combine and examine push notification integration in iOS.

  • iPhone gadget – Push notification didn’t work on simulator
  • Apple developer account – Apple developer account is required with a view to run app on iPhone gadget and establishing 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 fundamental venture(if you’re utilizing an present venture then open it up). First step is to activate push notification capabilities for our app. Comply with beneath steps to activate push notification functionality in your iOS app.

Combine push notification utilizing Firebase messaging in swift – iOS swift tutorial – iOSTutorialJunction
Steps to activate push functionality
  1. Choose your venture title. See image for reference
  2. Choose your app goal. Choose Signing and capabilities.
  3. Click on on + Functionality.
  4. Seek for Push notification and click on on searched end result exhibiting Push Notification.

Creating app on Firebase

  • Open https://firebase.google.com , and click on on Go to console or Register.
  • When you reached your Firebase console. Click on on Add Mission.
  • Enter your venture title. Click on Proceed.
  • Analytics is beneficial. But it surely’s your selection. For this tutorial, i made oi disabled.
  • Click on Create Mission. After few seconds Firebase venture is created and you’ll get message “Your new venture is prepared,”. Click on on proceed.
  • Click on on iOS icon to start out process of including Firebase to your iOS app.

Including Firebase to iOS app

Copy bundle identifier from xcode venture(Proven in beneath image), and add it to Firebase app bundle if textbox.

The place to seek out bundle id in xcode venture

You may give 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-compulsory. Subsequent we have to obtain .plist file supplied by Firebase and add that .plist named as “GoogleService-Data.plist” to your venture. Lastly we have to add Firebase libraries to our xcode venture. We’ll going to make use of cocoapods for our xcode venture.

You will discover listing 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 fascinated with 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 venture (the place .xcodeproj file is positioned)” Tip:- Merely click on on any file in your xcode venture and click on present in finder
  • pod init
  • open -e podfile
  • As soon as podfile is opened in TextEdit paste beneath line to it, Save file and go t o terminal window
  • pod set up
  • After profitable set up shut your present xcode venture and reopen it with double faucet on file title having extension .xcworkspace

Open AppDelegate.swift and add beneath code

import UIKit
import FirebaseCore
import FirebaseMessaging

@fundamental
class AppDelegate: UIResponder, UIApplicationDelegate {

    func software(_ software: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        // Override level for personalisation after software launch.
        FirebaseApp.configure() 
        return true
    }

Above code will initialize our Firebase object.

Requesting person permission for Push notification

Subsequent step is to request permissions from person for the push notification. Add beneath code to your software: didFinishLaunchingWithOptions technique.

import UIKit
import FirebaseCore
import FirebaseMessaging

@fundamental
class AppDelegate: UIResponder, UIApplicationDelegate {

    func software(_ software: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        // Override level for personalisation 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 person 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’ll implement delegate that can give us gadget token. If you wish to know fundamental mechanism behind how push notification works in apple ecosystem then please examine beneath hyperlink

https://stackoverflow.com/questions/17262511/how-do-ios-push-notifications-work

Getting gadget 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, provides us distinctive token for the gadget which needs to obtain apple push notification. We’ll set this token to Firebase messaging apnsToken. You may 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 gadget token.

Be aware:- Since Firebase by default use technique swizzling, so we have to flip it off if we wish to get push as we’re mapping gadget token in IOS didRegisterForRemoteNotificationsWithDeviceToken delegate and never utilizing Firebase token handler. We are able to disable technique swizzling, by setting a key in data.plist file of our xcode venture. Test beneath picture.

Turning off Firebase technique swizzling

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 person clicks on notification.
    func userNotificationCenter(_ middle: 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(_ middle: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
        print("Will will get known as when person 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 secure place as we want 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 crew id yow will discover your Crew ID within the Apple Member Heart beneath the membership tab

Including Auth key to Firebase venture

Lastly we have to add auth key or push certificates to Firebase venture. Go to your Firebase venture, and click on on gear icon on high left nook. Choose “Mission Settings” -> “Cloud Messaging” -> Scroll right down to IOS app and click on on “Add” button beneath “APNs Authentication Key” part. Add auth key file created in final part, and key ID with crew ID in required fields. Click on add.

Check Push notification

Run your app from xcode to actual iPhone gadget. Permit push notification and ship app to background. Now, open up Firebase venture and discover “Cloud Messaging” from left menu. Click on on it. If this your first message you will note button having textual content “Ship you first message”. Fill within the required type .Click on Evaluation, a pop up will present up in your display screen. Click on Publish. Your gadget will obtain a push notification.

The place to go from right here

On this tutorial, we realized combine push notification in iOS app utilizing Firebase cloud messaging in swift. We lined all steps from begin to finish the place we obtained a push notification from Firebase. In case you are searching for video tutorial for identical then go to beneath hyperlink
https://youtu.be/Tjg5X30XhMw



Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

[td_block_social_counter facebook="tagdiv" twitter="tagdivofficial" youtube="tagdiv" style="style8 td-social-boxed td-social-font-icons" tdc_css="eyJhbGwiOnsibWFyZ2luLWJvdHRvbSI6IjM4IiwiZGlzcGxheSI6IiJ9LCJwb3J0cmFpdCI6eyJtYXJnaW4tYm90dG9tIjoiMzAiLCJkaXNwbGF5IjoiIn0sInBvcnRyYWl0X21heF93aWR0aCI6MTAxOCwicG9ydHJhaXRfbWluX3dpZHRoIjo3Njh9" custom_title="Stay Connected" block_template_id="td_block_template_8" f_header_font_family="712" f_header_font_transform="uppercase" f_header_font_weight="500" f_header_font_size="17" border_color="#dd3333"]
- Advertisement -spot_img

Latest Articles