How to extends KAA to allow send events from server to EPs ? Something like send notifications via REST API.
Events are not intended for it, they responsible for messaging only across connected devices. Use notifications for this purpose, you can send them via REST API or Administration UI. See key features of Kaa for more information.
Related
I need to handle social activity events in my web app application developed using Vue JS framework and Firebase.
I want to show to the user “Facebook like” notifications when some activity happen in the application, for example:
“John liked your post”.
Is Firebase Cloud Messaging useful for this scenario? Or do I have to develop some custom solution from scratch?
If Firebase Cloud Messaging do the job, is it possible to send messages directly from user web client?
You should not try to send messages directly from the web client. FCM is intended to be used via a secure backend where your code runs to send messages. The reason a backend is needed is to prevent your private server key from being exposed to the world, which can cause security issues in your app.
You will have to arrange on your backend to determine when events occur that should generate messages, and use the Firebase Admin SDK to send those message, or work with the REST API directly.
IP address of OneSignal is now in registry of prohibited sites of Russia.
I have Android and iOS app using OneSignal for push notifications. Before I can send notification to specific device, this device has to be subscribed by using OneSignal SDK. After that I can take playerid to specify device for which I want to send a notification.
Because of IP address block I cannot use SDK directly. But I suppose that it's possible to setup a proxy, so all api requests of SDK will go throw it.
App is written using Qt, QML and Java/Objective-C.
I've tried QNetworkProxy using provided example with some free proxies from here. But I've got errors not just requesting OneSignal SDK but my server api as well.
So the question is how to setup proxy in QT app (using qt, qml, java whatever) to make all OneSignal SDK API requests go throw it to bypass OneSignal IP addresses blocking?
On this page they explain Web Push with Service Workers stating
Chrome currently uses Firebase Cloud Messaging (FCM) as its push service. FCM recently adopted the Web Push protocol. and then explaining Firebase and so on...
Since the Service Worker gives me a unique endpoint and a pubkey, it seems to me that technically it should be possible to use that endpoint directly, without anything additionally - except if Google deliberally forces a registration.
I mean, just send a POST request to that endpoint, sending just the notification data encrypted/authenticated using the pubkey without any "VAPID".
Do I absolutely need a Firebase account or is it possible to access the endpoint directly (without additional registration) if I just want to send a notification to a single device?
It's 2021 and all major browsers implement a push service and support VAPID now. You use a web push library (Javascript, Python, C#,..) of choice.
There is no need to register anywhere.
The technical mechanism in short is this:
You generate two VAPID keys once using the push library. One key is private and one is public.
The public key is used in the javascript as "application server key" when subscribing to the push service of the browser.
If the subscription is successful you receive a subscription object from the browser containing an endpoint and two additional keys.
The endpoint is an address depending on the web browser / manufacturer and the service it is currently using. The endpoints look like (Oct 2021) e.g.
Google Chrome h_tt_ps://fcm.googleapis.com/fcm/send/cz9gl....., Microsoft Edge h_tt_ps://wns2-par02p.notify.windows.com/w/?toke....., Mozilla Firefox h_tt_ps://updates.push.services.mozilla.com/wpush/v2/gAAAAABhaUA....
If your server program has this information (endpoint and keys from subscription object) it can send a push message to the endpoint with the push library. The corresponding service in the web, hosted by the manufacturer sends this to the browser's service on the device.
There is the PushAPI which shall get used.
But it doesn't is supported by every Browser at the moment.
You can find nice examples in the Service Worker Cookbook of Mozilla
I have a mobile and web application where I would like to send my users push notifications. I'm planning to use a message broker which supports MQTT protocol for push notification server implementation. User base is expected to reach 1 million and many notifications are user specific. My question is do I have to use separate queue for each user or is there any other-way to sort this out without creating a queue for each user?
MQTT doesn't use queues, it uses topics
And if you only want a single user to receive a message then yes they will need an individual topic each.
Is there way to send push-nofications in Appcelerator not from console (https://platform.axway.com/)?
For example does Appcelerator have custom API to send push-notifications? e.g. our server sends request to appcelerator API and it sends push-nofication to devices.
There are tons of free and open source modules out there with which you can set it up yourself. Some rely on services like Onesignal, others are completely open.
Keep in mind, for iOS you don't need a module, you just get the token (as per docs) and then you just send it to your backend and it works.
A good module for Android with which you can use your own backend is Ti.Goosh
Yes you can use axway REST API to send your push notifications.
https://docs.appcelerator.com/platform/latest/#!/guide/Push_Notifications