Send push notification from one Android device to other Using GCM - android

I am been using Parse for sending push notifications earlier and that does not seem to work well. I heard from the internet that we can send push notifications from one android device to another using GCM and I followed this official documentation. Before I get to implement it, I just need to know whether, we can send push notification from an Android device to another using this service.
I have the following doubts
How do I send the push notification to a specific device using another device with the help of GCM ?
What is the unique identifier that I must be using if the above question is possible ?
Should I implement my own backend to save the unique identifiers about which the above question states ? Or is there a way that GCM can handle for me ?

The answers to all your questions are in the documentation itself.
1) Send Upstream message from Device A to the server and send Downstream message from server to Device B.
2) Instance ID API will provide a token which is the unique identifier.
3) Yes you have to implement you server that will communicate with GCM connection server.
All of which is explained on the overview page itself.
I hope this answers your question. There is also a sample you can refer to.
Also, a tutorial here.

Related

How can I set up an app server to send device to device notification via FCM?

I have set up push notification from Firebase console and I can send push notifications. However, I cannot send device-to-device notification yet. As I gather I would need an external app server that would observe Firebase nodes for change and then would fire off a notification via FCM.
I have seen similar question in SO here and a good but brief and not so complete explanation by Frank van Puffelen here. But I am still quite confused. Any tutorial or help as to how I can set up an app server (XMPP here) that would do the communication between client app instances and Firebase for sending notification when ChildAdded or modified and handling the key exchanges would be appreciated. (as I understand, FCM needs XMPP protocol for sending upstream notification)
Any help would be appreciated.
Following this tutorial.
Send Notifications from Server
What you can do is, setup an external server using your favorite technology to listen child_added or changed and respond to the notification requests.
We used the node.js app engine to handle this. Again the funda is to move people to use other cloud paid services.
Yours it's a good question... The firebase can't send push device-to-device, then if you want to do this one, needs a app server as you said. The other possibility that I thought for a long time is a create a independent service to do two things, the first one is constantly controls events as onChildAdded, for exemple and the second one, throws local notifications.
This is solution that i think works fine before to create a app server... At final if you try to do it, explain us your experience please! Greetings!

Android push notifications to a custom list of subscribers of a topic using Amazon SNS

I'm currently working on an application build on AWS. At first, the application was on Parse server and the push notifications were not a problem but then, when I migrated to AWS I encountered some issues with that.
As far as I read from this link http://aws.amazon.com/articles/9156883257507082 I learned that I need to create a topic to subscribe users by creating endpoints using the device tokens from where they are currently logged in.
I will have many users, and the notifications will be sent to all endpoints from a topic.
The problem is when I want to send a notification I want to exclude some users from a topic for receiving that, for example, when a user posts something I will not send a notification to him too. This is available also when I have a custom audience to send notifications to. I could create a topic for every event notification to be sent but I don't think this is a efficient method.
Is there a possibility to do that or Amazon does not even support this feature? Until now I didn't find anything on internet that can help me solve this problem and I hope I'll find here someone who worked with this.
Thank you for your time!
Plus : I also found a similar question here Send Push Notifications using Amazon SNS service but I still don't have a certain answer or some links about that.
From what I've found in AWS documentation, it states that
Send messages directly to a specific device by calling the Publish function with the device’s ARN. You can easily scale this to handle millions of users by storing the endpoint ARNs in Amazon DynamoDB and using multi-threaded code on the server.
Thus, to be able to filter users that receive notifications and not send bulk messages to all users subscribed to a topic, you need to send messages using the device's ARNs.
You can find more info here

Parse Push Notifications Using REST API

I have searched all over the internet but didn't get what I wanted. I want to send GCM notifications to my android app using parse rest api. I know that there is a clean documentation on Parse.com but i am confused about that what changes are needed in my application to receive those GCM pushes. I am able to send pushes, they are showing in the GCM history on developer page in google but i am unable to receive them on my phone which is irritating because there is no tutorial on what changes to be made in my application. Please if anyone can help.
All you have to do is add the push receiver into the AndroidManifest, and this is documented.
You have to make sure the bundle id matches your app's and also there may be a GCM identifier you need to change

Hows App server and GCM server are different in functioning?

I follow this link PLease see here . Can anyone tell me exact process to communication between two mobile devices in terms of push notification. Please help me.
GCM is a google cloud messaging http server.It is used for providing notification service on android phones any notification you receive on your phone is sent through GCM.Every device using a specific application is registered with GCM. Even if you want your application to send notification to the user on occurrence of something it's not possible without GCM.

Implementing one to one and group chat in android [duplicate]

This question already has answers here:
How to make a chat application in android? [closed]
(6 answers)
Closed 9 years ago.
I am developing an Android app in which I have to implement chat messaging. I would like one to one chat or a group chat.
But I have no idea how to start. Please help me with this stuff. Any help will be appreciated.
A simple chat mechanism will have 2 basic functionalities
Send the message to server (with info about the recipient)
Receive the message from server (designated for my user name)
First step is simple, we can create a web service which will accept the message with additional information about recipient(s). We can create it using any server side language.
Step 2, that is fetching the message from server can be done using 2 techniques, Pull the message (using polling) from server, or Push the message from server to android phone
Polling: In this, the android device will keep accessing server after a few seconds to check if there is a message available for user. This again can be implemented using a simple async task at the client side which will keep calling a web service after say 2-3 seconds. This is fine to use if we are planning to enable chatting only when user is accessing the app (no notifications like gmail or facebook), so that we can kill the polling service when not in use (otherwise it will eat up resources).
Push notifications: a better option is to use push notifications. Android provide Google cloud messaging or GCM (http://developer.android.com/google/gcm/index.html) which will help achieve push from server easily. Otherwise you can try a third party API like urbanairship or pushwoosh depending on your requirement. Push notifications will help the user to receive messages even when he is not using the app.
So in nutshell, a webservice to receive the messages and a push notification mechanism should be sufficient to implement a chat service in android.
Little bit about UrbanAirship
I used UA in one of my projects for push notifications as I needed to support both iOS and Android. If you just want to support Android GCM might also be a good option.
Coming back to UA, check this for sample code and usage: https://docs.urbanairship.com/display/DOCS/Home
The way it works is simple, when someone installs the app and is connected to internet, app registers itself to the UA service. A unique code is specified for each installed app (this is the time when you can capture the user name and unique code and store somewhere in your DB). Next UA provides an API using which you can push a message to designated recipient(s), using the unique codes which are available with UA. These messages can be received by android app and used as per the requirement. Even if the app is not running we can show a notification just like when we receive an email or a message
You can use an existing platform like Scringo. It gives you a one-on-one chat as well as group chat (both the client and the server) as well as the push notification service.

Categories

Resources