Here is my way of thinking: Every device present on Web has to have an IP address if it wants others to send a HTTP(or other type of) request to it and respond in turn to sender. Here, this device identifier is IP Address rather than something like MAC Address.
For Push Notifications, I have read that there is a long polling TCP socket connection open to Google's server that enables receiving of Push Notifications.
But how...magically?
I know that IP address would work more in case where I send a request and expect a response or if the IP has a Domain linked than the domain serves as a ID for the server. But, my phone doesn't have a domain name linked and the IP can change easily.
What is that "ID" that enables Google's server to send the notification to me?