Reputation: 8325
I am developing android/ios app using ionic framework (web technologies) and I want to add Push Notification with the help of new firebase feature FCM.
Right now I am looking at following docs:
https://firebase.google.com/docs/cloud-messaging/chrome/client#project-setup
that says:
- Websites in Chrome can implement push messaging through service workers and web
- app manifests following the Webpush standard. Chrome apps and extensions can access the FCM service directly through chrome.gcm
API.
Does it mean I can use it in my ionic app for both android/ios, since app is built using cordova?
Also it will be very helpful if there is any implemented example, I can see and learn from.
Thanks
Upvotes: 39
Views: 47679
Reputation: 3618
I know this question is jurassic already but just for information of future mobile developers using Ionic framework. This is 100% working now, I've been using it for the past 3 weeks.
All you need is to add these 3 plugins
ionic plugin add cordova-plugin-inappbrowser
ionic plugin add cordova-plugin-fcm
ionic plugin add cordova-plugin-velda-devicefeedback
Next, go to Firebase Console and
The Firebase Console will give you a file named google-services.json .
ionic build android
on your CLIYou can now go to Notifications Page > New Message
Make sure to select the app (id of the app) you added before sending push notifications.
Upvotes: 49
Reputation: 178
I managed to get it work work on IOS. Here's what I did.
Go to Firebase and add a new IOS app for cloud messaging. Follow the instructions and fill up the simple form for your app ID etc. You will generate the GoogleServices-Info.plist file and download. Ignore the cocoapods stuff. You don't need it.
Navigate to your Ionic app platforms/ios and open the xcodeproject file with XCode.
Paste thedownloaded GoogleServices plist file to the root of your Xcode project file.
Run. Or you can try saving then do ionic build ios
, ionic emulate ios
.
I added the old phonegap-plugin-push earlier. This had to be removed from my config.xml or else the IOS won't build successfully.
Upvotes: 8
Reputation: 31
You may check this: works for iOS and Android https://github.com/mail2lulu/cordova-plugin-fcm.git
Upvotes: 1
Reputation: 6185
You can use FCM with cordova without a problem but it requires writing native code for Android, iOS and other platforms you want to use. Luckily the cordova community is pretty big and the work is already done. The following plugin states to do exactly what you want.
https://www.npmjs.com/package/cordova-plugin-fcm
I haven't tried the plugin myself yet but the readme says you can subscribe to topics from javascript and call the onNotification
function to listen for notifications, handy when your app is in foreground.
Upvotes: 5
Reputation: 31
The FCM support for JS/browser relies on the browser's notification API's, of which I don't believe cordova has one that will work natively. You can and should use FCM for all platforms but you'll have to work through adding support for each platform manually or wait for the push plugin development.
The phonegap push plugin is being updated to support FCM: Migrate to Firebase Cloud Messaging #929
Alternatively you can use the old GCM platform with the phonegap plugin already but you'll want to update your server side push API to use FCM as soon as the plugin is ready.
Upvotes: 3