I am developing REST API application on Symfony3. I want to register mobile devices and send direct push notifications to them. For example, when one user sends feedback to another, that second user will get push notification.
With Amazon SNS is it possible not to broadcast, but directly notify individual device from server?
yes, is possible, you create a platform and then you can create multiple 'Endpoints' wich represent a devices in SNS with the corresponding token or device id. then you can notify to one device using the endpoint arn value
Related
I want to send automatic push notifications to my clients who are installing my flutter application. Can I do it without getting their device tokens. I am using firestore as my database
You can send messages to client apps using topic messaging, but each client app will need to be subscribed to the named topic. You will not be able to single out a specific device without a device token.
In Urban Airship, when I am composing a notification, I can target specific users by searching for a Urban Airship channel_id (device ID):
I sent from Urban Airship the push notification that I am showing above, and I received it successfully. Now I want to do the same thing, send a push notification to a specific device, but now using the Firebase console. The problem is that in Firebase, in the step where I need to specify the target, it only allows me to choose User segment or topic. I was expecting to see a third option: Target specific users (for sending notifications to one or many specific GCM/FCM device token IDs. So my alternative is to add a GCM/FCM device token ID to a topic and then send the push notification to that topic, which is something that I have successfully done before. Nonetheless, that would be a workaround and not the way I would prefer to do this. Is it possible to send push notifications to specific users (by defining the target GCM/FCM device token IDs) from the Firebase console? Thank you.
UPDATE 1: See how the Firebase console (https://console.firebase.google.com/) only shows User segment and Topic as the Target:
First Step:
Second Step:
Third Step:
By design, the notification feature in the console is for sending out broadcast-type events. Sending user-specific alerts would be more of a programmatic operation done through the API.
For sending test messages, there is a console tool for this, explained here.
Note that it is possible to send a notification to one device by subscribing a device to any topic and sending the notification to that topic in the console (keep in mind topics are public and you can't prevent users from signing up to them; fine for testing most likely).
Another alternative is to send a message via HTTP or curl. Perhaps the best resource for this is the quickstart/messaging example.
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.
I am considering switching from pushwoosh to gamethrive / onesignal but am a little confused. I am using the Unity SDK and cant see anywhere in the documentation that I am able to sund push from one unit to a specific othe unit. Can anyone help me clarify if this is possible
Thanks in advance
Yes this is possible.
The OneSignal API supports delivering notifications to individual users or groups of users in several ways. In your case, the best way is probably through the device's OneSignal ID (through the include_player_ids field in the OneSignal API).
You can send notifications from one device to another by interacting through the OneSignal API either on your own backend server or from the code running in your app. However, in either case, you will need to have a backend server to store a list of the OneSignal ID for each one of your users.
Here's a rough outline of the process:
Part A (First getting the OneSignal ID):
A device runs your application for the first time
You initialize OneSignal in your application and you receive a new unique OneSignal ID for this new device in a callback
You then must store this OneSignal ID on your own backend server somewhere.
Part B (Delivering a message):
You wish to send a message to a specific user
You ask your backend server for the OneSignal ID of the user who you wish to send a message to.
You use the OneSignal API to send a message to the user.
Related links:
OneSignal Homepage
OneSignal Documentation Home
OneSignal Notification Delivery API Documentation
To use the Google Cloud Messaging (GCM) service, you need to know the registration ID of the device. The registration ID is created if the Android app uses the GCM client to register itself. Is it possible for a server which sends GCM messages to get a list of all registration IDs for a certain app, or do the apps have to send their IDs to the server (during login for instance) ? If yes, is it possible to get a list of all device tokens for all installed iPhone apps to send Apple Push Notifications (APN) as well?
No, there is no way to get that list of registration IDs from Google nor that list of device tokens from Apple. Your app must send them to your server and your server must maintain that list.