I have two applications that need to communicate and I do not want to be doing requesting to the server asking if it has something new, I wanted something that went from one app to another or from the server to the app. But I do not know if the GCM sends the messages in real time (or at least it seems), because there could not be a big delay between the messages, ah and it is also important to keep the order that the messages were sent they are received.