1. A system comprising: a first memory area associated with a proxy service, said first memory area storing one or more queues; a second memory area accessible by the proxy service, said second memory area storing a mapping between a session identifier and a user identifier, said second memory area further storing a mapping between the user identifier and a set of user computing devices, wherein said proxy service communicates with the user computing devices via push notification channels; a processor programmed to: receive, by the proxy service from an application service in a push environment, a notification for delivery to at least one of a plurality of the user computing devices, wherein the notification has a user identifier associated therewith; obtain, from the second memory area, a session identifier corresponding to the user identifier; store the received notification in at least one of the queues in the first memory area based on the session identifier, each queue being associated with at least one of a plurality of applications executing on the user computing devices; determine, from the second memory area, the set of user computing devices associated with the user identifier; send, by the proxy service, the notification from the queue in the first memory area to each of the determined set of user computing devices via the push notification channels; receive, by the proxy service, an error notification, from one of the determined set of user computing devices when one of the plurality of applications on the one of the determined set of user computing devices is non-active; and suppress, by the proxy service in response to the received error notification, delivery of future notifications intended for the one of the plurality of applications on the one of the determined set of user computing devices.