Enabling Firebase Service (Push Notification and Analytics)¶
Enable Firebase Service on Android¶
You will need google-services.json
for the Firebase Cloud Messaging (FCM) configuration on Android. Please follow the steps to set up notification on Android.
Steps¶
-
Create an Android application on FCM console.
-
Fill in the information of your Android app.
-
Download
google-services.json
. -
Click "Next" to skip the steps for native Android app below.
- Move google-service.json to Android app module root directory
- Add Firebase SDK
-
Stay at the 4th step on the FCM Setting page.
Note
This step is to verify whether your application registered FCM from the client app or not. You will need to build an app to verify it.
-
Set up notification in your Ionic project to proceed with the verification process.
- Add Android platform
ionic cordova platform add android
- Copy
google-services.json
toplatforms/android/app
- Build and run your Android App on a real device
ionic cordova run android --device.
-
Open your App and check for the installation verification status shown on FCM setting page
Note
If you can't pass the installation verification, please see the readme of the plugin we use to find out for more information.
Enable Firebase Service on iOS¶
You will need .p8 APNs key
for the FCM authorization and GoogleService-Info.plist
for the FCM configuration to set up notification on iOS.
Generate .p8 File of APNs Key¶
Please follow the "Create the authentication key" section of the FCM instruction to generate a .p8
key file containing your APNs Auth Key.
Set Up APNs Key on FCM Console¶
You need to add an Apple Push Notifications service (APNs) key in Apple Developer in advance. Go to Apple Developer → Certificates, Identifiers & Profiles → Keys, and add a key as showed below:
After you get the APNs' key ID, please also have your Apple team ID at hand and follow the steps to set up APNs key on the FCM console.
Steps¶
-
Go to FCM project settings.
-
Go to
Cloud Messaging
tab. -
Go to
iOS app configuration
section and clickUpload
under the APNs Authorization Key section. -
Choose the .p8 file and input APNs key ID, Apple team ID. Click
Upload
to complete the setting.
Set Up Notification on iOS¶
Follow these steps to prepare GoogleService-Info.plist
for the FCM configuration on iOS.
Steps¶
-
Create an iOS application on FCM console.
-
Fill in the information of your iOS app.
-
Download
GoogleService-Info.plist
. -
Click "Next" to skip the steps for native iOS app below.
- Move
GoogleService-Info.plist
to Xcode project.
- Move
-
Install CocoaPods and run
pod setup
to initialize it. You can skip the steps in the setting page. -
Click "Next" to skip the steps for native iOS app below.
- Add initialization code
-
Stay at the 5th step on the FCM Setting page.
Note
This step is to verify whether your application registered FCM from the client app or not. You will need to build an app to verify it.
-
Set up notification in your Ionic project to proceed with the verification process.
- Add iOS platform
ionic cordova platform add ios
- Copy
GoogleService-Info.plist
to Ionic project root folder. - Add the resource-file tag to the ios platform tag in
config.xml
.
<platform name="ios"> <resource-file src="GoogleService-Info.plist" />platform>
- Build and run your iOS App on a real device.
ionic cordova run ios --device
-
Open your App and check for the installation verification status shown on the FCM setting page.
Note
If you can't pass the installation verification, please see the readme of the plugin we use to find out for more information.
Generate Firebase Server Key¶
You need to provide the Firebase server key to Exosite team to complete the push notification setting.
Steps¶
- Click the settings (cogwheel) icon at the top of the Firebase Console.
-
Choose
Project Settings
. -
Click on the
Cloud Messaging
tab. - Click
Add server key
button in the lower right corner. -
A server key will be generated immediately. Copy the token and provide it to the Exosite support team.
Warning
Please copy the entire token. Do not provide any screenshot in case of unexpected errors.
Have more questions? Submit a request