
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
We finally are ready to start receiving notifications from iCloud. We will be working with what iCloud does best, sending silent 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.
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.
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.
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.
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.
“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.
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.
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.
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.
“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.
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.
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.
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!
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.