CN107766212A - 确定应用程序的安装状态的方法及装置 - Google Patents

确定应用程序的安装状态的方法及装置 Download PDF

Info

Publication number
CN107766212A
CN107766212A CN201711238418.6A CN201711238418A CN107766212A CN 107766212 A CN107766212 A CN 107766212A CN 201711238418 A CN201711238418 A CN 201711238418A CN 107766212 A CN107766212 A CN 107766212A
Authority
CN
China
Prior art keywords
application program
installment state
installation list
list
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201711238418.6A
Other languages
English (en)
Other versions
CN107766212B (zh
Inventor
李丙立
高阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Xiaomi Mobile Software Co Ltd
Original Assignee
Beijing Xiaomi Mobile Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Xiaomi Mobile Software Co Ltd filed Critical Beijing Xiaomi Mobile Software Co Ltd
Priority to CN201711238418.6A priority Critical patent/CN107766212B/zh
Publication of CN107766212A publication Critical patent/CN107766212A/zh
Application granted granted Critical
Publication of CN107766212B publication Critical patent/CN107766212B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Stored Programmes (AREA)

Abstract

本公开是关于一种确定应用程序的安装状态的方法及装置,用以方便确定应用程序的安装状态。所述方法包括:通过第一应用程序集成的第三方服务在第一时间点获取终端设备的第一安装列表;通过第三方服务在第二时间点获取终端设备的第二安装列表;对第一安装列表与第二安装列表进行对比,得到对比结果;基于对比结果确定第二应用程序的安装状态;第二应用程序中集成所述第三方服务。本公开技术方案可以方便确定应用程序的安装状态。

Description

确定应用程序的安装状态的方法及装置
技术领域
本公开涉及通信技术领域,尤其涉及一种确定应用程序的安装状态的方法及装置。
背景技术
相关技术中,应用程序的运营商可以根据用户是否上线来判断该用户是否活跃,如果当前时间距离用户前一次上线的时间大于预设时长,比如三个月,则确定该用户已经流失。如果应用程序的运营商不能及时确定应用程序的安装状态,则不能及时评估运营活动的优劣。而且,应用服务器发送消息推送的时候,如果不能确定用户侧应用程序的安装状态,并继续准备发送消息推送,则可能会产生冗余信息,造成不必要的服务器压力和流量。所以,如何确定应用程序的安装状态是需要解决的一个技术问题。
发明内容
为克服相关技术中存在的问题,本公开实施例提供一种确定应用程序的安装状态的方法及装置,可以方便确定用户的终端设备上应用程序的安装状态。
根据本公开实施例的第一方面,提供一种确定应用程序的安装状态的方法,包括:
通过第一应用程序集成的第三方服务在第一时间点获取终端设备的第一安装列表;
通过所述第三方服务在第二时间点获取所述终端设备的第二安装列表;
对所述第一安装列表与所述第二安装列表进行对比,得到对比结果;
基于所述对比结果确定第二应用程序的安装状态;所述第二应用程序中集成所述第三方服务。
在一个实施例中,所述基于所述对比结果确定所述第二应用程序的安装状态,可包括:
在所述对比结果中所述第二应用程序的身份标识位于所述第一安装列表中且没有位于所述第二安装列表中时,确定所述第二应用程序的安装状态为已卸载;
在所述对比结果中所述身份标识位于所述第一安装列表中且位于所述第二安装列表中时,确定所述第二应用程序的安装状态为未卸载。
在一个实施例中,所述确定所述第二应用程序的安装状态为已卸载之后,还可包括:
将所述第二应用程序的安装状态发送给所述第二应用程序的服务器。
在一个实施例中,所述通过所述第三方服务在第二时间点获取所述终端设备的第二安装列表之前,还可包括:
确定所述第二应用程序的用户身份标识;
确定所述第二应用程序与所述用户身份标识之间的关联关系;
所述确定所述第二应用程序的安装状态为已卸载之后,还包括:
基于所述关联关系确定所述第二应用程序的所述用户身份标识;
将所述用户身份标识发送给所述第二应用程序的服务器。
在一个实施例中,所述通过所述第三方服务在第二时间点获取所述终端设备的第二安装列表之前,还可包括:
确定所述第二应用程序的版本号;
确定所述第二应用程序的安装时间;
所述确定所述第二应用程序的安装状态为已卸载之后,还包括:
确定所述第二应用程序的卸载时间;
将所述第二应用程序的版本号、安装时间以及卸载时间发送给所述第二应用程序的服务器。
根据本公开实施例的第二方面,提供一种确定应用程序的安装状态的装置,所述装置包括:
第一获取模块,被配置为通过第一应用程序中集成的第三方服务在第一时间点获取终端设备的第一安装列表;
第二获取模块,被配置为通过所述第三方服务在第二时间点获取所述终端设备的第二安装列表;
对比模块,被配置为对所述第一安装列表与所述第二安装列表进行对比,得到对比结果;
第一确定模块,被配置为基于所述对比结果确定第二应用程序的安装状态;所述第二应用程序中集成所述第三方服务。
在一个实施例中,所述第一确定模块,可包括:
第一确定子模块,被配置为在所述对比结果中所述第二应用程序的身份标识位于所述第一安装列表中且没有位于所述第二安装列表中时,确定所述第二应用程序的安装状态为已卸载;
第二确定子模块,被配置为在所述对比结果中所述身份标识位于所述第一安装列表中且位于所述第二安装列表中时,确定所述第二应用程序的安装状态为未卸载。
在一个实施例中,所述装置,还可包括:
第一发送模块,被配置为将所述第二应用程序的安装状态发送给所述第二应用程序的服务器。
在一个实施例中,所述装置,还可包括:
第二确定模块,被配置为确定所述第二应用程序的用户身份标识;
第三确定模块,被配置为确定所述第二应用程序与所述用户身份标识之间的关联关系;
第四确定模块,被配置为基于所述关联关系确定所述第二应用程序的所述用户身份标识;
第二发送模块,被配置为将所述用户身份标识发送给所述第二应用程序的服务器。
在一个实施例中,所述装置,还可包括:
第五确定模块,被配置为确定所述第二应用程序的版本号;
第六确定模块,被配置为确定所述第二应用程序的安装时间;
第七确定模块,被配置为确定所述第二应用程序的卸载时间;
第三发送模块,被配置为将所述第二应用程序的版本号、安装时间以及卸载时间发送给所述第二应用程序的服务器。
根据本公开实施例的第三方面,提供一种确定应用程序的安装状态的装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行本公开实施例的第一方面所述的方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本公开实施例的第一方面所述的方法。
本公开的实施例提供的技术方案可以包括以下有益效果:通过第一应用程序集成的第三方服务在第一时间点获取终端设备的第一安装列表以及在第二时间点获取所述终端设备的第二安装列表,对所述第一安装列表与所述第二安装列表进行对比,得到对比结果,基于该对比结果,可以确定第二应用程序的安装状态。这样,只要一个应用程序与终端设备上的其他应用程序使用同一第三方服务,便可以通过其他应用程序中集成的第三方服务确定该应用程序的安装状态。因此,本公开的实施例可以方便地确定应用程序的安装状态。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1A是根据一示例性实施例示出的确定应用程序的安装状态的方法的应用场景图。
图1B是根据一示例性实施例示出的确定应用程序的安装状态的方法的流程图。
图2是根据一示例性实施例一示出的确定应用程序的安装状态的方法的流程图。
图3是根据一示例性实施例二示出的确定应用程序的安装状态的方法的流程图。
图4是根据一示例性实施例三示出的确定应用程序的安装状态的方法的流程图。
图5A是根据一示例性实施例示出的一种确定应用程序的安装状态的装置的框图。
图5B是根据一示例性实施例示出的一种确定应用程序的安装状态的装置的框图。
图5C是根据一示例性实施例示出的一种确定应用程序的安装状态的装置的框图。
图5D是根据一示例性实施例示出的一种确定应用程序的安装状态的装置的框图。
图6是根据一示例性实施例示出的一种确定应用程序的安装状态的装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1A是根据一示例性实施例示出的确定应用程序的安装状态的方法的应用场景图。本公开实施例提供的确定应用程序的安装状态的方法,可通过第三方服务器12(比如SDK(软件开发套件或者软件开发工具包)服务器)、应用程序服务器13以及终端设备11实现,其中,第三方服务器12与终端设备11通信连接,第三方服务器12与应用程序服务器13通信连接。在应用程序的运营商将确定用户终端设备上的应用程序的安装状态的业务委托给第三方时,可以使用本公开实施例提供的确定应用程序的安装状态的方法。具体可以是,在终端设备11上安装的第一应用程序与第二应用程序中均集成同一第三方提供的相同的第三方服务(比如推送SDK服务),应用程序服务器13为第二应用程序的服务器。第一应用程序中集成的第三方服务可以在一个时间点获取终端设备11的第一安装列表,在另一个时间点获取终端设备11的第二安装列表,并将第一安装列表与第二安装列表发送给第三方服务器12。第三方服务器12对第一安装列表与所述第二安装列表进行对比,得到对比结果,并可以基于所述对比结果确定第二应用程序的安装状态。最后,第三方服务器12可以将第二应用程序的安装状态发送给第二应用程序的服务器13,以供第二应用程序的服务器13及时了解用户端第二应用程序的安装状态,并据此调整业务实施策略。
图1B是根据一示例性实施例示出的确定应用程序的安装状态的方法的流程图,该确定应用程序的安装状态的方法可以应用在服务器上,如图1B所示,该确定应用程序的安装状态的方法包括以下步骤S101-S104:
在步骤S101中,通过第一应用程序集成的第三方服务在第一时间点获取终端设备的第一安装列表。
在本实施例中,可由终端设备11上安装的第一应用程序集成的第三方服务在预设的第一时间点获取终端设备11的第一安装列表。第一安装列表是终端设备11上当前已安装的应用程序的列表。第一安装列表中可以是已安装的应用程序的身份标识信息的表格,比如可以是应用程序的名单。
在本实施例中,第三方服务可以通过预设接口获取所述的第一安装列表。具体地,第三方服务可以调用预设函数(比如GetAPPList())来获取终端设备11的第一安装列表。在一个示例性实施例中,第一安装列表可以包括第一应用程序(APP1)、第二应用程序(APP2)、第三应用程序(APP3)、第四应用程序(APP4)以及第五应用程序(APP5)。
在步骤S102中,通过所述第三方服务在第二时间点获取所述终端设备的第二安装列表。
在本实施例中,第三方服务还可以在预设的第二时间点获取的所述终端设备的第二安装列表。第二安装列表与第一安装列表相似,是终端设备11上当前已安装的应用程序的列表。其中,第二时间点在第一时间点之后,第一时间点与第二时间点之间的时间间隔可以预先配置,比如可以是一天。
在本实施例中,终端设备获取第二安装列表的方法与获取第一安装列表的方法相似,在此不再赘述。继续上述的示例性实施例,获取的第二安装列表可以包括APP1、APP3、APP4、APP5以及第六应用程序(APP6)。
在步骤S103中,对所述第一安装列表与所述第二安装列表进行对比,得到对比结果。
在步骤S104中,基于所述对比结果确定第二应用程序的安装状态;所述第二应用程序中也集成所述第三方服务。
在步骤S103~S104中,第三方服务器12可以对第一安装列表与第二安装列表进行对比,得到对比结果,并基于该对比结果确定第二应用程序的安装状态。其中,安装状态可以包括已卸载以及未卸载等。其中,已卸载表示在第一时间点处于安装的状态且在第二时间点处于未安装的状态,未卸载表示在第一时间点处于安装的状态且在第二时间点也处于安装的状态。
在本实施例中,对比结果中可以包括第一列表与第二列表。其中,第一列表用于记载位于所述第一安装列表中且没有位于所述第二安装列表中的应用程序的身份标识信息,第二列表用于记载既位于所述第一安装列表中又位于所述第二安装列表中的应用程序的身份标识信息。基于第一列表可以确定第一列表中的应用程序的安装状态为已卸载,基于第二列表可以确定第二列表中的应用程序的安装状态为未卸载。
继续上述的示例性实施例,基于第一安装列表与第二安装列表的对比结果可以得到,第一列表包括APP2,APP2的安装状态为已卸载,第二列表包括APP1、APP3、APP4、APP5,APP1、APP3、APP4、APP5安装状态均为未卸载。
在一个示例性实施例中,应用程序APP1、APP2的运营商将确定用户终端设备11上的应用程序的安装状态的业务委托给了第三方。本示例性实施例中,确定应用程序APP2的安装状态的方法,通过第三方服务器12(比如SDK服务器)、APP2的应用程序服务器13以及终端设备11实现。第三方服务器12的运营商可以通过第三方服务器12配置采集终端设备11上当前已安装的至少一个应用程序的安装列表的时间点。例如,应用程序服务器13定期向用户推送消息,第三方服务器12需要在应用程序服务器13向用户推送消息的时间点之前的预设的信息反馈时间点向应用程序服务器13发送终端设备11上应用程序APP2的安装状态。那么,第三方服务器12就会在上述的信息反馈时间点之前的预设时间点(第二时间点)获取终端设备11的第二安装列表以及第二安装列表中应用程序各自对应的用户身份标识,并确定在第一时间点获取的终端设备11的第一安装列表,其中,第一时间点可以是第三方服务器12上一次获取的终端设备11上应用程序的安装列表。其中,第一安装列表可以包括APP1、APP2、APP3、APP4以及APP5,第二安装列表可以包括APP1、APP3、APP4、APP5以及APP6。第三方服务器12对第一安装列表与第二安装列表进行对比,得到对比结果,并基于对比结果确定APP2的安装状态,其中,APP2的安装状态是已卸载。接着,第三方服务器12将APP2的安装状态以及对应的用户身份标识发送给应用程序服务器13,以供应用程序服务器13根据终端设备11上的APP2的安装状态确定是否给对应的用户发送推送消息。其中,由于APP2的安装状态是已卸载,应用程序服务器13可以将该已卸载的APP2对应的用户身份标识(用户ID)从用于推送消息的用户列表中删除,确定不再给已卸载APP2的用户发送推送消息。这样,可以使得应用程序服务器13节约流量,提高消息推送的发送效率,减少无用信息流,提高消息推送的发送成功率。由上可知,即使APP2已卸载,第三方服务器也可以基于APP1中集成的第三方服务确定APP2的安装状态。
在另一个示例性实施例中,基于上述的确定应用程序的安装状态的方法,应用程序服务器13可以对一部分用户发布APP2的版本A,对另部分用户发布APP2的版本B,其中,版本B的APP2在版本A的APP2的基础上进行了功能修改。应用程序服务器13可以对使用对版本A的APP2的用户卸载APP2的卸载情况与使用版本B的APP2的用户卸载APP2的卸载情况进行对比,确定功能修改对用户卸载APP2的影响,进而可以减少因调查原因打扰用户。
在一个实施例中,第三方服务器12可以只对使用第三方服务的应用程序的安装状态进行统计。在这种情况下,第一列表与第二列表中的应用程序均使用第三方服务。在另一个实施例中,第三方服务器12也可以先统计应用程序的安装状态得到第一列表与第二列表。在这种情况下,第一列表与第二列表可能存在没有使用第三方服务的应用程序。在第三方服务器12向使用第三方服务的应用程序的服务器发送对应的安装状态前,可以将第一列表与第二列表中没有使用第三方服务的应用程序清除,然后再根据第一列表与第二列表向对应的应用程序的服务器发送安装状态。
在一个实施例中,所述基于所述对比结果确定所述第二应用程序的安装状态,可包括:
在所述对比结果中所述第二应用程序的身份标识位于所述第一安装列表中且没有位于所述第二安装列表中时,确定所述第二应用程序的安装状态为已卸载;
在所述对比结果中所述身份标识位于所述第一安装列表中且位于所述第二安装列表中时,确定所述第二应用程序的安装状态为未卸载。
在一个实施例中,所述确定所述第二应用程序的安装状态为已卸载之后,还可包括:
将所述第二应用程序的安装状态发送给所述第二应用程序的服务器。
在一个实施例中,所述通过所述第三方服务在第二时间点获取所述终端设备的第二安装列表之前,还可包括:
确定所述第二应用程序的用户身份标识;
确定所述第二应用程序与所述用户身份标识之间的关联关系;
所述确定所述第二应用程序的安装状态为已卸载之后,还包括:
基于所述关联关系确定所述第二应用程序的所述用户身份标识;
将所述用户身份标识发送给所述第二应用程序的服务器。
在一个实施例中,所述通过所述第三方服务在第二时间点获取所述终端设备的第二安装列表之前,还可包括:
确定所述第二应用程序的版本号;
确定所述第二应用程序的安装时间;
所述确定所述第二应用程序的安装状态为已卸载之后,还包括:
确定所述第二应用程序的卸载时间;
将所述第二应用程序的版本号、安装时间以及卸载时间发送给所述第二应用程序的服务器。
具体如何确定应用程序的安装状态的,请参考后续实施例。
至此,本公开实施例提供的上述方法,可以通过第一应用程序集成的第三方服务在第一时间点获取终端设备的第一安装列表以及在第二时间点获取所述终端设备的第二安装列表,对所述第一安装列表与所述第二安装列表进行对比,得到对比结果,基于该对比结果,可以方便地确定第二应用程序的安装状态。这样,只要一个应用程序与终端设备上的其他应用程序使用同一第三方服务,便可以通过其他应用程序中集成的第三方服务确定该应用程序的安装状态。
下面以具体实施例来说明本公开实施例提供的技术方案。
图2是根据一示例性实施例一示出的确定应用程序的安装状态的方法的流程图;本实施例利用本公开实施例提供的上述方法,以如何基于对比结果确定第二应用程序的安装状态为例进行示例性说明,如图2所示,包括如下步骤:
在步骤S201中,通过第一应用程序集成的第三方服务在第一时间点获取终端设备的第一安装列表。
在步骤S202中,通过所述第三方服务在第二时间点获取所述终端设备的第二安装列表。
在步骤S203中,对所述第一安装列表与所述第二安装列表进行对比,得到对比结果。
本实施例中的步骤S201~S203与图1B所示的实施例中的步骤S101~S103相似,在此不再赘述。
在步骤S204中,在所述对比结果中所述第二应用程序的身份标识位于所述第一安装列表中且没有位于所述第二安装列表中时,确定所述第二应用程序的安装状态为已卸载。
在本实施例中,可以确定第二应用程序是否已卸载。具体地,在经对比第一安装列表与第二安装列表查找出来第二应用程序的身份标识位于所述第一安装列表中且没有位于所述第二安装列表中时,可以确定第二应用程序的安装状态为已卸载。
在步骤S205中,在所述对比结果中所述身份标识位于所述第一安装列表中且位于所述第二安装列表中时,确定所述第二应用程序的安装状态为未卸载。
在本实施例中,还可以确定未卸载的应用程序。具体地,经对比第一安装列表与第二安装列表查找出来第二应用程序的身份标识位于所述第一安装列表中且位于所述第二安装列表中时,可以确定所述第二应用程序的安装状态为未卸载。
在步骤S206中,将所述第二应用程序的安装状态发送给所述第二应用程序的服务器。
本实施例中,可以基于对比结果确定第二应用程序的安装状态,并在确定第二应用程序的安装状态为已卸载后,将第二应用程序的安装状态发送给第二应用程序的服务器,这样,可以供应用程序的运营商及时获知用户的卸载情况,制作卸载报表,并统计准确的用户数量。
图3是根据一示例性实施例二示出的确定应用程序的安装状态的方法的流程图;本实施例利用本公开实施例提供的上述方法,以确定被卸载的第二应用程序的用户身份标识为例进行示例性说明,如图3所示,包括如下步骤:
在步骤S301中,通过第一应用程序集成的第三方服务在第一时间点获取终端设备的第一安装列表。
本实施例中的步骤S301与图1B所示的实施例中的步骤S101相似,在此不再赘述。
在步骤S302中,确定所述第二应用程序的用户身份标识。
在本实施例中,第三方服务可以通过预设接口(比如用于获取应用程序的用户身份标识的函数)获取终端设备11上当前已安装的应用程序各自对应的用户身份标识(用户ID),并发送给第三方服务器12。继续上述的示例性实施例,APP1、APP2、APP3、APP4、APP5对应的用户身份标识为ID1、ID2、ID3、ID4以及ID5。
在步骤S303中,确定所述第二应用程序与所述用户身份标识之间的关联关系。
在本实施例中,第三方服务器12可以通过将第一安装列表中的应用程序与对应的用户身份标识进行关联保存确定上述的关联关系。例如,可以将第一安装列表中的应用程序与对应的用户身份标识保存在表1中。
在步骤S304中,通过所述第三方服务在第二时间点获取所述终端设备的第二安装列表。
本实施例中的步骤S304与图1B所示的实施例中的步骤S102相似,在此不再赘述。
表1
应用程序 用户的身份标识
APP1 ID1
APP2 ID2
APP3 ID3
APP4 ID4
APP5 ID5
在步骤S305中,对所述第一安装列表与所述第二安装列表进行对比,得到对比结果。
本实施例中的步骤S305与图1B所示的实施例中的步骤S103相似,在此不再赘述。
在步骤S306中,在所述对比结果中所述第二应用程序的身份标识位于所述第一安装列表中且没有位于所述第二安装列表中时,确定所述第二应用程序的安装状态为已卸载。
本实施例中的步骤S306与图2所示的实施例中的步骤S204相似,在此不再赘述。
在步骤S307中,基于所述关联关系确定所述第二应用程序的所述用户身份标识。
在本实施例中,当确定第二应用程序的安装状态为已卸载后,可以基于上述的关联关系,确定第二应用程序的用户身份标识。例如,当确定APP2的安装状态为已卸载后,基于上述的关联关系可以确定APP2对应的用户身份标识为ID2。
在步骤S308中,将所述用户身份标识发送给所述第二应用程序的服务器。
在本实施例中,在确定第二应用程序的安装状态为已卸载后,将第二应用程序的用户身份标识发送给第二应用程序的服务器,可以使第二应用程序的服务器针对已卸载第二应用程序的用户采取对应的处理策略,节约服务资源,提高服务效率。例如,当APP2的服务器接收到ID2后,确认身份标识为ID2的用户卸载了APP2,可以将ID2从用于推送消息的用户列表中删除,从而节约流量,提高消息推送的发送效率,减少无用信息流,提高消息推送的发送成功率。
图4是根据一示例性实施例三示出的确定应用程序的安装状态的方法的流程图;本实施例利用本公开实施例提供的上述方法,以确定被卸载的第二应用程序的卸载信息(卸载时间、卸载的应用程序的版本号等)为例进行示例性说明,如图4所示,包括如下步骤:
在步骤S401中,通过第一应用程序集成的第三方服务在第一时间点获取终端设备的第一安装列表。
本实施例中的步骤S401与图1B所示的实施例中的步骤S101相似,在此不再赘述。
在步骤S402中,确定所述第二应用程序的版本号。
在本实施例中,第三方服务可以通过预设接口(比如用于获取应用程序的版本号的函数)获取终端设备11上当前已安装的应用程序各自对应的版本号。继续上述的示例性实施例,APP1、APP2、APP3、APP4、APP5对应的版本号为V1、V2、V3、V4以及V5。
在步骤S403中,确定所述第二应用程序的安装时间。
在本实施例中,第三方服务可以通过预设接口(比如用于获取应用程序的安装时间的函数)获取终端设备上当前已安装的应用程序各自对应的安装时间。
在步骤S404中,通过所述第三方服务在第二时间点获取所述终端设备的第二安装列表。
本实施例中的步骤S404与图1B所示的实施例中的步骤S102相似,在此不再赘述。
在步骤S405中,对所述第一安装列表与所述第二安装列表进行对比,得到对比结果。
本实施例中的步骤S405与图1B所示的实施例中的步骤S103相似,在此不再赘述。
在步骤S406中,在所述对比结果中所述第二应用程序的身份标识位于所述第一安装列表中且没有位于所述第二安装列表中时,确定所述第二应用程序的安装状态为已卸载。
本实施例中的步骤S406与图2所示的实施例中的步骤S204相似,在此不再赘述。
在步骤S407中,确定所述第二应用程序的卸载时间。
在本实施例中,终端设备11可以在检测到第二应用程序被卸载后,记录第二应用程序的卸载时间,并建立第二应用程序与卸载时间之间的对应关系,以供后续查询。例如,当第三方服务器12需要确定第二应用程序对应的卸载时间时可向终端设备11发送请求,该请求携带第二应用程序的身份标识,终端设备11响应于该请求查询上述的对应关系得到查询结果,并将查询结果发送给第三方服务器12。
在步骤S408中,将所述第二应用程序的版本号、安装时间以及卸载时间发送给所述第二应用程序的服务器。
在本实施例中,将所述安装状态为已卸载的第二应用程序对应的版本号、安装时间以及卸载时间发送给第二应用程序的服务器,以供第二应用程序的服务器在接收到第二应用程序对应的版本号、安装时间以及卸载时间后,可以确定安装时间与卸载时间之间的时间间隔,并将该时间间隔与预设时长进行比较,根据比较结果生成针对该版本号的评价报告。其中,当该时间间隔小于预设时长时可以确定用户对该版本号的应用程序的使用体验不佳。
在本实施例中,可以将安装状态为已卸载的应用程序对应的版本号、安装时间以及卸载时间发送给安装状态为已卸载的应用程序对应的服务器,可以供对应的服务器在不打扰用户的情况下评估应用程序的用户使用体验。
图5A是根据一示例性实施例示出的一种确定应用程序的安装状态的装置的框图。所述装置50包括:
第一获取模块51,被配置为通过第一应用程序中集成的第三方服务在第一时间点获取终端设备的第一安装列表;
第二获取模块52,被配置为通过所述第三方服务在第二时间点获取所述终端设备的第二安装列表;
对比模块53,被配置为对所述第一安装列表与所述第二安装列表进行对比,得到对比结果;
第一确定模块54,被配置为基于所述对比结果确定第二应用程序的安装状态;所述第二应用程序中集成所述第三方服务。
图5B是根据一示例性实施例示出的一种确定应用程序的安装状态的装置的框图。所述第一确定模块51,可包括:
第一确定子模块511,被配置为在所述对比结果中所述第二应用程序的身份标识位于所述第一安装列表中且没有位于所述第二安装列表中时,确定所述第二应用程序的安装状态为已卸载;
第二确定子模块512,被配置为在所述对比结果中所述身份标识位于所述第一安装列表中且位于所述第二安装列表中时,确定所述第二应用程序的安装状态为未卸载。
第一发送模块55,被配置为将所述第二应用程序的安装状态发送给所述第二应用程序的服务器。
图5C是根据一示例性实施例示出的一种确定应用程序的安装状态的装置的框图。所述装置50,还可包括:
第二确定模块56,被配置为确定所述第二应用程序的用户身份标识;
第三确定模块57,被配置为确定所述第二应用程序与所述用户身份标识之间的关联关系;
第四确定模块58,被配置为基于所述关联关系确定所述第二应用程序的所述用户身份标识;
第二发送模块59,被配置为将所述用户身份标识发送给所述第二应用程序的服务器。
图5D是根据一示例性实施例示出的一种确定应用程序的安装状态的装置的框图。所述装置50,还可包括:
第五确定模块61,被配置为确定所述第二应用程序的版本号;
第六确定模块62,被配置为确定所述第二应用程序的安装时间;
第七确定模块63,被配置为确定所述第二应用程序的卸载时间;
第三发送模块64,被配置为将所述第二应用程序的版本号、安装时间以及卸载时间发送给所述第二应用程序的服务器。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图6是根据一示例性实施例示出的一种确定应用程序的安装状态的装置的框图。例如,装置600可以被提供为一服务器。参照图6,装置600包括处理组件622,其进一步包括一个或多个处理器,以及由存储器632所代表的存储器资源,用于存储可由处理部件622的执行的指令,例如应用程序。存储器632中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件622被配置为执行指令,以执行上述用于控制数据访问方法。
装置600还可以包括一个电源组件626被配置为执行装置600的电源管理,一个有线或无线网络接口650被配置为将装置600连接到网络,和一个输入输出(I/O)接口658。装置600可以操作基于存储在存储器632的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器632,上述指令可由装置600的处理组件622执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (12)

1.一种确定应用程序的安装状态的方法,其特征在于,所述方法包括:
通过第一应用程序集成的第三方服务在第一时间点获取终端设备的第一安装列表;
通过所述第三方服务在第二时间点获取所述终端设备的第二安装列表;
对所述第一安装列表与所述第二安装列表进行对比,得到对比结果;
基于所述对比结果确定第二应用程序的安装状态;所述第二应用程序中集成所述第三方服务。
2.根据权利要求1所述的方法,其特征在于,所述基于所述对比结果确定所述第二应用程序的安装状态,包括:
在所述对比结果中所述第二应用程序的身份标识位于所述第一安装列表中且没有位于所述第二安装列表中时,确定所述第二应用程序的安装状态为已卸载;
在所述对比结果中所述身份标识位于所述第一安装列表中且位于所述第二安装列表中时,确定所述第二应用程序的安装状态为未卸载。
3.根据权利要求2所述的方法,其特征在于,所述确定所述第二应用程序的安装状态为已卸载之后,还包括:
将所述第二应用程序的安装状态发送给所述第二应用程序的服务器。
4.根据权利要求3所述的方法,其特征在于,所述通过所述第三方服务在第二时间点获取所述终端设备的第二安装列表之前,还包括:
确定所述第二应用程序的用户身份标识;
确定所述第二应用程序与所述用户身份标识之间的关联关系;
所述确定所述第二应用程序的安装状态为已卸载之后,还包括:
基于所述关联关系确定所述第二应用程序的所述用户身份标识;
将所述用户身份标识发送给所述第二应用程序的服务器。
5.根据权利要求3所述的方法,其特征在于,所述通过所述第三方服务在第二时间点获取所述终端设备的第二安装列表之前,还包括:
确定所述第二应用程序的版本号;
确定所述第二应用程序的安装时间;
所述确定所述第二应用程序的安装状态为已卸载之后,还包括:
确定所述第二应用程序的卸载时间;
将所述第二应用程序的版本号、安装时间以及卸载时间发送给所述第二应用程序的服务器。
6.一种确定应用程序的安装状态的装置,其特征在于,所述装置包括:
第一获取模块,被配置为通过第一应用程序中集成的第三方服务在第一时间点获取终端设备的第一安装列表;
第二获取模块,被配置为通过所述第三方服务在第二时间点获取所述终端设备的第二安装列表;
对比模块,被配置为对所述第一安装列表与所述第二安装列表进行对比,得到对比结果;
第一确定模块,被配置为基于所述对比结果确定第二应用程序的安装状态;所述第二应用程序中集成所述第三方服务。
7.根据权利要求6所述的装置,其特征在于,所述第一确定模块,包括:
第一确定子模块,被配置为在所述对比结果中所述第二应用程序的身份标识位于所述第一安装列表中且没有位于所述第二安装列表中时,确定所述第二应用程序的安装状态为已卸载;
第二确定子模块,被配置为在所述对比结果中所述身份标识位于所述第一安装列表中且位于所述第二安装列表中时,确定所述第二应用程序的安装状态为未卸载。
8.根据权利要求7所述的装置,其特征在于,所述装置,还包括:
第一发送模块,被配置为将所述第二应用程序的安装状态发送给所述第二应用程序的服务器。
9.根据权利要求8所述的装置,其特征在于,所述装置,还包括:
第二确定模块,被配置为确定所述第二应用程序的用户身份标识;
第三确定模块,被配置为确定所述第二应用程序与所述用户身份标识之间的关联关系;
第四确定模块,被配置为基于所述关联关系确定所述第二应用程序的所述用户身份标识;
第二发送模块,被配置为将所述用户身份标识发送给所述第二应用程序的服务器。
10.根据权利要求8所述的装置,其特征在于,所述装置,还包括:
第五确定模块,被配置为确定所述第二应用程序的版本号;
第六确定模块,被配置为确定所述第二应用程序的安装时间;
第七确定模块,被配置为确定所述第二应用程序的卸载时间;
第三发送模块,被配置为将所述第二应用程序的版本号、安装时间以及卸载时间发送给所述第二应用程序的服务器。
11.一种确定应用程序的安装状态的装置,其特征在于,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
通过第一应用程序集成的第三方服务在第一时间点获取终端设备的第一安装列表;
通过所述第三方服务在第二时间点获取所述终端设备的第二安装列表;
对所述第一安装列表与所述第二安装列表进行对比,得到对比结果;
基于所述对比结果确定第二应用程序的安装状态;所述第二应用程序中集成所述第三方服务。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5任一项所述的方法。
CN201711238418.6A 2017-11-30 2017-11-30 确定应用程序的安装状态的方法及装置 Active CN107766212B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711238418.6A CN107766212B (zh) 2017-11-30 2017-11-30 确定应用程序的安装状态的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711238418.6A CN107766212B (zh) 2017-11-30 2017-11-30 确定应用程序的安装状态的方法及装置

Publications (2)

Publication Number Publication Date
CN107766212A true CN107766212A (zh) 2018-03-06
CN107766212B CN107766212B (zh) 2021-06-01

Family

ID=61276495

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711238418.6A Active CN107766212B (zh) 2017-11-30 2017-11-30 确定应用程序的安装状态的方法及装置

Country Status (1)

Country Link
CN (1) CN107766212B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109766104A (zh) * 2018-12-07 2019-05-17 北京数字联盟网络科技有限公司 应用程序的下载系统、安装类型的确定方法以及存储介质
CN111679837A (zh) * 2020-05-07 2020-09-18 海南车智易通信息技术有限公司 系统安装控制方法、控制系统及计算设备
CN111679837B (zh) * 2020-05-07 2024-05-31 海南车智易通信息技术有限公司 系统安装控制方法、控制系统及计算设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102736978A (zh) * 2012-06-26 2012-10-17 奇智软件(北京)有限公司 一种检测应用程序的安装状态的方法及装置
CN102929601A (zh) * 2012-09-28 2013-02-13 北京小米科技有限责任公司 一种应用程序管理方法及装置
CN103246595A (zh) * 2013-04-08 2013-08-14 北京小米科技有限责任公司 应用程序管理方法、装置、服务器及终端设备
CN103338223A (zh) * 2013-05-27 2013-10-02 清华大学 一种移动应用的推荐方法、客户端及服务器
CN103593233A (zh) * 2012-08-17 2014-02-19 腾讯科技(深圳)有限公司 推送软件信息的方法和系统
CN103677880A (zh) * 2012-09-17 2014-03-26 联想(北京)有限公司 一种信息处理方法及电子设备
CN103986969A (zh) * 2014-04-28 2014-08-13 小米科技有限责任公司 应用管理方法、装置和系统
CN105653316A (zh) * 2015-12-24 2016-06-08 小米科技有限责任公司 监听软件被卸载的方法及装置
US20160162275A1 (en) * 2014-12-03 2016-06-09 Verizon Patent And Licensing Inc. Identification and isolation of incompatible applications during a platform update

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102736978A (zh) * 2012-06-26 2012-10-17 奇智软件(北京)有限公司 一种检测应用程序的安装状态的方法及装置
CN103593233A (zh) * 2012-08-17 2014-02-19 腾讯科技(深圳)有限公司 推送软件信息的方法和系统
CN103677880A (zh) * 2012-09-17 2014-03-26 联想(北京)有限公司 一种信息处理方法及电子设备
CN102929601A (zh) * 2012-09-28 2013-02-13 北京小米科技有限责任公司 一种应用程序管理方法及装置
CN103246595A (zh) * 2013-04-08 2013-08-14 北京小米科技有限责任公司 应用程序管理方法、装置、服务器及终端设备
CN103338223A (zh) * 2013-05-27 2013-10-02 清华大学 一种移动应用的推荐方法、客户端及服务器
CN103986969A (zh) * 2014-04-28 2014-08-13 小米科技有限责任公司 应用管理方法、装置和系统
US20160162275A1 (en) * 2014-12-03 2016-06-09 Verizon Patent And Licensing Inc. Identification and isolation of incompatible applications during a platform update
CN105653316A (zh) * 2015-12-24 2016-06-08 小米科技有限责任公司 监听软件被卸载的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HONG JACK: "Android的推送sdk是如何唤醒App的?", 《HTTPS://WWW.ZHIHU.COM/QUESTION/35523594/ANSWER/63201132》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109766104A (zh) * 2018-12-07 2019-05-17 北京数字联盟网络科技有限公司 应用程序的下载系统、安装类型的确定方法以及存储介质
CN109766104B (zh) * 2018-12-07 2020-10-30 北京数字联盟网络科技有限公司 应用程序的下载系统、安装类型的确定方法以及存储介质
CN111679837A (zh) * 2020-05-07 2020-09-18 海南车智易通信息技术有限公司 系统安装控制方法、控制系统及计算设备
CN111679837B (zh) * 2020-05-07 2024-05-31 海南车智易通信息技术有限公司 系统安装控制方法、控制系统及计算设备

Also Published As

Publication number Publication date
CN107766212B (zh) 2021-06-01

Similar Documents

Publication Publication Date Title
CN108156268A (zh) 设备标识的获取方法及服务器、终端设备
CN108075934A (zh) 一种网络质量监控方法、装置及系统
CN111010527B (zh) 一种通过短信链接建立视频通话的方法及相关装置
CN110730472B (zh) 一种通信凭证的状态检测方法及服务器
CN106411517A (zh) 一种密码重置方法及装置
CN105516186A (zh) 一种防止重放攻击的方法和服务器
KR20120021054A (ko) 어플리케이션 서비스 제공 방법, 장치 및 이를 제공하는 시스템
US20150134419A1 (en) Customer experience management (cem) metrics and operational correlation techniques
WO2016041171A1 (zh) 确定终端漫游状态的方法、装置、终端及服务器
CN112615753A (zh) 一种链路异常追踪方法、第一节点、第二节点以及链路
EP3185592B1 (en) Method and device for determining service area corresonding to clerk communication account
CN107766212A (zh) 确定应用程序的安装状态的方法及装置
CN107391170A (zh) 支持多方案的升级方法、装置和计算机设备
CN104320766A (zh) 垃圾短信识别方法、装置及设备
CN114302351B (zh) 短信业务处理方法、装置、计算机设备和存储介质
CN102946594B (zh) Telematics系统中使用“一键导航”时自动获取设备信息的方法
CN103813034B (zh) 一种业务实现的方法、终端及业务服务器
KR20100027218A (ko) 서비스를 위한 구성 설정을 자동 발견하기 위한 방법, 장치 및 컴퓨터 독출 가능 매체
CN110225097B (zh) 一种信息处理方法、设备及存储介质
CN109246244B (zh) 消息同步的检测方法、装置和系统
CN109714750B (zh) 通话方法、装置、电子终端及介质
US20200118141A1 (en) Automated communication preference setting in a customer relationship management (crm) application
CN105227435A (zh) 消息传输的方法和装置
CN105191478B (zh) 消息传输方法、装置和网关设备
CN115665673B (zh) 一种支持多方5g消息交互方法、系统及产品

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant