We are writing an Application that will exchange messages between users 
extensively. We are using Google App Engine

*The traditional way *is to have an Application Server that stores all the 
GCM_ID of the users. So if User 1 wants to send message to User 2, then


   1. The User 1 sends the message to Application server with payload which 
   contains message and recipient id (User 2 in our case)
   2. The application server retrieves the GCM_ID of User 2 and with the 
   help of sender API pushes the message to User 2 
   3. User 2 receives the message
   

*What we implemented:*

Now as the number of users and app usage increases ( We hope it does :) ), 
the costing related to AppEngine w.r.t number of instances, no. of 
read/writes etc increases.

We want to reduce this costing. Since pushing message to GCM server is a 
REST Call (via https://android.googleapis.com/gcm/send) , we came up with 
the idea of storing GCM_ID's of user's friends in the Android App (DB to be 
specific) & were able to push messages from one user to another.

So instead of a server having all GCM_ID's we are exchanging relevant 
GCM_ID's related to users via server and storing them in App DB

We also have designed the app to take care of change in GCM_ID of another 
user, Un-installation of App etc..


Are we missing anything by not choosing to push via our own server? 

Is following such an implementation correct?

Regards,

Varun



-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to