1. A method, implemented by a computing device that includes one or more processors, for maintaining one or more notification channels, the method comprising: calculating a keep alive interval that defines an interval between network communications that is sufficient to maintain a notification channel between one or more applications of the computing device and an endpoint; using the keep alive interval to maintain one or more notification channels between the one or more applications of the computing device and the endpoint; and adjusting the keep alive interval based on monitored usage of the keep alive interval.