How to subscribe to events over http in firebase messaging service? - firebase

As far as I understand for different mobile devices, firebase messaging service uses different protocols like web push, ans, google play services. But is there a way to notify non mobile device using this service?

Delivery of messages over Firebase Cloud Messaging is only supported to the SDKs listed in the documentation here, currently iOS, Android and Web. There is no documentation for the wire protocol that is used to deliver messages to these clients.
Also see these previous questions asking for delivery to Windows, macOS, and Linux:
How to receive push notifications from Firebase cloud messaging on Windows
Is it possible to develop flutter windows desktop with fcm push notification?
integration firebase messaging with mac os apps ? (Notifications)
Can we use FireBase cloud Messaging to send or receive messages or both ways using C++ on Windows Desktop/Console or Linux console appliction?

Related

Go Firebase Cloud Messaging Client

Going through Google's documentation, are Firebase Cloud Messaging Client Libraries only allowed on iOS, Android, Unity, C++ and NodeJS?
I'd like to build a client written in Go that can be pushed messages. Is this possible?
The protocol for receiving FCM messages it not documented. This means you need to use one of the official SDKs to be able to receive messages, and those are indeed only available for iOS, Android, and Web applications.

How Firebase push notification work on IOS?

I want to create my own push notification mechanism for my own iOS applications.
I compared some services like pushy.me or Google Firebase. I think Pushy is the only service that can push notifications independent from Apple APNs, but it uses simple HTTP long-poll requests to receive notifications (in the iOS SDK).
But how does Firebase work? Does it still depend on Apple's APNs? How will it affect my battery life?
Firebase Cloud Messaging (FCM) delivers push notification to iOS devices via Apple's Push Notifications service. Also FCM extends functionality of push notifications.
How FCM extends?
FCM works with iOS and Android. Cool feature if you have the app for both platforms;
Don't need to develop backend for sending notifications, storing pn tokens etc. Just register your app in the Google Developer Console and follow User Guides. For sending a push just execute request to https://fcm.googleapis.com/fcm/send with params;
Broadcast notifications. The app subscribes to a topic and then you can send a notification to all topic subscribers. Very cool;
Upstream messages (send data to the server)
Also Google has others services you can extend FCM with. For example Cloud Functions.
I didn't find that FCM integration take big affect to battery life in my apps.
UPDATE:
FCM framework sends push notification token (and other info) to Google services. Also as I mentioned above you can subscribe app for a specific topic. Than Google knows which device needs to send a push to.
There is a possibility to setup FCM in iOS automatically(with using method swizzling). FCM exchange AppDelegate methods and knows your's device pn token.
Firebase Cloud Messaging (FCM) utilizes APNs (Apple push notifications services) for delivering the messages to iOS devices.
So basically, FCM wraps iOS methods like registerForRemoteNotifications or didReceiveRemoteNotification using method swizzling (BTW, you can disable this if you wish, although I can't see any reason...).
On the technical side - the phone is keeping an open connection with APNs and this tunnel is used for sending the messages themselves.

Is Firebase client SDK necessary for simple APNS?

I have a project that currently sends PNs through APNS and I'm investigating using Firebase for this purpose. I would prefer that the push notifications be sent through APNS and Firebase merely acts as a wrapper/intermediate around APNS. I'm not using any other feature of Firebase(storage, persistent connections, messaging, etc) either.
All guides/examples on this topic seem to integrate the Firebase SDK and relevant config files but I don't see the need for any client side change if the notifications are going to go through APNS.
Do I really need the Firebase SDK for simply sending PNs? If yes, for what reason?
You only need the Firebase SDK if you intend to use the service.
The behavior of FCM, as you know it, is that when you send a message with FCM, it forwards the message towards APNs, which in turn would send it to the iOS device.
If you're already fine using APNs alone for the push notifications, then you technically don't need the Firebase SDK.

pushwoosh and google cloud messaging difference

I am novice in notification sending.
I have read some materials and I encountered with the words like
pushwoosh
and
google cloud messaging
For me it(and pushwoosh and GCM) looks like a resource for sending notification.
Also I understand that these words are related but I don't understand this relation(hierarchy)
Please clarify this relation.
Google Cloud Messaging, or GCM, is a free service by Google that can deliver messages from your server to your Android app. The app can choose to handle such messages by displaying notifications to the user.
PushWoosh is a 3rd party service (one of several, such as UrbanAirship and Parse) that has an API for sending push notifications for multiple platforms, including Android and iOS.
PushWoosh uses Google Cloud Messaging under the hood to send the messages to Android devices.
Your server can interface directly with Google's GCM server or interface with a 3rd party provider, which can cost you money, but can be easier to implement.

Can Amazon SNS push notifications directly to mobile devices?

The tutorial for Windows Phone 7 push notifications says that to implement Push Notifications, you need to call Microsoft Push Notification service which manages the sending of the notification to WP7 devices.
Does that imply that to send an AMZ SNS message, I need to create an intermediary web service that routes the SNS message to Microsoft Push Notification service?
What are the options for Android and iOS devices?
Amazon has API libraries for both Android an IOS, so you can implement them directly.
See:
http://aws.amazon.com/sdkforandroid/
http://aws.amazon.com/sdkforios/
There is also a windows/.net library that you might be able to use directly inside a windows phone.
http://aws.amazon.com/net/
I don't know anything about the windows phone platform and your on your own for that one.
Android has cloud-to-device-messaging (c2dm), which is a labs project by google. At this time it is free. I don't know about wp7 or. I believe iOS has their own system as well.
Microsoft forked AWS' .NET SDK to create a version for WP7.
https://github.com/Microsoft-Interop/AWS-SDK-for-WP

Resources