Abstract:
Applications on a computing device provide notifications associated with the application to a notification system. A notification includes an identification of content to be presented for the notification and an indication of when the content is to be presented. The notification system presents the notification content at the appropriate time regardless of whether the application is executing and without resuming execution of the application if the application is not running. Various power efficiency techniques are also used to determine which notifications are presented and when a user interface is updated to reflect those notifications in order to avoid updating the user interface to reflect notifications that would not be observable (e.g., due to a power mode of the computing device).
Abstract:
A notification service receives messages including various data from application services, and provides notifications including that data to the appropriate computing devices. Each computing device includes a notification system that receives notifications from the notification service and provides those notifications to the appropriate applications on the computing device. If an application is not allowed to run on a computing device, the notification system on the computing device provides an indication to the notification service to block notifications for the application on the computing device. The notification service ceases providing notifications to a computing device targeting applications for which notifications are blocked on the computing device until an indication is received from the computing device to unblock notifications for the application.
Abstract:
Application notification techniques are described. Implementations are described in which a representation of an application may include notifications that pertain to the application. Techniques are further described which may be used to manage the notifications, including replacement of notifications, use of queues, overrides, selection of notifications based on execution state of an application, cycling a display of a plurality of notifications, cycling a display of different subsets of notifications, examination of a manifest of an application to determine criteria to be used to display the notifications, display priority of the notifications, and so on.
Abstract:
Various embodiments provide session-based filtering to filter messages in a cooperative manner between a client and a service provider. In at least some embodiments, a service provider can establish a messaging session with a client and deliver messages to the client. The client can implement various client-side techniques to filter some of the messages based on various client designated criteria. The service provider can obtain feedback from the client indicative of one or more of the delivered messages that have been filtered. The service provider can dynamically create a session-based list based on the feedback and use the list during the session to block messages on the server-side according to the client designated criteria. When the session concludes, the session-based list can be discarded. In this manner, message filtering can occur without persistent storage of state data for the filtering at the service provider.
Abstract:
This document describes various techniques for distributing credentials based on hardware profiles. A resource access request including a hardware profile is transmitted to a remote entity having access to a previous hardware profile and a credential useful to access a resource is received if at least a portion of the hardware profile matches the previous hardware profile.
Abstract:
A notification service receives messages including various data from application services, and provides notifications including that data to the appropriate computing devices. Each computing device includes a notification system that receives notifications from the notification service and provides those notifications to the appropriate applications on the computing device. If an application is not allowed to run on a computing device, the notification system on the computing device provides an indication to the notification service to block notifications for the application on the computing device. The notification service ceases providing notifications to a computing device targeting applications for which notifications are blocked on the computing device until an indication is received from the computing device to unblock notifications for the application.
Abstract:
This document describes various techniques for distributing credentials based on hardware profiles. A resource access request including a hardware profile is transmitted to a remote entity having access to a previous hardware profile and a credential useful to access a resource is received if at least a portion of the hardware profile matches the previous hardware profile.
Abstract:
Various embodiments provide session-based filtering to filter messages in a cooperative manner between a client and a service provider. In at least some embodiments, a service provider can establish a messaging session with a client and deliver messages to the client. The client can implement various client-side techniques to filter some of the messages based on various client designated criteria. The service provider can obtain feedback from the client indicative of one or more of the delivered messages that have been filtered. The service provider can dynamically create a session-based list based on the feedback and use the list during the session to block messages on the server-side according to the client designated criteria. When the session concludes, the session-based list can be discarded. In this manner, message filtering can occur without persistent storage of state data for the filtering at the service provider.