Firebase Cloud Messaging for push notifications (both iOS and Android)

I gave up on Ionic Push during the alpha phase and when I revisited it during beta, I still couldn’t get it to work. Just this last week, Firebase announced Firebase Cloud Messaging for iOS and Android, which allows for push notifications. Check out more info here: https://firebase.google.com/docs/notifications/

Curious if anybody has implemented this yet? Thoughts on the service?

I’m especially excited about this because I’m already using Firebase’s real-time database for iOS.

2 Likes

until someone writes a native module for it, it is useless… there are only native IOS and Androild SDKs

1 Like

haha, shiiiiit. Yep, good call out. Ah, what a bummer. Curious, have you tried the Ionic Push Beta? Should I give it another try now that it’s been out a few months?

I’m also considering using Node.js/Express to using APNS.

Same problem here, was unable to implement Ionic Push for my Ionic 2 App, so I finally used onesignal last week which is working fine so far and is free also.

I am just looking for this and i have found this:
https://www.npmjs.com/package/cordova-plugin-fcm
I’ll report when i test it.

3 Likes

Thanks for the plugin! I did some tests on #ionic-2 and it works great on Android devices (I will test it on iOS next week).
EDIT: on iOS it works too:)

1 Like

Hi, can you please share your code.
Thanks

Hi! Here is a demo based on tutorial template:


It works on Android and iOS devices.

4 Likes

Thanks for posting this sample code.

Have you managed to get this working with the FCM REST API? Android and iOS work just fine for me using the FCM console, but I’ve only been able to get the REST API to work for Android, not iOS.

1 Like

does’t work for both android and ios phones, have you created two apps in google cloud (one for android and one for ios ) if so have you done some native codes ! thanks for the code by the way.

I got these Errors when I build android
FAILURE: Build failed with an exception.

  • What went wrong:
    A problem occurred configuring root project ‘android’.

Could not resolve all dependencies for configuration ‘:_debugCompile’.
Could not find com.google.firebase:firebase-core:9.2.0.
Searched in the following locations:
https://repo1.maven.org/maven2/com/google/firebase/firebase-core/9.2.0/firebase-core-9.2.0.pom
https://repo1.maven.org/maven2/com/google/firebase/firebase-core/9.2.0/firebase-core-9.2.0.jar
https://jcenter.bintray.com/com/google/firebase/firebase-core/9.2.0/firebase-core-9.2.0.pom
https://jcenter.bintray.com/com/google/firebase/firebase-core/9.2.0/firebase-core-9.2.0.jar
file:/Users/mac/.m2/repository/com/google/firebase/firebase-core/9.2.0/firebase-core-9.2.0.pom
file:/Users/mac/.m2/repository/com/google/firebase/firebase-core/9.2.0/firebase-core-9.2.0.jar
file:/Users/mac/Library/Android/sdk/extras/android/m2repository/com/google/firebase/firebase-core/9.2.0/firebase-core-9.2.0.pom
file:/Users/mac/Library/Android/sdk/extras/android/m2repository/com/google/firebase/firebase-core/9.2.0/firebase-core-9.2.0.jar
file:/Users/mac/Library/Android/sdk/extras/google/m2repository/com/google/firebase/firebase-core/9.2.0/firebase-core-9.2.0.pom
file:/Users/mac/Library/Android/sdk/extras/google/m2repository/com/google/firebase/firebase-core/9.2.0/firebase-core-9.2.0.jar
Required by:
:android:unspecified
Could not find com.google.firebase:firebase-messaging:9.2.0.
Searched in the following locations:
https://repo1.maven.org/maven2/com/google/firebase/firebase-messaging/9.2.0/firebase-messaging-9.2.0.pom
https://repo1.maven.org/maven2/com/google/firebase/firebase-messaging/9.2.0/firebase-messaging-9.2.0.jar
https://jcenter.bintray.com/com/google/firebase/firebase-messaging/9.2.0/firebase-messaging-9.2.0.pom
https://jcenter.bintray.com/com/google/firebase/firebase-messaging/9.2.0/firebase-messaging-9.2.0.jar
file:/Users/mac/.m2/repository/com/google/firebase/firebase-messaging/9.2.0/firebase-messaging-9.2.0.pom
file:/Users/mac/.m2/repository/com/google/firebase/firebase-messaging/9.2.0/firebase-messaging-9.2.0.jar
file:/Users/mac/Library/Android/sdk/extras/android/m2repository/com/google/firebase/firebase-messaging/9.2.0/firebase-messaging-9.2.0.pom
file:/Users/mac/Library/Android/sdk/extras/android/m2repository/com/google/firebase/firebase-messaging/9.2.0/firebase-messaging-9.2.0.jar
file:/Users/mac/Library/Android/sdk/extras/google/m2repository/com/google/firebase/firebase-messaging/9.2.0/firebase-messaging-9.2.0.pom
file:/Users/mac/Library/Android/sdk/extras/google/m2repository/com/google/firebase/firebase-messaging/9.2.0/firebase-messaging-9.2.0.jar
Required by:
:android:unspecified

Hi! I have the same problem. Did you fixed it?

Thank you!

Thank you! Awesome and useful example, I was able to send a notification to both iOS and Android with FCM and cordova-plugin-fcm.

@Mounir1badi and @Jorchg, I have the same issue, did you find a solution for it?

@Mounir1badi @Jorchg
I had to install with the Android SDK Manager under Extras this packages:

This resolves me the issue with the “Could not find com.google.firebase:firebease-core:x.x.x” error.

image

But after that I got this error:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':processDebugGoogleServices'.
> No matching client found for package name 'com.ionicframework.webclientionic2433370'

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

The solution is, you have to set config <widget id=" in config.xml to your “package_name” from google-service.json you configured in firebird configuration.

1 Like

Hello guys!
Any tutorials on ionic 1 to emplement FCM ?

7 Likes

Does it work even when the app is closed (not running)?

Naaaa im missed, it not works if app closed…

Opened some ISSUES on github. No solutions for this yet

facing same issue. anyone find any solution

Anyone please support me my app will be struggle in push. I m using ionic1 to developing. Please give me the FCM sample code for the push. My project is 90% completed Push only in pending.