visit
Image from
App publishers can send push notifications at any time; users don’t have to be in the app or using their devices to receive them. They can do a lot of things; for example, they can show the latest sports scores, get a user to take an action, such as downloading a coupon or let a user know about an event, such as a flash sale. (by Urbanairship)Adding push notifications to your app is not only a great way to improve the user experience. If used smart, it also helps to:
We spent a couple days to get this fully working for most common scenarios. The goal of this article is to save this time for you.
Apple Push Notification service (APNs) is the centerpiece of the remote notifications feature. It is a service for app developers to propagate information to iOS devices.
Application backend developer is indicated as the Provider on scheme above. We use APNs to propagate notifications to target devices. To achieve it, we need to ask user’s permission. When the user allows a permission request, the mobile app subscribes to notifications on APN. As a result, APN sends to the client a unique device token.
Now, this token has to be transferred to the backend and stored. When the backend decides to send a push notification, it should pass this token to the APN. In this article, we implement push-notifications sending and handling in React-Native iOS app (RN 0.57)
Our current project is built with native code, using react-native init
command. Although these instructions may be applied to the ejected Expo project. We use PushNotificationIOS package from the .
node_modules/react-native/Libraries/PushNotificationIOS/RCTPushNotification.xcodeproj
2. Drag this file to your project on Xcode (usually under the Libraries
group on Xcode)
3. Click on your main project file (the one that represents the .xcodeproj
), select Build Phases
and drag the static library from the Products
folder inside the Library you are importing to Link Binary With Libraries
At the top of your AppDelegate.m
:#import <React/RCTPushNotificationManager.h>
And then in AppDelegate.m
implementation add the following:
This component handles all received push notifications when the app is opened or closed. Now you may put <PushNotificationHandler />
in root component of your app to make sure it will be mounted when the app is started.
Click on +
Icon
In the next page, enter a name for your key, enable APNs and click Continue at the bottom of the page.
Apple will generate a .p8
key file containing your APNs Auth Key.
Save Key ID, you will need it for the next step.
Now, click on Certificates/All and download your certificate with .cer
extension. Save this file as ios_development.cer
and put to repo’s root folder.
Also find and save Team ID. To get it, login to . In the top right corner click under your name -> View Account.
In the sample repo you will find pushServer.js
. Launch it with params:node pushServer.js keyId teamId token appId message
🚀 uses JS and React and React Native to build production apps over 3 years. We help US startup founders to bring their ideas to life. If you need some help, send a message ✉️