<div dir="ltr">So I&#39;ve got a few ideas for how to implement this, but I hope some people more experienced with the platform can give some feedback before.<div><br></div><div>Quick Background:</div><div>In UPS right now we have a concept of categories.  A single UPS message can be broadcast to a bunch of devices which are subscribed to this category.  Google now supports this for GCM on Chrome, iOS, and Android so UPS can send a single message to GCM and GCM will broadcast that to up to a million devices.</div><div>End Quick Background</div><div><br></div><div>So first, how do we switch between sending a message to each device in a category to sending a topic message to GCM?  </div><div><br></div><div>In TokenLoader.java#L113 we are using the clientInstallationService to build a string of deviceTokens based on the variant and message criteria.  Is there any reason we can&#39;t create a &quot;topicToken&quot; which will be recognized later by GCMPushNotificationSender?  Another benefit to making this change here is that if we have over a million subscribers to the category we can just default to the default messaging.</div><div><br></div><div>There is also an open issue of whether or not we will update the clients to filter based on what category a message was sent to.  To do this we will have to include the category information in the message when we send it to devices going forward.  In GCM a topic message includes this information.  This means that if we have over a million subscriptions in the topic we will need to fall back to using the category information anyway.</div><div><br></div><div>Continuing on from the thread of falling back, it is possible for a topic message to fail to send because there are too many subscribers.  How would UPS handle regenerating the messages as deviceToken instead of topicToken messages?</div><div><br></div><div>Of course if someone has a better idea than &quot;topicTokens&quot; I&#39;m all ears.</div><div><br></div></div>