Library

Course: iOS Push Notifications: Beginner to Advanced

iOS Push Notifications: Beginner to Advanced

  • Life Time Access
  • Certificate on Completion
  • Access on Android and iOS App
About this Course

iOS Push Notifications: Beginner to Advanced

This course will take you on a deep dive into push notifications. So many courses teach the bare bones minimum - but there is so much more to know in order to build systems that are actually useful, effective, and that can reach users in the right way.

What You Will Learn

  • You'll start by learning the easiest form of notifications - Local Notifications. These type of notifications don't require a server, and are a quick way to reach users and deliver messages and content.
  • After that, you will learn how to work with iOS's native CloudKit. Not only will you learn how to build out a robust push notification system, but you take advantage of some amazing CloudKit APIs and work with both silent & visible notifications.
  • After CloudKit, you'll learn how to work with Firebase Cloud Messaging. Firebase is a powerful suite of tools that helps you build robust, scalable, mobile applications. You'll learn how to work with CloudFunctions and how to send both local and remote notifications for both iOS & Android.
  • Then you'll learn AWS. AWS can be super confusing. We break it down super simple and help you build a push notification system on top of AWS that can scale to millions of users.
  • Lastly, we'll jump on the hot new Vapor tool. Vapor lets you write server-side applications all in Swift. You'll build your OWN server to deliver push notifications - and you'll do it all in Swift. So not only are you learning push, but full stack application development!

The Course Breakdown:

  • Local notifications
  • CloudKit
  • Triggers
  • Queries
  • Basic deep linking
  • Silent & visible notifications
  • Firebase Cloud Messaging
  • Firebase Cloud Functions
  • AWS Push notifications
  • Server side Swift development w/ Vapor

Who Should Take This Course

  • Anyone who wants a better way to reach users in their iOS apps, should take this course. The course is designed to help you build robust push systems that can engage users and provide value to your customers. 
  • This course assumes knowledge of Swift and goes far deeper into push notifications than any basic videos or tutorials you may have taken.

Developer Support

Don't forget, we offer a free Chat Community on our website where you can interact with over 10,000 other students and developers to network and get help.

Who is the target audience?

  • Jr to Advanced iOS developers
  • Anyone who wants to master Push Notifications
  • Anyone who wants to use AWS, Firebase, CloudKit, or Vapor for Push
Basic knowledge
  • Requires computer running macOS
  • Should have basic knowledge of Swift
What you will learn
  • Implement Local Notifications on iOS
  • Implement push notifications with CloudKit & iCloud
  • Implement push notifications with AWS
  • Implement push notifications with Firebase
  • Build custom server in Swift with Vapor
  • Implement push notifications with Vapor
Curriculum
Number of Lectures: 48
Total Duration: 11:26:27
Intro to Course
  • Introduction to this course  

    This video is an overview of what to expect in the Notifications Course. There are several technologies covered throughout the course, so you will learn everything you need to know about notifications and more.

  • Who this course is for?  

    This course covers a lot of different technologies, and we assume that you have a general understanding of how to make basic iOS apps. This course may be best suited for intermediate to advanced developers.

Local Notifications on iOS 11
  • Session 2 - Intro to App  

    We will be building an app called Remind to cover the different types of local notification triggers. We will cover what the app looks like and how it functions.

  • UI setup  

    We are going to go over all the necessary UI setup for the Remind App. We add the app icon assets, general layout of the buttons, and connecting the code to the storyboard.

  • Setting up UNService  

    Keeping our code dynamic and reusable should be a high priority for every developer. We are going to create a helper class that handles UserNotification functionality.

  • Triggers Part 1  

    We finally start receiving notifications to our app by setting up the triggers. We will cover how to trigger local notifications based off of timers and dates.

  • Triggers Part 2  

    Since location based triggers aren’t always reliable, we start go over a common workaround to trigger a notification based on a user’s location. We will incorporate Core Location to trigger our location based notifications.

  • Attachments  

    There are several types of media that you can attach to both local and remote notifications. We will be adding images to each of our notifications to make them more rich.

  • Category and Actions  

    Showing rich notifications is cool and all, but things get real interesting when you can interact with notifications. We will be covering how to add categories and actions to our notifications.

  • Handling Notification Actions  

    What’s the point of having an action/button with your notification if it doesn’t do anything? We are going to go over how to handle notification actions and run logic based on user interaction.

Working With iCloud & Push Notifications for iOS 11
  • Session 3 - Intro to App  

    We’re going to keep things native by using iCloud to send notifications to our device. We cover how our Notes app will look and function at the end of this section.

  • Setting up the UI  

    We’re going to setup all the UI elements for our Notes app. We will setup the app icon, table view, and input method for our notes.

  • Setting up iCloud  

    We get up and running with iCloud and it’s dashboard. To keep our CloudKit functionality dynamic, we will create a helper class for all our CloudKit methods.

  • Querying iCloud  

    Sending data somewhere isn’t so special, so let’s start getting that data back. We will go over how to query iCloud for our notes so we can display them in the app.

  • Receiving Silent Notifications  

    We finally are ready to start receiving notifications from iCloud. We will be working with what iCloud does best, sending silent notifications.

  • Receiving Visible Notifications  

    POW! Apparently you like your notifications to be visible to the user. We’re going to cover how to setup UserNotifications so we can receive visual notifications from iCloud.

  • Handling Notifications  

    Now that the remote notifications are visible, it’s time to start handling them. We’re going to cover how the app should react once it receives a visible push notification.

Working With Firebase & Push Notifications for iOS 11
  • Session 4 - Intro to App  

    We will be working with a couple of different Firebase services. In this video, we cover how the app will look and how the Firebase services come together to send and receive notifications from the app.

  • UI Setup (Firebase)  

    Stop making ugly apps people! We’re going to spend some time on getting the UI setup for our For Sale app with collection views, images, and alert controllers.

  • Setting up Push Notifications  

    There’s a couple of extra steps required when working with third party services and push notifications. We will go over how to get our code ready to interact with push notifications as well as setup our app’s information on the Apple Developer portal.

  • Firebase Database Part 1  

    “You said this was an app built on Firebase. Where’s the Firebase?” You’re right, let’s get Firebase in our project and start getting some code ready to interact with the Real-time Database.

  • Firebase Database Part 2  

    Now that we have an awesome helper service to interact with Firebase, we can see the format of the data and begin parsing. We’re going turn our Firebase snapshot into an array of products that can be displayed in our collection view.

  • Firebase Messaging  

    Finally, notifications! We’re going to setup Firebase Messaging in our app and get it ready to receive notifications that are sent from the Firebase Messaging Console.

  • Topic Subscription  

    Notifications aren’t for everyone, so let’s setup a subscription that allows users to opt in for notifications. We will add the option to subscribe or unsubscribe to a topic so a user can decide when they want to be notified.

  • Cloud Functions Up and Running  

    “What do you mean I have to write JavaScript?!” We are going to setup our Firebase Cloud Functions using JavaScript. Don’t worry, it’s really easy and we go over everything step by step.

  • Cloud Function Notification  

    Now that we’re JavaScript experts, let’s create a function that sends notifications to our topic. We will remove the “helloWorld” function and deploy a new function that will allow our app to send and receive notifications.

  • Notification Service Extension  

    Sending text only notifications is so 2015. Let’s make some beautiful notifications by having our app download an image from a URL so it can be an attachment to our notification.

  • Outro  

    You have finished a our awesome For Sale app! Don’t just stop here though, it’s your turn to take this app to the next level!

iOS 11, Push Notifications, and Amazon AWS
  • Session 5 - Intro to App  

    We will cover what the final product of our Push Chat app looks like and how it works. You’re going to need a second device to really test out the final product.

  • UI Setup (AWS)  

    We will be covering all the basic UI elements needed to have basic usability in place. Push Chat keeps the UI very simple because simple is sexy.

  • Setting Up Persistence  

    AWS SNS (Simple Notification Service) doesn’t require any other AWS services to work, so we can send a notification directly from one device, to another. However, in order to have an app that keeps data, we will be setting up a persistence service with User Defaults to save data.

  • Setting Up User Notifications  

    There’s a couple of extra steps required when working with third party services and push notifications. We will go over how to get our code ready to interact with push notifications as well as setup our app’s information on the Apple Developer portal.

  • Up and Running with AWS  

    You can’t interact with AWS if it isn’t in your project, so let’s get it in our project. We’re going to cover how to setup an AWS account and install AWS dependency into our project.

  • Registering with SNS (Simple Notification Service)  

    Now that our project is connected to AWS, we can start working on connecting it to SNS. We will be sending notifications from the SNS console directly to our app.

  • Subscribing and Publishing to Topics  

    Having the user going to the AWS console to send a message doesn’t really seem like a reasonable expectation. We’re going to setup a topic that user’s subscribe to once they sign in so they can send and receive notifications to and from their device.

  • Adding Text Entry to Notifications  

    You’re not really going to make a user open your app just to reply to a message, are you? Of course not! So let’s add text entry to our notification so a user can respond to a message whether Push Chat is in the foreground or background

  • Handling Notifications (AWS)  

    Being able to reply directly from a notification is cool, but let’s make sure sure our app is handling these notifications and responses properly. We need to go over how to save both our message as well as the incoming message to our app.

  • Notification Content Extension  

    Responding to a little box at the top of the screen just seems weird, right? We’re going to duplicate the UI of our app in the actual notification so we can maintain the same look and feel when a user replies to a notification.

Launch Your OWN Push Server With Vapor & Swift
  • Session 6 - App Intro  

    We will go over the Push Server app we’re going to make, using Vapor. This app will let you send notifications to any and all of your apps.

  • Installing Vapor  

    It’s not a fun process, but it’s a necessary process. We will go over how to install Vapor on your machine and run Hello World.

  • Handling Get and Post  

    We will only need to use GET and POST requests to get our Push Server to work. We are going to cover how to handle both HTTP methods and send back a response.

  • Up and Running with Fluent  

    Fluent is going to be your best friend when working with Vapor. We will cover what Fluent is, and how to setup a model to use it.

  • Model Restructuring  

    Now that our App model is setup with Fluent, we have to go back and restructure our App model. We will be adding all the necessary properties to our App model so it will be usable when we’re ready to send push notifications.

  • Sending Notifications  

    Be happy that open source makes our lives easier. We’re going to install VaporAPNS in our project, which makes it’s super easy to send a push notification from our server app.

  • Dynamic Notifications  

    Now we know that VaporAPNS is super awesome and is able to send notifications to our app, but all of our values are hard coded. Let’s make our notifications more dynamic by creating a new model that will handle all the logic needed to send a notification to an app.

  • UP and Running My SQL  

    I don’t know about you, but I don’t like doing the same thing over and over again. We’re going to setup our app to work with MySQL so each app we insert into our database is persisted to our machine.

  • Testing the App  

    Everything is looking good so far, but will it actually work? We’re going to test the app by adding Notes, For Sale, and Push Chat to our database, sending notifications, and verifying each was properly persisted.

  • Outro (Vapor)  

    It’s official, you’re now a super awesome developer! Your Push Server app is now completed and can send notifications to any and all your apps.

Reviews (0)