用于管理指向安装于用户设备上的多个应用的通知的方法、系统和介质与流程

文档序号:11814649阅读:223来源:国知局
用于管理指向安装于用户设备上的多个应用的通知的方法、系统和介质与流程

本申请要求于2013年12月31日提交的美国专利申请号14/145,135的权益,其全部通过引用并入本文中。

技术领域

所公开的主题涉及用于管理指向安装于用户设备上的多个应用的通知的方法、系统和介质。



背景技术:

推送通知服务通常被用于将消息发送至各种计算设备,诸如移动设备。更特别地,推送通知经常被应用发布者和/或开发者用于将信息发送给应用的用户或者鼓励继续使用应用。例如,用于访问诸如视频的媒体内容的应用的发布者或开发者能够在用户可能感兴趣的新视频变得可用时发送推送通知。作为另一示例,用于访问社交网络服务的应用的发布者或开发者能够在与用户相关联的社交联系发布或者共享可能使用户感兴趣的某些东西时发送推送通知。由于发送推送通知的应用的数目持续快速增长,因此可以发送包含相同或相似信息的对于多个不同应用的通知。这可能会令多次接收到来自不同应用的相同信息的用户感到恼怒。

因此,期望提供用于管理指向安装于用户设备上的多个应用的通知的方法、系统和介质。



技术实现要素:

根据所公开主题的各种实施例,提供用于管理指向安装于用户设备上的多个应用的通知的方法、系统和介质。

根据所公开主题的一些实施例,提供一种用于管理通知的方法,该方法包括:使用硬件处理器来接收对于第一应用的第一通知;确定与所述第一应用相关联的第一用户设备;接收对于第二应用的第二通知;确定与所述第二应用相关联的第二用户设备;确定所述第一用户设备与所述第二用户设备是相同的设备;确定所述第一通知与所述第二通知是对应的通知;确定所述第一通知具有高于所述第二通知的优先级;在确定所述第一通知具有高于所述第二通知的优先级后,将所述第一通知发送至所述第一用户设备;以及阻止所述第二通知被发送至所述第一用户设备。

根据所公开主题的一些实施例,提供一种用于管理通知的系统,该系统包括:硬件处理器,该硬件处理器被配置成:接收对于第一应用的第一通知;确定与所述第一应用相关联的第一用户设备;接收对于第二应用的第二通知;确定与所述第二应用相关联的第二用户设备;确定所述第一用户设备与所述第二用户设备是相同的设备;确定所述第一通知与所述第二通知是对应的通知;确定所述第一通知具有高于所述第二通知的优先级;在确定所述第一通知具有高于所述第二通知的优先级后,将所述第一通知发送至所述第一用户设备;以及阻止所述第二通知被发送至所述第一用户设备。

根据所公开主题的一些实施例,提供一种包含计算机可执行指令的非瞬时计算机可读介质,所述计算机可执行指令在由处理器执行时使得所述处理器执行一种用于管理通知的方法,该方法包括:接收对于第一应用的第一通知;确定与所述第一应用相关联的第一用户设备;接收对于第二应用的第二通知;确定与所述第二应用相关联的第二用户设备;确定所述第一用户设备与所述第二用户设备是相同的设备;确定所述第一通知与所述第二通知是对应的通知;确定所述第一通知具有高于所述第二通知的优先级;在确定所述第一通知具有高于所述第二通知的优先级后,将所述第一通知发送至所述第一用户设备;以及阻止所述第二通知被发送至所述第一用户设备。

根据所公开主题的一些实施例,提供一种用于管理通知的系统,该系统包括:用于接收对于第一应用的第一通知的装置;用于确定与所述第一应用相关联的第一用户设备的装置;用于接收对于第二应用的第二通知的装置;用于确定与所述第二应用相关联的第二用户设备的装置;用于确定所述第一用户设备与所述第二用户设备是相同的设备的装置;用于确定所述第一通知与所述第二通知是对应的通知的装置;用于确定所述第一通知具有高于所述第二通知的优先级的装置;用于在确定所述第一通知具有高于所述第二通知的优先级后将所述第一通知发送至所述第一用户设备的装置;以及用于阻止所述第二通知被发送至所述第一用户设备的装置。

在一些实施例中,所述系统进一步包括:用于接收唯一地识别安装于所述第一用户设备上的所述第一应用的应用标识符的装置;以及用于基于与所述应用标识符相关联的设备来确定所述第一用户设备的设备标识符的装置。

在一些实施例中,用于确定所述第一用户设备与所述第二用户设备是相同的设备的装置进一步包括用于确定所述第一设备的所述设备标识符与所述第二设备的第二设备标识符相同的装置。

在一些实施例中,用于确定所述第一通知与所述第二通知是对应的通知的装置包括:用于确定所述第一通知的内容与所述第二通知的内容之间的差距的装置;以及用于基于所确定的差距低于阈值而确定内容相同的装置。

在一些实施例中,用于确定所述第一通知与所述第二通知是对应的通知的装置包括:用于确定与所述第一通知相关联的第一通知标识符的装置;用于确定与所述第二通知相关联的第二通知标识符的装置;以及用于基于所述第一通知标识符与所述第二通知标识符之间的对应性而确定所述第一通知与所述第二通知是对应的通知的装置。

在一些实施例中,用于确定所述第一通知具有高于所述第二通知的优先级的装置包括用于确定所述第一通知和所述第二通知针对通过使用所述第一应用能获得但通过使用所述第二应用不能获得的内容的装置。

在一些实施例中,用于确定所述第一通知具有高于所述第二通知的优先级的装置包括用于确定所述第一应用是由所述第一通知和所述第二通知指定为具有高于所述第二应用的优先级的装置。

在一些实施例中,用于确定所述第一通知具有高于所述第二通知的优先级的装置包括确定所述第一应用是所述第二应用的下级应用。

附图说明

在结合下列附图加以考虑时,参照下文对所公开主题的具体描述,能够更完整地领会所公开主题的各种目的、特征和优势,其中类似的附图标记识别类似的元素。

图1示出了根据所公开主题的一些实施例的用于管理指向安装于用户设备上的多个应用的通知的过程的示例。

图2示出了根据所公开主题的一些实施例的用于管理对于安装于用户设备上的多个应用所接收到的通知的过程的示例。

图3示出了根据所公开主题的一些实施例的用于呈现由移动设备接收的推送通知的各种技术的示例。

图4示出了根据所公开主题的一些实施例的适于实施本文所述的用于管理指向安装于用户设备上的多个应用的通知的机制的说明性系统的示意图。

图5示出了根据所公开主题的一些实施例的能够使用图4的移动设备、推送通知服务器以及应用发布者服务器的详细示例。

图6示出了根据所公开主题的一些实施例的用于管理指向安装于用户设备上的多个应用的通知的说明性流程的示例。

图7示出了根据所公开主题的一些实施例的用于管理对于安装于用户设备上的多个应用所接收到的通知的说明性流程的示例。

具体实施方式

根据各种实施例,提供用于管理指向安装于用户设备上的多个应用的通知的机制(其能够包括方法、系统和/或媒介)。

在一些实施例中,本文所述的机制能够确定将哪些通知呈现给用户,更特别地,将来自多个对应的推送通知中的哪些推送通知呈现给用户。例如,如果用户设备具有被设置成接收推送通知的两个或更多安装的相关应用,则那些相关应用的发布者或开发者可以发送对于相关应用中的至少两个的相同或相似的推送通知。在更特别的示例中,用户设备能够具有安装在其上的用于访问来自媒体内容递送平台(例如,视频共享和/或聚合服务)的媒体内容的应用,以及用于访问与媒体内容递送平台相关的社交网络服务(例如,社交网络服务可以由相同的实体所拥有)的应用。在另一更特别的示例中,用户设备能够具有安装在其上的能够被配置成访问来自各种域的电子邮件的、用于接收电子邮件的应用(例如,能够被配置成从多个电子邮件服务中检索电子邮件的通用电子邮件客户端),以及用于接收发送至特定域和/或电子邮件服务的电子邮件的应用(例如,用于接收来自特定电子邮件服务的电子邮件的专用电子邮件客户端)。尽管推送通知能够被用于增加用户对特定应用的使用,但用过多推送通知涌向用户可以使得用户选择完全停止接收推送通知,这可能事与愿违。

在一些实施例中,当接收到对于两个不同的应用的两个推送通知时,本文所述的机制能够确定这两个推送通知是否是对应的推送通知。对于不同应用的两个或更多的推送通知能够出于任何适当的原因而是对应的通知,诸如两个或更多的通知包括类似的内容,引用类似的媒体内容或诸如此类,或者出于任何其他适当原因。例如,能够接收对于媒体内容递送平台的应用的第一推送通知,该第一推送通知告知用户从用户已订阅的频道中有可获得的新视频,并且能够接收对于社交网络服务应用的第二推送通知,该第二推送通知告知用户从媒体递送平台中可获得相同的新视频,因为用户在社交网络服务上关注了发布视频的艺术家。

在一些实施例中,当对于不同应用的两个或更多的推送通知被确定成是对应的通知时,本文所述的机制能够使得向用户呈现对应的通知中的一个,并且使得阻止向用户呈现另一个对应的通知(或多个通知)。此外,能够在对应的通知当中确定优先级,以确定对应的通知当中的哪一个被呈现给用户。如下例如结合图1的112所述,能够基于任何适当的一个准则或多个准则来确定优先级。例如,能够对关于新视频的媒体内容递送平台应用的的通知给予高于社交网络服务应用的类似通知的优先级,因为视频可在媒体内容递送平台上获得。

转至图1,根据所公开主题的一些实施例,示出用于管理指向安装于用户设备上的多个应用的通知的过程100的示例。在一些实施例中,过程100能够由提供推送通知的一个设备或多个设备与这样的通知所针对的多个设备之间的中间设备来执行。例如,过程100能够由推送通知服务器执行,该推送通知服务器响应于接收到将这样的推送通知发送至安装于用户设备上的应用的特定实例的请求,将推送通知发送至特定用户设备。在102处,过程100能够接收用于发送与安装于用户设备上的第一应用相关的推送通知的请求。例如,过程100能够接收发送与访问与媒体内容平台相关联的媒体内容的应用相关的推送通知的请求。这样的推送通知能够包括关于用户可能感兴趣的媒体内容项目的信息、关于用户可能感兴趣的媒体内容的来源(例如,作家、艺术家、频道等)的信息,等等。

在一些实施例中,用户设备能够是移动设备,诸如智能电话或者其他蜂窝电话、平板计算机、可穿戴式计算机、个人数字助理、便携式音乐播放器、便携式视频播放器、手持式游戏机或者任何其他适当的移动设备。附加地或替选地,用户设备能够是任何适当的计算设备,诸如膝上型计算机、桌面型计算机、机顶盒、游戏机、数字媒体接收器或者任何其他适当的计算设备。

在一些实施例中,在102处能够响应于任何适当的动作来发送用于发送与第一应用相关的推送通知的请求。例如,安装于用户设备上的操作系统或者其他软件平台能够被编程,以使得安装于用户设备上的应用能够请求接收与应用相关的推送通知。特定的应用是否请求推送通知能够基于任何适当的情况或者情况的组合。例如,特定的应用是否请求推送通知能够基于应用的发布者和/或开发者对应用进行的编程(例如,应用的发布者和/或开发者是否将该特征包括为应用的一部分)。作为另一示例,特定的应用是否请求推送通知能够基于由用户管理的设置(例如,用户能够改变设置以允许或阻止推送通知被发送给特定的应用或者全部应用)。作为又一示例,确定是否发送通知能够基于设备的状态(例如,基于设备是否开机,设备的发送器和/或接收器是否是激活的,设备是否处于“免打扰”模式等)。

在一些实施例中,能够由用户设备在任何适当的时间发送用于发送与第一应用相关的推送通知的请求。例如,当将用户设备开机时、当周期性地(例如,每三十秒、每分钟、每三十分钟等)激活用户设备的发送器和/或接收器时、当用户设备的网络地址改变时或者在任何其他适当的时间时,能够发送用于发送推送通知的请求。此外,用户设备能够使用任何适当的技术或者多种技术来发送用于发送与第一应用相关的推送通知的请求。例如,能够使用用户设备所连接的网络来将用于发送推送通知的请求发送给推送通知服务器。作为另一示例,所述请求能够被发送至与推送通知服务器相关联的特定网络地址(例如,因特网协议(IP)地址、媒体访问控制(MAC)地址或者任何其他适当的网络地址)、被发送至推送通知服务器的特定端口,或者使用任何其他技术或者多种技术来发送所述请求。

在一些实施例中,用于发送与第一应用相关的推送通知的请求能够包括任何适当的信息。例如,所述请求能够包括第一应用的应用标识符,该应用标识符能够识别第一应用的特定实例。在更特别的示例中,当应用被安装在设备上时,应用的每个实例都能够被分配标识符。该标识符能够被用于向特定的应用寄送信息(诸如推送通知)并且能够独立于在其上安装了应用的用户设备的当前网络地址。作为另一示例,所述请求能够包括在其上安装了第一应用的特定实例的用户设备的网络地址。作为又一示例,所述请求能够包括由用户设备的制造商或者由设备的操作系统指定的设备标识符,该设备标识符能够被用于不考虑当前网络地址而唯一地识别特定的设备。此外,任何其他适当的信息都能够被包括在用于发送与第一应用相关的推送通知的请求中。

附加地或替选地,诸如设备标识符、安全令牌或者任何其他适当的信息的某些信息能够被生成为由用于发送与第一应用相关的推送通知的请求发起的过程的一部分。例如,第一应用能够使得用户设备请求发送与第一应用相关的推送通知。这能够使得推送通知服务器生成安全令牌,该安全令牌能够被用于验证发送给第一应用的特定实例的推送通知。该安全令牌能够当其随同用于将推送通知发送至安装于用户设备或多个用户设备上的应用的特定实例或多个特定实例的请求时,由推送通知服务器用于识别用户设备和/或安装于用户设备上的第一应用的特定实例。

在一些实施例中,第一应用能够使得安全令牌和/或任何其他适当的信息被发送至应用发布者。例如,安全令牌能够随同能够与应用标识符一起被发送,应用标识符能够由应用发布者用于识别应用的特定实例。识别特定实例能够被用于以某些用户为目标发送推送通知的一些情形中。作为另一示例,被用于登录到与第一应用相关联的服务的用户名或者从用户名推导出的信息(例如,从用户名推导出的散列)能够被发送至应用发布者。该用户名信息例如能够由应用发布者用于识别账号、特性、设置以及任何其他与登录到第一应用的特定用户名相关联的信息。在一些实施例中,第二应用能够是安装于用户设备上的任何适当的应用。

应指出的是,在本文所述的机制采集关于用户的个人信息或者能够利用个人信息的情况下,能够向用户提供控制程序或特征是否采集用户信息(例如,存储于用户设备上的关于用户动作的信息、存储于诸如服务器的远程设备上的关于用户动作或偏好的信息等)或者控制是否和/或如何发送推送通知的机会。此外,在存储或者使用某些数据之前,能够以一种或多种方式对其进行处理,以致去除个人可识别信息。例如,用户的身份能够被处理,以致没有个人可识别信息能够被用来确定用户,或者在获得位置信息的情况下用户的地理位置能够被泛化(诸如到城市、邮政编码或者州级),以致用户的特定位置不能够被确定。因此,用户能够控制关于用户如何采集信息以及内容服务器如何使用信息。

在104处,过程100能够接收用于发送与安装于用户设备上的第二应用相关的推送通知的请求。如上结合102所述,第二请求能够包括与第一请求类似的信息(例如,应用标识符、用户设备标识符等)。

在一些实施例中,第二应用能够以某种方式与第一应用相关。例如,第一应用和第二应用能够均被用于访问相同内容的至少一部分。在该示例中,第一应用和第二应用能够提供到相同内容的至少一部分的不同切入点。在更特别的示例中,如果第一应用是用于访问来自媒体内容平台(例如,视频共享平台)的媒体内容的应用,第二应用能够是用于访问来自媒体内容平台的特定用户的媒体内容(例如,由特定的发布者或艺术家上传到视频共享平台的内容)的应用。作为更特别的示例,第一应用能够是用于访问通过视频共享平台使其基本上可获得的全部视频的应用,以及第二应用能够是用于访问通过特定频道使其可获得的视频的应用,所述视频可通过相同的视频共享平台来获得。在该更特别的示例中,第二应用能够还提供到除了来自特定频道的视频以外的其他视频的访问,但能够优先提供到来自该频道的视频的访问。此外,能够基于例如与频道关联的用户(例如,乐队、喜剧演员、大学等)来定制第二应用的用户界面。作为另一示例,第一应用能够是用于访问来自媒体内容平台的媒体内容的应用,以及第二应用能够是用于访问与媒体内容平台相关的社交网络服务(例如,由与媒体内容平台相同的实体提供的社交网络服务)的应用。作为又一示例,第一应用和第二应用能够基于应用是由相同的实体产生的事实(例如第一应用与第二应用具有共同的开发者)而相关。作为还一示例,第一应用与第二应用能够以任何适当的方式而相关,诸如通过第一应用的发布者与第二应用的发布者之间的交叉促进协议。

在106处,过程100能够接收用于发送对于用户设备上的第一应用的第一推送通知的请求。在一些实施例中,能够从应用发布者服务器接收这样的请求,该应用发布者服务器发送用于将一个推送通知或多个推送通知发送至第一应用的一个特定实例或多个特定实例的请求。例如,应用的发布者或开发者能够使用服务器或者其他适当的计算设备,以向推送通知服务器(例如,正执行过程100的服务器或者其他适当的计算设备)发送用于将第一推送通知发送至第一应用的一个特定实例或多个特定实例的请求。

此外,在一些实施例中,这样的请求能够包括将推送通知发送至与第一应用的一个特定实例相关联的一个特定设备或多个特定设备所需的任何适当的信息,或者与该信息相关联。例如,所述请求能够包括关于第一应用的一个特定实例或多个特定实例的识别信息,或者与该识别信息相关联。如上所讨论,这样的识别信息能够包括与第一应用的一个特定实例相关联的应用标识符、设备标识符、安全令牌等。作为另一示例,所述请求能够包括使用推送通知将呈现的内容或者与该内容相关联。在更特别的示例中,所述内容能够包括文本、图像、视频、由第一应用将执行的指令、任何其他适当的内容和/或这样的内容的任何适当的组合。作为又一示例,所述请求能够包括指示了可以对应推送通知所发送的应用的身份的信息和/或指示了这些应用中的每一个关于当前推送通知的优先级的信息,或者与该信息相关联。在更特别的示例中,所述请求能够包括可以接收对应通知的另一应用(例如,第二应用)的身份以及第一应用是否具有高于第二应用的优先级的指示。作为还一示例,所述请求能够包括指示了应如何呈现推送通知、如果存在则应以推送通知呈现哪些用户界面元素等的信息,或者与该信息相关联。

在一些实施例中,所述请求能够包括推送通知的识别信息或者与该识别信息相关联。例如,每个推送通知能够具有相关联的识别信息。该识别信息能够包括关于推送通知的各种信息,诸如应用发布者服务器发送推送通知的时间、识别推送通知的内容或类别的代码和/或任何其他适当的识别信息。

在一些实施例中,过程100能够对收到的推送通知确定用户设备的身份和/或网络地址,推送通知作为接收用于发送第一推送通知的请求的一部分或者响应于接收该请求而指向该用户设备。任何适当的技术或者多种技术能够被用于确定推送通知所指向的身份和/或网络地址。例如,诸如推送通知服务器的执行过程100的设备能够保存与应用的特定实例和/或特定设备相关联的应用标识符、设备标识符、网络地址等的数据库。作为另一示例,执行过程100的设备能够基于包括在用于发送第一推送通知的请求中或者与该请求相关联的安全令牌或其他安全信息来确定设备标识符和/或网络地址。任何适当的技术或者多种技术或者这些和其他技术的任何适当的组合能够被用于确定用户设备的身份和/或网络地址。

在108处,过程100能够接收用于发送对于用户设备上的第二应用的第二推送通知的请求。在108处所接收的请求除了指向不同的第二应用之外,能够类似于如上结合106所述的接收的请求。

在110处,过程100能够确定第一推送通知与第二推送通知是否是对应的通知。任何适当的技术或者多种技术能够被用于确定第一推送通知与第二推送通知是否是对应的通知。例如,过程100能够确定第一推送通知的内容是否与第二推送通知的内容相同。作为另一示例,过程100能够将第一推送通知的内容与第二推送通知的内容进行比较并且确定两个通知之间的相似度(或者相差度)分数。如果相似度分数高于阈值(或者如果相差度分数低于阈值),则两个通知能够被确定为对应的通知。作为又一示例,过程100能够确定第一应用与第二应用是否是相关的应用,这能够基于过程100可获得的任何适当的信息来确定,诸如相关应用的数据库中的信息、包括在第一推送通知和/或第二推送通知中的信息或者任何其他适当的信息。作为还一示例,过程100能够确定第一推送通知与第二推送通知的识别信息的至少一部分是否足够相似或相同。如果识别信息的至少一部分足够相似或相同,则过程100能够确定通知是对应的通知。

作为进一步示例,过程100能够确定第一推送通知与第二推送通知是否同时被发送或者接近同时被发送(例如,一秒内、两秒内等),这能够指示通知有可能是对应的通知。作为另一进一步示例,过程100能够确定是否从相同的来源发送第一推送通知与第二推送通知,诸如从相同的实体(例如,第一和第二应用的发布者和/或开发者)。任何适当的技术或者多种技术能够被用于确定通知是否来自相同的来源,诸如通过确定发送通知的实体的识别信息的至少一部分是相同或足够相似的,确定包括在第一和第二推送通知中的安全信息是足够相似或相同的,确定自其发送通知的网络地址或者网络地址的一部分是相同或足够相似的,以及/或者任何其他适当的技术。在一些实施例中,任何其他适当的技术和/或前述技术的组合能够被用于确定第一推送通知与第二推送通知是否是对应的通知。

如果过程100确定第一推送通知与第二推送通知是对应的通知(在110处“是”),则过程100能够继续至112。

在112处,过程100能够基于第一应用的身份和第二应用的身份而确定第一推送通知与第二推送通知之间的优先级。更特别地,过程100能够确定是将第一推送通知发送至用户设备还是将第二推送通知发送至用户设备。任何适当的技术或者多种技术能够被用于确定第一推送通知与第二推送通知之间的优先级。例如,用于发送第一推送通知的请求和/或用于发送第二推送通知的请求能够包括关于该通知相对于其他相关应用的对应通知的优先级的信息。作为另一示例,过程100能够基于用户的先前行为(例如,用户是否更可能使用第一应用或第二应用)来确定优先级。作为又一示例,用于发送第一推送通知的请求或者用于发送第二推送通知的请求能够包括将该推送通知指定为具有高于其他对应的推送通知的优先级的信息或者与该信息相关联。作为还一示例,如果第一推送通知或者第二推送通知已被发送至用户设备,则无论还将对哪一通知给定优先级都能够对该通知给定优先级。在一些情形下,即使应用发布者服务器或者多个应用发布至服务器基本上同时发送(例如,在一秒内、在两秒内等)第一推送通知和第二推送通知,通知中的一个也可以被推迟到达。在该情形下,到达的第一个通知能够被发送至用户设备,而不确定存在对应的通知。如果过程100再将到达的第二个通知识别为对应的通知,则在两个通知均未被发送的情况下无论将会确定的第一个将达到的通知与第二个将到达的通知之间的优先级如何,过程100都能够阻止第二个到达的通知被发送至用户设备。

在114处,过程100能够基于在112处所确定的优先级而使得第一通知或者第二通知被发送至用户设备。任何适当的技术或者多种技术能够被用于发送推送通知。例如,推送通知服务器能够试图将基于优先级所选择的推送通知发送至与用户设备相关联的特定网络地址。作为另一示例,用户设备能够被设置成侦听从或向特定网络地址和/或特定端口发送的通知。作为又一示例,对于特定用户设备的推送通知能够被存储在用户设备能够周期性检查内容的特定位置。作为还一示例,用户设备能够被设置成周期性从中央服务器中检索各种数据,所述数据能够包括天气、用户账户更改、通知和/或任何其他适当的数据。这样的用户设备的操作系统能够将对于更新的数据的一般请求发送至中央服务器并且中央服务器能够以任何适当的更新的数据作出响应。在一些实施例中,过程100能够阻止在114处没有发送的通知被发送。例如,未发送的通知能够被删除、取消、允许过期等。

在一些实施例中,过程100可能不具有足够的信息来确定第一通知与第二通知之间的优先级。例如,在一些实施例中,如果不清楚关于第一应用和第二应用的特定用户偏好,则过程100可能无法确定优先级。

在一些实施例中,过程100能够发送第一通知和第二通知两者,并且确定用户选择通知中的哪一个来执行与对应的第一通知和第二通知相关联的动作。例如,两个通知都能够被发送并且接收通知的用户设备能够回报用户选择了通知中的哪一个。这能够被完成任何适当的次数,并且如果用户表达对于第一通知或者第二通知的偏好(例如,通过连续选择对应于该应用的通知),则过程100能够在例如112处确定优先级的过程中使用该信息。在另一示例中,第一通知、第二通知或者两个通知能够被发送并且接收一个通知或者两个通知的用户设备能够被指示基于选择第一通知或者第二通知来向用户呈现选项。这些选项能够被呈现给用户以询问用户并且确定是否使用第一应用或者第二应用来执行动作(例如,能够使用第一应用或者第二应用来执行的动作,诸如呈现视频、呈现电子邮件等)。在一些实施例中,在选择使用第一应用或者第二应用来执行动作后,用户设备能够进一步询问用户是否使用所选择的应用来始终对类似的通知执行所选择的动作。在用户选择始终使用所选择的应用来执行该动作后,用户设备能够回报所选择的应用的身份作为偏好应用。过程100能够再在例如112处确定优先级的过程中使用该信息。

返回110,如果通知不是对应的通知(在110处为“否”),则过程100能够继续至116。在116处,过程100能够使得第一推送通知和第二推送通知两者被发送至用户设备。如上所述,能够使用任何适当的技术或多个技术的组合来发送第一推送通知以及第二推送通知。

转至图2,根据所公开主题的一些实施例,示出了用于管理对于安装于用户设备上的多个应用所接收的通知的过程200的示例。在一些实施例中,过程200能够由接收推送通知的用户设备来执行。例如,过程200能够由从推送通知服务器接收多个推送通知的用户设备来执行,该推送通知服务器响应于从应用发布者服务器接收到用于将推送通知发送至安装于用户设备上的应用的请求而将推送通知发送至用户设备。

在202处,过程200能够接收对于安装于运行过程200的用户设备上的第一应用的第一推送通知。能够使用任何适当的技术或者多种技术的组合来接收推送通知。例如,如上结合图1的114所述,用户设备能够侦听在特定端口上的通知和/或来自特定网络地址的通知。作为另一示例,用户设备能够周期性检查特定网络地址以便呈现推送通知。在一些实施例中,推送通知能够识别推送通知所指向的特定用户名。例如,一些应用能够允许用户使用多个用户名来登录应用。当识别特定用户名的推送通知被接收时,过程200能够确定所识别的用户名是否仍登录到应用,并且如果该用户名没有登录到应用,则能够阻止呈现所接收的推送通知(例如,过程200能够结束)。

在204处,过程200能够发起查询,以确定是否对于安装于用户设备上的第二应用已接收到对应的第二推送通知。任何适当的技术或者多种技术能够被用于发起查询,查询能够采取任何适当的形式,并且能够使用任何适当的技术来处理查询。例如,查询能够包括检查被分配为由第一应用与第二应用共享的存储器的存储器区域。在更特别的示例中,每个应用都能够被分配用户设备的存储器的特定部分,并且某些应用能够被分配共享存储器。如果应用被编程为请求在其他相关申请之间共享的存储器的相关应用,则应用能够被分配共享存储器。例如,如果应用可从来源(例如,相同的发布者、开发者等)获得,则它们能够相关。当对于已与另一应用共享存储器的应用接收到推送通知时,在将推送通知呈现给用户之前,通知能够被至少暂时性地存储于共享存储器内。当在202处接收到第一推送通知时,在204处,过程200能够检查用于第一应用的共享存储器,以确定来自第二推送通知的信息是否被存储在共享存储器中。在一些实施例中,第一应用和第二应用能够被分配推送通知服务器上的共享存储器。在这样的实施例中,例如,当推送通知服务器接收到对于第一应用的推送通知时,在推送通知服务器中执行的过程能够检查共享存储器以确定来自第二推送通知的信息是否存储在共享存储器中。

作为另一示例,所述查询能够包括查询在用户设备上运行的操作系统以确定是否对于第二应用或者其他相关应用接收到对应的通知。在该示例中,用户设备的操作系统能够保存所接收的推送通知的记录以及与这样的推送通知相关联的信息。当接收到第一通知时,所述查询能够被发起以确定是否在不久之后(例如,一秒内、两秒内、十秒内、一分钟内等)接收到第二推送通知或者在接收到第一通知之前接收到第二推送通知。在这样的示例中,操作系统能够在接收到推送通知之后的短时间内等待将接收到的其他推送通知,其他推送通知可以是所接收到的推送通知的对应通知。这能够允许具有较高优先级的对于第一应用的推送通知被呈现给用户,即使其是在具有较低优先级的对于第二应用的对应推送通知的不久之后才被接收到的。

作为又一示例,所述查询能够包括直接查询第二应用以确定是否对于第二应用接收到通知。任何适当的技术或者多种技术能够被用于查询第二应用。作为还一示例,所述查询能够包括检查包括在第一推送通知内或者与其相关联的信息,以确定第一推送通知是否与第二应用相关,以及所述查询能够包括查询操作系统以确定第二应用是否被安装于用户设备上。如果第一推送通知与第二应用相关,并且第二应用被安装于设备上,则过程200能够确定通知是否对于第二应用接收到通知。

在一些实施例中,任何适当的技术或者多种技术能够被用于确定第一推送通知与第二推送通知是否是对应的通知。例如,上文结合图1的110所述的技术或者多种技术的组合能够被用于确定第一推送通知与第二推送通知是否是对应的通知。

如果对于第二应用没有接收到对应的通知(在206处为“否”),则过程200能够继续至216,在此能够由用户设备呈现第一推送通知。否则,如果对于第二应用已接收到对应的通知(在206处为“是”),则过程200能够继续至208。

在208处,过程200能够确定第二个对应的推送通知是否已被呈现给用户。任何适当的技术或者多种技术能够被用于确定第二个对应的推送通知是否已被呈现。例如,能够保存通知已被呈现的历史并且能够查询该历史以确定第二推送通知是否已被呈现。作为另一示例,第二应用能够对能够被查询以确定第二通知是否已被呈现的已呈现的通知保持记录。作为又一示例,如果第二通知已被呈现给用户,但第二通知尚未被用户确认(例如,第二通知尚未被选择或者清除),则第二通知能够被认为是尚未被呈现给用户。作为还一示例,能够由服务器(例如,推送通知服务器和/或任何其他适当的服务器)保存已呈现的通知的记录,该服务器能够保存哪些通知已跨多个用户设备(例如,用户的智能电话和平板计算机)和/或多个服务(例如,如果推送通知中的信息也被发送至与用户相关联的电子邮件地址)以及跨安装于相同设备上的多个应用而被呈现的记录。在这样的示例中,过程200能够在呈现第一推送通知之前查询服务器,以确定第二推送通知是否通过安装于另一设备上的应用、通过另一服务和/或通过安装于执行过程200的设备上的另一应用而被呈现给用户。如果第二个对应的推送通知已被呈现(在208处为“是”),则过程200能够继续至214,在此过程200能够结束。否则,如果第二个对应的推送通知尚未被呈现(在208处为“否”),则过程200能够继续至210。

在210处,过程200能够确定第一应用是否具有高于第二应用的优先级。任何适当的技术或者多种技术的组合能够被用于确定第一应用是否具有高于第二应用的优先级。例如,上文结合图1的112所述的技术能够被用于确定第一应用是否具有高于第二应用的优先级。作为另一示例,第一应用和第二应用中的一个应用能够被设定为主应用并且另一个应用能够被设定为从应用。当对于主应用以及从应用接收到对应的推送通知时,能够由主应用决定优先级。作为又一示例,能够基于第一应用是否是更受限制的应用(例如,允许用户访问内容的较小子集,而不是第二应用允许用户访问的内容)来确定优先级。在该示例中,更受限制的应用在一些实施例中能够被给定优先级。

如果第一应用不具有高于第二应用的优先级(在212处为“否”),则过程200能够继续至214,在此过程200能够结束。否则,如果第一应用确实具有高于第二应用的优先级(在212处为“是”),则过程200能够继续至216。

在216处,过程200能够使得用户设备呈现第一通知,并且能够阻止第二通知被呈现给用户。在一些实施例中,如果第二通知已被呈现但尚未被用户确认,则第二通知能够被删除或以其他方式不再对用户可获得,并且替代地第一通知能够被呈现。任何适当的技术能够被用于呈现通知。例如,任何适当的格式的通知能够在用户设备的显示器上被呈现给用户。作为另一示例,能够播放向用户指示通知已被接收的特定声音。在一些实施例中,不同的声音能够被用于对不同应用的通知。作为又一示例,指示通知已被接收的指示符能够被呈现给用户。该指示符能够指示对于特定应用已接收到通知,和/或通常指示对于安装于用户设备上的应用已接收到通知。在一些实施例中,指示符能够是当通知已被接收时和或当通知处于待定并且尚未被用户查看时闪烁的灯光。此外,在一些实施例中,用于呈现推送通知的一种技术或者多种技术能够基于接收推送通知的用户设备的设置。例如,通知被呈现给用户的方式能够基于可由用户调节的设置。

尽管本文所述的示例大体上是通过参考两个通知来描述的,但本文所述的机制能够被扩展到应用于任何适当的数目的对应通知。

图3示出了响应于接收到推送通知能够由移动设备300呈现的通知的各种示例。如图3所示,移动设备300能够使用显示器302来呈现一个通知或多个通知。在一些实施例中,显示器302能够是触摸屏显示器,该触摸屏显示器能够被用于从用户接收输入并且作为显示器将信息呈现给用户。能够通过各种方式来呈现通知和/或通知已被接收的指示。例如,在一些实施例中,通知能够被显示为横跨显示器302的上部的横幅304。应指出,在该示例中,虽然横跨显示器302的上部来呈现横幅,但能够沿着显示器的任何适当的边缘来呈现横幅304。此外,呈现横幅304的显示器的边缘能够基于移动设备300的取向。在一些实施例中,能够沿着显示器302的边缘的一部分而不是沿着显示器302的整个边缘来呈现横幅304。

在一些实施例中,横幅304能够包括图标306,该图标306能够是与推送通知相关联的应用的图标。例如,如果使得横幅304被显示的推送通知是对于应用A而被发送的,则图标306能够是与应用A相关联的图标。在一些实施例中,横幅304也能够包括推送通知内容308。推送通知内容308能够包括与推送通知一起被发送的任何适当的内容。例如,推送通知内容能够包括文本、图像、视频、超链接和/或任何其他适当的内容。

在一些实施例中,通知能够被呈现为在显示器302的中央部分中的弹出消息310。弹出消息310能够包括图标306和内容308。在一些实施例中,弹出消息310也能够包括用户界面元素312和314,以使得对应于消息的应用打开和执行特定动作。例如,如果使得弹出消息310被呈现的通知是关于可通过应用A获得的视频,则选择用户界面元素312能够使得应用A被打开并且能够使得视频被播放,而选择用户界面元素314能够撤销弹出消息310。

在一些实施例中,能够通过呈现与应用的图标306联合呈现的标记316来指示对于特定应用接收到通知的事实。标记316能够指示通知已被接收,并且在一些实施例中也能够指示已接收到但用户尚未采取动作的通知的数目(例如,通过选择所接收的通知或者清除它们)。

尽管在图3中示出若干示例,但这些示例仅为说明性的并且可以使用许多其他技术来呈现通知。应指出,特定用户设备能够响应于接收到推送通知而仅呈现单个通知,并且可以不同时呈现不同风格的通知呈现方式。在一些实施例中,任何其他适当的技术能够被用于呈现通知。例如,呈现近期接收的通知的至少一部分的通知中心能够响应于用户动作而由用户设备来呈现。作为另一示例,如果用户在与相同的用户相关联的不同用户设备上确认相同的通知,则已被呈现给用户的多个通知能够被自动删除和/或清除。

如上文结合图2的216所述,在一些实施例中,移动设备300的设置能够控制如何呈现推送通知。例如,所述设置能够被用于确定是否将通知呈现为横幅304、弹出消息310还是标记316。此外,在一些实施例中,设置能够对于不同的应用而不同,以便对于第一应用呈现横幅304,但对于第二应用仅呈现标记316。在一些实施例中,移动设备300的这样的设置能够被用于例如在图2的210处确定优先级。

图4示出了根据一些实施例的在其上能够实现如本文所述的用于管理指向安装于用户设备上的多个应用的通知的机制的系统的概括性示意图的示例400。如所示,系统400能够包括一个或多个移动设备300。移动设备300能够是相互间位于本地或者相互间位于远程。移动设备300能够通过一个或多个通信链路404被连接至通信网络402,该通信网络402能够经由通信链路406被链接至一个或多个推送通知服务器410,并且移动设备300和/或推送通知服务器410能够经由通信链路412被链接至一个或多个应用发布者服务器420。

在一些实施例中,移动设备300、推送通知服务器410以及应用发布者服务器420中的每一个都能够是诸如计算机的通用设备或者诸如客户端、服务器等的专用设备中的任何一个设备。这些通用或专用设备中的任何一个设备都能够包括任何适当的组件,诸如硬件处理器(其能够是微处理器、数字信号处理器、控制器等)、存储器、通信接口、显示器控制器、输入设备等。例如,移动设备300能够被实现为智能电话或者其他蜂窝电话、平板计算机、可穿戴式计算机、个人数字助理、便携式音乐播放器、便携式视频播放器、手持式游戏机或者任何其他适当的移动设备。此外,尽管移动设备300被描述为移动计算设备,但本文所述的机制也能够与任何适当的计算设备一起使用,计算设备诸如为膝上型计算机、桌面型计算机、机顶盒、游戏机、数字媒体接收器或者任何其他适当的计算设备。

通信网络402能够是任何适当的计算机网络或者这样的网络的组合,包括互联网、内联网、广域网(WAN)、局域网(LAN)、无线网、数字用户线路(DSL)网络、帧中继网络、异步传输模式(ATM)网络、虚拟专用网络(VPN)等。通信链路404、406和412能够是适用于在移动设备300、推送通知服务器410与应用发布者服务器420之间通信数据的任何通信链路,诸如网络链路、拨号链路、无线链路、硬连线链路、光链路、红外链路、任何其他适当的通信链路或者这样的链路的任何适当的组合。

系统400能够包括一个或多个推送通知服务器410,所述推送通知服务器410能够识别其上安装了应用的特定实例的移动设备300,该应用的特定实例对应于由应用发布者服务器420发送的特定通知,所述推送通知服务器410能够发送对于安装于特定移动设备300上的应用的特定实例的推送通知,能够确定对于安装于特定移动设备300上的不同应用的实例从多个对应的通知当中发送哪一个通知,能够执行任何其他适当的功能,或者执行这些功能的任何适当的组合。

系统400能够包括一个或多个应用发布者服务器420,所述应用发布者服务器420能够对于应用的特定实例发送推送通知。应用发布者服务器420能够将这些推送通知与识别通知所指向的应用的一个特定实例或多个特定实例的信息一起发送至推送通知服务器410。该识别信息能够基于存储在应用发布者服务器410或者存储在推送通知服务器420的信息。应用发布者服务器420也能够执行任何其他适当的功能,诸如格式化通知、调度通知等。

图5图示了根据所公开主题的一些实施例的能够被用于实现在图4中所描绘的移动设备300、推送通知服务器410以及应用发布服务器420中的一个的硬件的示例500。参照图5,移动设备300能够包括能够互相连接的显示器/输入设备502、硬件处理器504、存储器506以及发送器/接收器508。在一些实施例中,存储器506能够包括用于存储用于控制硬件处理器502的计算机程序的存储设备(诸如非瞬时计算机可读介质)。

硬件处理器504能够使用计算机程序以在显示器/输入设备502上呈现用户界面,所述用户界面用于向用户呈现诸如从推送通知服务器410和/或应用发布者服务器420所接收的通知的各种视觉信息以及任何其他适当的视觉信息,诸如用于安装于移动设备300上的各种应用的用户界面,安装于移动设备300上的操作系统的用户界面。还应指出,能够从任何适当的来源来接收通过通信链路404或者任何其他通信链路所接收到的数据。在一些实施例中,硬件处理器404能够例如使用发送器、接收器、发送器/接收器、收发器或者任何其他适当的通信设备,诸如发送器/收发器508,通过通信链路404或者任何其他通信链路来发送和接收数据。显示器/输入设备502能够包括触摸屏(例如,触摸屏302)、平板显示器、投影仪、阴极射线管显示器、视频输出端口、扬声器和/或任何其他适当的显示器和/或呈现设备,并且能够进一步包括计算机键盘、计算机鼠标、麦克风、触摸板、语音识别电路、触摸屏的触摸界面和/或任何其他适当的输入设备。发送器/接收器508能够包括用于传送和/或接收尤其是从推送通知服务器410和/或应用发布服务器420所发送的推送通知的任何适当的发送器和/或接收器。

推送通知服务器410能够包括能够互相连接的显示器/输入设备512、硬件处理器514、存储器516以及发送器/接收器518。在一些实施例中,存储器516能够包括用于存储用于控制硬件处理器514的服务器程序的存储设备(诸如非瞬时计算机可读介质)。

硬件处理器514能够使用服务器程序来与移动设备300进行通信以根据本文所述的机制提供推送通知,与应用发布者服务器420进行通信以接收推送通知,以及执行任何其他适当的功能。还应指出,能够从任何适当的来源来接收通过通信链路406或者任何其他通信链路所接收到的数据。在一些实施例中,硬件处理器514能够例如使用发送器、接收器、发送器/接收器、收发器或者任何其他适当的通信设备,诸如发送器/收发器518,通过通信链路406或者任何其他通信链路来发送和接收数据。显示器/输入设备512能够包括触摸屏、平板显示器、投影仪、阴极射线管显示器、视频输出端口、扬声器和/或任何其他适当的显示器和/或呈现设备,并且能够进一步包括计算机键盘、计算机鼠标、麦克风、触摸板、语音识别电路、触摸屏的触摸界面和/或任何其他适当的输入设备。发送器/接收器518能够包括用于发送和/或接收尤其是到移动设备300的推送通知、来自移动设备300的状态信息等的任何适当的发送器和/或接收器。

应用发布者服务器420能够包括能够互相连接的显示器/输入设备522、硬件处理器524、存储器526以及发送器/接收器528。在一些实施例中,存储器526能够包括用于存储用于控制硬件处理器524的服务器程序的存储设备(诸如非瞬时计算机可读介质)。

硬件处理器524能够使用服务器程序来与推送通知服务器410和/或移动设备300进行通信,以根据本文所述的机制提供推送通知,格式化和/或调度待被发送至与特定应用发布者服务器420相关联的应用的特定实例的推送通知,与推送通知服务器410和/或移动设备300进行通信以建立应用的特定实例的身份和/或将应用的特定实例设定成接收推送通知,以及执行任何其他适当的功能。还应指出,能够从任何适当的来源来接收通过通信链路412或者任何其他通信链路所接收的数据。在一些实施例中,硬件处理器524能够例如使用发送器、接收器、发送器/接收器、收发器或者任何其他适当的通信设备,诸如发送器/收发器528,通过通信链路412或者任何其他通信链路来发送和接收数据。显示器/输入设备522能够包括触摸屏、平板显示器、投影仪、阴极射线管显示器、视频输出端口、扬声器和/或任何其他适当的显示器和/或呈现设备,并且能够进一步包括计算机键盘、计算机鼠标、麦克风、触摸板、语音识别电路、触摸屏的触摸界面和/或任何其他适当的输入设备。发送器/接收器528能够包括用于发送和/或接收尤其是到推送通知服务器和/或移动设备300的推送通知、移动设备300的状态信息(例如,基于安装了应用的特定实例)等的任何适当的发送器和/或接收器。

转至图6,根据所公开主题的一些实施例,示出了应用发布者服务器420、推送通知服务器410与移动设备300之间的说明性流程600的示例。在602处,应用发布者服务器420能够提交用于发送指向第一应用的一个特定实例或多个特定实例的第一推送通知的请求。该请求能够指向推送通知服务器410,并且能够使用任何适当的技术或多种技术而被发送。在一些实施例中,所述请求能够与对应于推送通知所指向的第一应用的一个特定实例或多个特定实例的识别信息一起被发送。任何适当的信息能够被用于识别第一应用的特定实例或多个特定实例,诸如结合图1的106所述的信息。在602处发送的请求也能够包括待被发送至第一应用的特定实例或多个特定实例的推送通知的内容。

在604处,应用发布者服务器420能够提交用于发送指向第二应用的第二推送通知的请求。如上文结合602所讨论,第二请求类似于第一请求,能够指向第二应用的一个特定实例或多个特定实例。在一些实施例中,在604处提交的请求能够使用与在602处提交的请求类似的技术而被发送,并且能够包括类似类型的信息,诸如识别了第二应用的一个特定实例或多个特定实例的信息。应指出,尽管第二请求被示为源自与第一请求相同的应用发布者服务器420,但这仅出于方便考虑并且第一请求和第二请求能够源自分离的应用发布者服务器420。

在606处,推送通知服务器410能够从应用发布者服务器420接收用于发送第一推送通知的请求。任何适当的技术或多种技术能够被用于接收用于发送第一通知的第一请求,诸如上文结合图1的106所述的技术。

在608处,推送通知服务器410能够识别与第一推送通知所指向的第一应用的特定实例或多个特定实例相关联的一个移动设备或多个移动设备。任何适当的技术或多种技术能够被用于确定第一推送通知所指向的移动设备的身份,诸如上文结合图1的106所述的技术。

在610处,推送通知服务器410能够从应用发布者服务器420接收用于发送第二推送通知的请求。如上文结合606所述,任何适当的技术或多种技术能够被用于接收用于发送第一通知的第二请求。

在612处,推送通知服务器410能够识别与第二推送通知所指向的第二应用的特定实例相关联的一个移动设备或多个移动设备。如上文结合608所述,任何适当的技术或多种技术能够被用于确定第二推送通知所指向的移动设备的身份。

在614处,推送通知服务器410能够确定在608处所识别的移动设备是否是在612处所识别的相同的移动设备,并且能够确定第一推送通知是否对应于第二推送通知(例如,如上结合图1的110所描述的)。推送通知服务器410能够使用任何适当的技术或多种技术来确定第一推送通知与第二推送通知是否是对应的通知。例如,以上结合图1的110所述的技术或其任何组合能够被用于确定第一通知与第二通知是否是对应的通知。

如果在608和612处所识别的移动设备是相同的移动设备,并且如果在606处所接收到的第一推送通知与在610处所接收到的第二推送通知是对应的通知(在614处为“是”),则推送通知服务器410能够继续至616。

在616处,推送通知服务器410能够确定第一应用或第二应用是否具有对于发出第一通知或第二通知的优先级。推送通知服务器410能够使用任何适当的技术或多种技术来确定第一应用和第二应用的优先级。例如,以上结合图1的112所述的多种技术中的任何一个或其任何组合能够被用于确定第一应用和第二应用的优先级。

在618处,推送通知服务器410能够基于在616处所确定的优先级而选择将第一推送通知或者第二推送通知发送至在608和612处所识别的移动设备。请注意,选择将发送哪一个推送通知能够被作为默认选择,并且可以不是对特定推送通知的正向选择。更特别地,推送通知服务器410能够发送全部接收到的通知,除非诸如过程100的过程导致了阻止特定推送通知被发送。

返回614,如果在608和612处所识别的移动设备不相同,或者如果在606处所接收到的第一推送通知与在610处所接收到的第二推送通知不是对应的通知(在614处为“否”),则推送通知服务器410能够继续至620。

在620处,推送通知服务器410能够选择将第一推送通知以及第二推送通知发送至在608和612处所识别的移动设备或多个移动设备。

在622处,推送通知服务器410能够使得在618或620处所选择的推送通知或多个推送通知被发送至在608和612处所识别的移动设备或多个移动设备。任何适当的技术或多种技术能够被用于在622处发送推送通知或多个推送通知,诸如结合图1的114所述的技术。

在624处,移动设备300能够从推送通知服务器410接收一个或多个推送通知。所接收的一个或多个推送通知能够是在622处所发送的推送通知或多个推送通知。请注意,尽管示出了单个移动设备300,如上结合614和620所述,第一推送通知和第二推送通知可以不指向相同的移动设备。在该情形下,推送通知能够被发送至不同的移动设备300。

在626处,移动设备300能够使得在624处所接收的推送通知或多个推送通知被呈现(例如,使用移动设备300的显示器)。如上结合图2的216以及结合图3所述,通知或多个通知的呈现能够基于正在呈现通知的特定移动设备300的设置。

图7示出了根据所公开主题的一些实施例的推送通知服务器410与移动设备300之间的说明性流程图700的示例。在702处,推送通知服务器410能够接收用于将推送通知发送至第一应用的特定实例的第一请求。如上所述,能够从请求将第一推送通知发送至已安装第一应用的一个特定实例或多个特定实例的一个移动设备300或多个移动设备300的应用发布者服务器420来接收在702处所接收到的第一请求。如上所述,任何适当的技术或多种技术能够被用于接收第一推送通知,诸如上文结合图1的106所述的技术。

在704处,推送通知服务器410能够识别与第一应用的特定实例或多个特定实例相关联的一个移动设备300或多个移动设备300。任何适当的技术或多种技术能够被用于识别与第一应用的特定实例相关联的移动设备300,诸如上文结合图1的106所述的技术。

在706处,推送通知服务器410能够将第一推送通知发送至在704处所识别的移动设备。如上结合例如图1的114所述,任何适当的技术或多个技术能够被用于将第一推送通知发送至在704处所识别的移动设备。

在708处,推送通知服务器410能够接收用于将推送通知发送至第二应用的一个特定实例或多个特定实例的第二请求。如上所述,能够从请求将第二推送通知发送至已安装第二应用的一个特定实例或多个特定实例的一个移动设备300或多个移动设备300的应用发布者服务器420来接收在708处所接收到的第二请求。还如上结合图1的106所述,任何适当的技术或多种技术能够被用于接收第二推送通知。

在710处,推送通知服务器410能够识别与第二应用的特定实例或多个特定实例相关联的一个移动设备或多个移动设备。如上结合例如706和图1的106所述,任何适当的技术或多个技术能够被用于识别与第二应用的特定实例相关联的移动设备300。

在712处,推送通知服务器410能够将第二推送通知发送至在710处所识别的移动设备。如上结合例如图1的114所述,任何适当的技术或多个技术能够被用于将第二推送通知发送至在710处所识别的移动设备。

在714处,移动设备300能够从推送通知服务器接收第一推送通知。如上结合例如图2的202所述,任何适当的技术或多种技术能够被用于接收第一推送通知。

在716处,移动设备300能够从推送通知服务器接收第二推送通知。如上结合例如图2的202所述,任何适当的技术或多种技术能够被用于接收第二推送通知。

在718处,移动设备300能够确定在714处所接收到的第一推送通知是否对应于在716处所接收到的第二推送通知。任何适当的技术或多个技术能够被用于确定第一推送通知与第二推送通知是否是对应的通知,诸如上文结合例如图1的110和图2的204所述的技术。

如果在718处第一推送通知被确定成对应于第二推送通知(在720处为“是”),则移动设备300能够继续至722。

在722处,移动设备300能够确定第一推送通知或第二推送通知是否已由移动设备300呈现(例如,被呈现给用户)。如果第一推送通知或第二推送通知已被呈现给用户(在722处为“是”),则移动设备300能够继续至724并且结束流程700。否则,如果第一推送通知或第二推送通知都没有由移动设备300呈现(在722处为“否”),则移动设备300能够继续至726。

在726处,移动设备300能够确定第一应用与第二应用之间的优先级,以确定应将第一推送通知或第二推送通知呈现给用户。任何适当的技术或多种技术能够被用于确定优先级,诸如结合例如图1的112所述的技术。

在728处,移动设备300能够基于第一推送通知和第二推送通知的优先级而选择将第一推送通知或第二推送通知呈现给用户。

返回720,如果第一推送通知与第二推送通知不是对应的通知(在720处为“否”),则移动设备300能够继续至730。在730处,移动设备300能够选择第一推送通知和第二推送通知两者,以便将其呈现给用户。附加地或替选地,在确定通知并不对应于另一通知之后,移动设备300能够使得通知被呈现。请注意,选择将发出哪一个推送通知能够被作为默认选择,并且可以不是对特定推送通知的正向选择。更特别地,诸如移动设备300的用户设备能够呈现全部接收到的通知,除非诸如过程200的过程导致了阻止特定推送通知被呈现。

在732处,移动设备300能够使得在728处所选择的推送通知或多个推送通知被呈现给移动设备300的用户。如上结合例如图2的216以及结合图3所述,任何适当的技术或多种技术能够被用于将推送通知呈现给用户。请注意,呈现推送通知不要求了解用户是否曾实际查看过所呈现的通知。

在一些实施例中,本文所述的机制能够包括服务器侧软件、客户端侧软件、服务器侧硬件、客户端侧硬件、固件或者其任何适当组合。例如,这些机制能够涵盖一个或多个Web页面或Web页面部分(例如,经由任何适当的编码,诸如超文本标记语言(“HTML”)、动态超文本标记语言(“DHTML”)、可扩展标记语言(“XML”)、JavaServer页面(“JSP”)、动态服务器页面(“ASP”)、冷聚变(ColdFusion)或者任何其他适当方法)。作为另一示例,这些机制能够涵盖使得处理器执行本文所述机制的计算机程序。例如,这些机制能够涵盖执行所述机制的、以可由移动设备300、推送通知服务器410和/或应用发布者服务器420辨识的编程语言编写的计算机程序(例如,以诸如Java、C、Objective-C、C++、C#、JavaScript、Visual Basic、HTML、XML、ColdFusion的编程语言、任何其他适当方法或其任何适当组合编写的程序)。

在本文所述的机制采集关于用户的个人信息或者能够利用个人信息的情况下,能够向用户提供控制程序或特征是否采集用户信息(例如,存储于诸如移动设备300的用户设备上的关于用户动作的信息、存储于诸如推送通知服务器410、应用发布者服务器420等的远程设备上的关于用户动作的信息等)或者控制是否和/或如何进行推送通知的机会。此外,在存储或者使用某些数据之前,能够以一个或多个方式对其进行处理,以致个人可识别信息被去除。例如,用户的身份能够被处理,以致没有个人可识别信息能够被确定为是针对用户的,或者在获得位置信息的情况下用户的地理位置能够被泛化(诸如到城市、邮政编码或者州级),以致不能够确定用户的特定位置。因此,用户能够控制如何关于用户来采集信息并且内容服务器如何使用信息。

在一些实施例中,任何适当的计算机可读介质能够被用于存储用于执行本文所述的功能和/或过程的指令。例如,在一些实施例中,计算机可读介质能够是瞬时或者非瞬时的。例如,非瞬时计算机可读介质能够包括如下介质:诸如磁性介质(诸如硬盘、软盘等)、光学介质(诸如压缩光盘、数字视频光盘、蓝光光盘等)、半导体介质(诸如闪存、电可编程序只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)等)、在传输期间没有转瞬即逝或者不缺乏任何持久性表相的任何适当的介质和/或任何适当的有形介质。如另一示例,瞬时计算机可读介质能够包括网络、电线、导体、光纤、电路中的信号、在传输期间转瞬即逝或者缺乏任何持久性表相的任何适当的介质和/或任何适当的无形介质。

在所公开主题的一些实施例中,能够以任意顺序或次序来执行图1、2、6和7的以上过程步骤中的一些,而不限于在附图中所显示和描述的顺序和次序。此外,能够在适当的情况下大体上同时或者并行地执行图1、2、6和7的以上过程步骤中的一些,以减少延迟和处理时间。另外,应指出的是,图1、2、6和7仅作为示例而被提供。可以以与所表示的顺序不同的顺序来执行、同时地执行或者省略这些附图中所示的步骤中的至少一些。

所提供的本文所述的示例(以及如“诸如”、“例如,”、“包括”等所叙述的短语)不应被理解为将要求保护的主题限定于具体的示例;相反地,示例旨在仅说明许多可能方面中的一些方面。还应指出的是,如本文所用,术语机制能够涵盖硬件、软件、固件或者其任何适当的组合。

因此,提供了用于管理指向安装于用户设备上的多个应用的通知的方法、系统和介质

尽管在前述说明性实施例中已对本发明进行了描述和说明,但应理解的是,仅以示例方式作出本公开,并且在不脱离本发明的精神和范围的情况下,能够作出对本发明的实施方式的细节的诸多改变,而本发明的精神和范围仅由随后的权利要求所限制。能够以各种方式来组合以及重新排列所公开的实施例的特征。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1