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.

