一种设备唯一标识码获取方法、装置及移动终端转让专利

申请号 : CN201710385703.4

文献号 : CN107360265A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 周志刚陈少杰张文明

申请人 : 武汉斗鱼网络科技有限公司

摘要 :

本发明公开了一种设备唯一标识码获取方法、装置及移动终端,应用于移动开发领域,包括:在检测到移动终端上的目标应用启动时,分别从移动终端的M个目标位置读取与所述目标应用相关的设备唯一标识码;如果读取到与目标应用相关的N个设备唯一标识码,从N个设备唯一标识码中识别出目标设备唯一标识码,将目标设备唯一标识码发送给服务器,如果读取不到与目标应用相关的设备唯一标识码,根据目标应用的应用相关信息生成新的设备唯一标识码,将新的设备唯一标识码分别存储至M个目标位置,将新的设备唯一标识码发送给服务器。通过本发明解决了现有获取设备唯一ID的方式效率差、兼容性差的技术问题,进而实现了高效、准确的获取设备唯一标识码。

权利要求 :

1.一种设备唯一标识码获取方法,其特征在于,包括:

在检测到移动终端上的目标应用启动时,分别从所述移动终端的M个目标位置读取与所述目标应用相关的设备唯一标识码,M为大于1的整数;

如果读取到与所述目标应用相关的N个设备唯一标识码,从所述N个设备唯一标识码中识别出目标设备唯一标识码,将所述目标设备唯一标识码发送给服务器,N为小于或等于M的正整数;

如果读取不到与所述目标应用相关的设备唯一标识码,根据所述目标应用的应用相关信息生成新的设备唯一标识码,将所述新的设备唯一标识码分别存储至所述M个目标位置,将所述新的设备唯一标识码发送给所述服务器。

2.如权利要求1所述的设备唯一标识码获取方法,其特征在于,所述根据所述目标应用的应用相关信息生成新的设备唯一标识码,包括:根据所述目标应用的应用名称、所述目标应用适配的操作系统类型和所述目标应用的时间参数生成所述新的设备唯一标识码。

3.如权利要求1或2所述的设备唯一标识码获取方法,其特征在于,如果所述M个目标位置包括:所述移动终端的用于存储系统设置的位置、所述移动终端的外设存储器,以及所述移动终端的用于存储应用配置的位置,所述将所述新的设备唯一标识码分别存储至所述M个目标位置,包括:将所述新的设备唯一标识码写入所述移动终端的用于存储系统设置的位置;

将所述新的设备唯一标识码写入所述移动终端的外设存储器中;

将所述新的设备唯一标识码写入所述移动终端的用于存储应用配置的位置。

4.如权利要求1所述的设备唯一标识码获取方法,其特征在于,所述从所述N个设备唯一标识码中识别出目标设备唯一标识码,包括:通过对所述N个设备唯一标识码进行对比,以从所述N个设备唯一标识码中对比出重复次数最多的设备唯一标识码作为所述目标设备唯一标识码。

5.如权利要求1所述的设备唯一标识码获取方法,其特征在于,在所述在检测到移动终端上的目标应用启动之前,所述方法还包括:在检测到所述目标应用被安装于所述移动终端时,根据所述目标应用的应用名称、所述目标应用适配的操作系统类型和所述目标应用安装于所述移动终端时的系统时间,生成原始的设备唯一标识码;

将所述原始的设备唯一标识码同时存储在所述M个目标位置。

6.一种设备唯一标识码获取装置,其特征在于,包括:

标识码读取单元,用于在检测到移动终端上的目标应用启动时,分别从所述移动终端的M个目标位置读取与所述目标应用相关的设备唯一标识码,M为大于1的整数;

标识码识别单元,用于如果读取到与所述目标应用相关的N个设备唯一标识码,从所述N个设备唯一标识码中识别出目标设备唯一标识码;

第一标识码发送单元,用于将所述目标设备唯一标识码发送给服务器,N为小于或等于M的正整数;

标识码生成单元,用于如果读取不到与所述目标应用相关的设备唯一标识码,根据所述目标应用的应用相关信息生成新的设备唯一标识码;

第二标识码发送单元,用于将所述新的设备唯一标识码分别存储至所述M个目标位置;

标识码存储单元,用于将所述新的设备唯一标识码发送给所述服务器。

7.如权利要求6所述的设备唯一标识码获取装置,其特征在于,所述标识码生成单元,具体用于:根据所述目标应用的应用名称、所述目标应用适配的操作系统类型和所述目标应用的时间参数生成所述新的设备唯一标识码。

8.如权利要求6或7所述的设备唯一标识码获取装置,其特征在于,如果所述M个目标位置包括:所述移动终端的用于存储系统设置的位置、所述移动终端的外设存储器,以及所述移动终端的用于存储应用配置的位置,所述标识码存储单元,具体用于:将所述新的设备唯一标识码写入所述移动终端的用于存储系统设置的位置;

将所述新的设备唯一标识码写入所述移动终端的外设存储器中;

将所述新的设备唯一标识码写入所述移动终端的用于存储应用配置的位置。

9.如权利要求6所述的设备唯一标识码获取装置,其特征在于,所述标识码识别单元,具体用于:通过对所述N个设备唯一标识码进行对比,以从所述N个设备唯一标识码中对比出重复次数最多的设备唯一标识码作为所述目标设备唯一标识码。

10.一种移动终端,其特征在于,包括:

存储器,配置为存储一条或多条指令;

处理器,配置为执行所述存储器中存储的一条或多条指令,所述一条或多条指令被配置为一个或多个处理器执行,所述一条或多条指令至少用于:在检测到移动终端上的目标应用启动时,从所述移动终端的M个目标位置读取与所述目标应用相关的设备唯一标识码,M为大于1的整数;

如果读取到与所述目标应用相关的N个设备唯一标识码,从所述N个设备唯一标识码中识别出目标设备唯一标识码,将所述目标设备唯一标识码发送给服务器,N为小于或等于M的正整数;

如果读取不到与所述目标应用相关的设备唯一标识码,根据所述目标应用的应用相关信息生成新的设备唯一标识码,将所述新的设备唯一标识码分别存储至所述M个目标位置,以及将所述新的设备唯一标识码发送给所述服务器。

说明书 :

一种设备唯一标识码获取方法、装置及移动终端

技术领域

[0001] 本发明涉及移动开发领域,尤其涉及一种设备唯一标识码获取方法、装置及移动终端。

背景技术

[0002] 目前,对于移动终端上的应用会在所安装的设备上生成一个设备的唯一ID,此设备的唯一ID用来统计真实用户的Android应用下载安装量,以及会将此唯一ID关联到用户的注册账号,对于后台统计用户的信息时可以知道该唯一ID对应的用户是谁,同时当用户删除应用时也可以统计到该用户并通过该唯一ID来关联用户。
[0003] 目前,大多数设备唯一ID的获取方法是基于移动终端的硬件信息组合起来生成一个唯一ID,但是,不同厂商的移动终端可能都存在差异,比如需要获取移动终端的硬件设备信息,从而会比较耗时。同时,因为不同设备其使用的操作系统或者其硬件信息的支持是不一样的,因此,针对一些移动终端,某些硬件信息可能获取不到。可见现有技术方案获取设备的唯一ID不仅效率差,而且兼容性差。

发明内容

[0004] 本发明实施例通过提供一种设备唯一标识码获取方法、装置及移动终端,解决了现有获取设备唯一ID的方式效率差、兼容性差的技术问题。
[0005] 第一方面,本发明实施例提供一种设备唯一标识码获取方法,包括:
[0006] 在检测到移动终端上的目标应用启动时,分别从所述移动终端的M个目标位置读取与所述目标应用相关的设备唯一标识码,M为大于1的整数;
[0007] 如果读取到与所述目标应用相关的N个设备唯一标识码,从所述N个设备唯一标识码中识别出目标设备唯一标识码,将所述目标设备唯一标识码发送给服务器,N为小于或等于M的正整数;
[0008] 如果读取不到与所述目标应用相关的设备唯一标识码,根据所述目标应用的应用相关信息生成新的设备唯一标识码,将所述新的设备唯一标识码分别存储至所述M个目标位置,将所述新的设备唯一标识码发送给所述服务器。
[0009] 可选的,所述根据所述目标应用的应用相关信息生成新的设备唯一标识码,包括:
[0010] 根据所述目标应用的应用名称、所述目标应用适配的操作系统类型和所述目标应用的时间参数生成所述新的设备唯一标识码。
[0011] 可选的,如果所述M个目标位置包括:所述移动终端的用于存储系统设置的位置、所述移动终端的外设存储器,以及所述移动终端的用于存储应用配置的位置,所述将所述新的设备唯一标识码分别存储至所述M个目标位置,包括:
[0012] 将所述新的设备唯一标识码写入所述移动终端的用于存储系统设置的位置;
[0013] 将所述新的设备唯一标识码写入所述移动终端的外设存储器中;
[0014] 将所述新的设备唯一标识码写入所述移动终端的用于存储应用配置的位置。
[0015] 可选的,所述从所述N个设备唯一标识码中识别出目标设备唯一标识码,包括:
[0016] 通过对所述N个设备唯一标识码进行对比,以从所述N个设备唯一标识码中对比出重复次数最多的设备唯一标识码作为所述目标设备唯一标识码。
[0017] 可选的,在所述在检测到移动终端上的目标应用启动之前,所述方法还包括:
[0018] 在检测到所述目标应用被安装于所述移动终端时,根据所述目标应用的应用名称、所述目标应用适配的操作系统类型和所述目标应用安装于所述移动终端时的系统时间,生成原始的设备唯一标识码;
[0019] 将所述原始的设备唯一标识码同时存储在所述M个目标位置。
[0020] 第二方面,本发明实施例提供一种设备唯一标识码获取装置,包括:
[0021] 标识码读取单元,用于在检测到移动终端上的目标应用启动时,分别从所述移动终端的M个目标位置读取与所述目标应用相关的设备唯一标识码,M为大于1的整数;
[0022] 标识码识别单元,用于如果读取到与所述目标应用相关的N个设备唯一标识码,从所述N个设备唯一标识码中识别出目标设备唯一标识码;
[0023] 第一标识码发送单元,用于将所述目标设备唯一标识码发送给服务器,N为小于或等于M的正整数;
[0024] 标识码生成单元,用于如果读取不到与所述目标应用相关的设备唯一标识码,根据所述目标应用的应用相关信息生成新的设备唯一标识码;
[0025] 第二标识码发送单元,用于将所述新的设备唯一标识码分别存储至所述M个目标位置;
[0026] 标识码存储单元,用于将所述新的设备唯一标识码发送给所述服务器。
[0027] 可选的,所述标识码生成单元,具体用于:
[0028] 根据所述目标应用的应用名称、所述目标应用适配的操作系统类型和所述目标应用的时间参数生成所述新的设备唯一标识码。
[0029] 可选的,如果所述M个目标位置包括:所述移动终端的用于存储系统设置的位置、所述移动终端的外设存储器,以及所述移动终端的用于存储应用配置的位置,所述标识码存储单元,具体用于:
[0030] 将所述新的设备唯一标识码写入所述移动终端的用于存储系统设置的位置;
[0031] 将所述新的设备唯一标识码写入所述移动终端的外设存储器中;
[0032] 将所述新的设备唯一标识码写入所述移动终端的用于存储应用配置的位置。
[0033] 可选的,所述标识码识别单元,具体用于:
[0034] 通过对所述N个设备唯一标识码进行对比,以从所述N个设备唯一标识码中对比出重复次数最多的设备唯一标识码作为所述目标设备唯一标识码。
[0035] 第三方面,本发明实施例提供一种移动终端,包括:
[0036] 存储器,配置为存储一条或多条指令;
[0037] 处理器,配置为执行所述存储器中存储的一条或多条指令,所述一条或多条指令被配置为一个或多个处理器执行,所述一条或多条指令至少用于:
[0038] 在检测到移动终端上的目标应用启动时,从所述移动终端的M个目标位置读取与所述目标应用相关的设备唯一标识码,M为大于1的整数;
[0039] 如果读取到与所述目标应用相关的N个设备唯一标识码,从所述N个设备唯一标识码中识别出目标设备唯一标识码,将所述目标设备唯一标识码发送给服务器,N为小于或等于M的正整数;
[0040] 如果读取不到与所述目标应用相关的设备唯一标识码,根据所述目标应用的应用相关信息生成新的设备唯一标识码,将所述新的设备唯一标识码分别存储至所述M个目标位置,以及将所述新的设备唯一标识码发送给所述服务器。
[0041] 本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
[0042] 由于发送给服务器的设备唯一标识码与目标应用相关,根据目标应用的应用相关信息生成新的设备唯一标识码,而不用从移动终端读取硬件信息来进行生成针对目标应用的设备唯一标识码,因此,减少了生成设备唯一标识码的时间,而获取目标应用的应用相关信息,是相对于读取硬件信息更省时的操作,并且不会因为终端型号、厂商等不同而获取不到,因此根据目标应用的应用相关信息生成新的设备唯一标识码的技术方案兼容性更好、更高效。

附图说明

[0043] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0044] 图1为本发明实施例提供的设备唯一标识码获取方法的流程图;
[0045] 图2为本发明实施例提供的设备唯一标识码获取装置的结构图。

具体实施方式

[0046] 鉴于现有技术存在获取设备的唯一ID的方式效率差、兼容性差的技术问题,本发明实施例提供一种设备唯一标识码获取方法、装置及移动终端,总体思路如下:
[0047] 在检测到移动终端上的目标应用启动时,分别从移动终端的M个目标位置读取与所述目标应用相关的设备唯一标识码,M为大于1的整数;如果读取到与目标应用相关的N个设备唯一标识码,从N个设备唯一标识码中识别出目标设备唯一标识码,将目标设备唯一标识码发送给服务器,N为小于或等于M的正整数;如果读取不到与目标应用相关的设备唯一标识码,根据目标应用的应用相关信息生成新的设备唯一标识码,将新的设备唯一标识码分别存储至M个目标位置,将新的设备唯一标识码发送给服务器。
[0048] 由于发送给服务器的设备唯一标识码与目标应用相关,根据目标应用的应用相关信息生成新的设备唯一标识码,而不用从移动终端读取硬件信息来进行生成针对目标应用的设备唯一标识码,因此,减少了生成设备唯一标识码的时间,而获取目标应用的应用相关信息,是相对于读取硬件信息更省时的操作,并且不会因为终端型号、厂商等不同而获取不到,因此根据目标应用的应用相关信息生成新的设备唯一标识码发送给服务器的技术方案兼容性更好、更高效。
[0049] 为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
[0050] 参考图1所示,本发明实施例提供的一种设备唯一标识码获取方法,其特征在于,包括:
[0051] S101、在检测到移动终端上的目标应用启动时,分别从移动终端的M个目标位置读取与目标应用相关的设备唯一标识码,M为大于1的整数。
[0052] 本发明实施例不限制从M个目标位置读取与目标应用相关的设备唯一标识码(即:设备唯一ID)时的执行先后顺序,在具体实施过程中,可以同时从M个目标位置读取与目标应用相关的设备唯一标识码,也可以以任意顺序依次从M个目标位置读取与目标应用相关的设备唯一标识码。
[0053] M个目标位置为预先设定,M个目标位置存储的与目标应用相关的设备唯一标识码为本次启动目标应用之前的某次启动应用目标时生成的,可能是初次启动也可能是中间次启动。
[0054] 比如,包括3个目标位置:移动终端的用于存储系统设置的位置、移动终端的外设存储器、以及移动终端的用于存储应用配置的位置。
[0055] 在检测到移动终端上的目标应用启动时,从移动终端的用于存储系统设置的位置、移动终端的外设存储器、以及用于存储应用配置的位置分别读取与目标应用相关的设备唯一标识码。
[0056] 需要说明的是,如果移动终端的操作系统类型为Android,则移动终端的用于存储应用配置的位置为SharedPreferences文件处,SharedPreferences文件是Android平台上的一个轻量级的存储类。
[0057] 基于S101的不同读取结果,后续会执行不同的流程,以得到目标应用真正的设备唯一标识码。具体的,如果读取到与目标应用相关的N个设备唯一标识码,执行如下步骤S102~S103,如果读取不到与目标应用相关的N个设备唯一标识码,执行如下步骤S102’~S103’,下面分别进行描述:
[0058] 情况一:
[0059] 首先,执行S102:从与目标应用相关的N个设备唯一标识码中识别出目标设备唯一标识码,N为小于或等于M的正整数。
[0060] 具体的,一般情况下,能够从M个目标位置的每个位置都读取到与目标应用相关的设备唯一标识码,从读取到的与目标应用相关的M个设备唯一标识码中识别出目标设备唯一标识码,由于可能被用户删除其中一个目标位置或多个目标位置中存储的与目标应用相关的设备唯一标识码,就只能读取到少于M个的与目标应用相关的设备唯一标识码。
[0061] 比如,在外设存储器上所存储的设备唯一标识码容易被用户手动误删除,此时,从移动终端的外设存储器上就读取不到与目标应用相关的设备唯一标识码。
[0062] 具体的,通过对读取到的与目标应用相关的N个设备唯一标识码进行对比,以从N个设备唯一标识码中对比出重复次数最多的设备唯一标识码作为目标设备唯一标识码,从而提高得到得设备唯一标识码的真实性,确保了修改了其中某些存储的设备唯一标识码时仍然能够获取到目标应用真实的设备唯一标识码。
[0063] 在具体实施过程中,如果包括3个目标位置:移动终端的用于存储系统设置的位置、移动终端的外设存储器、以及移动终端的用于存储应用配置的位置,则S102包括:从移动终端的用于存储系统设置的位置、移动终端的用于存储应用配置的位置、移动终端的外设存储器中的至少一个位置读取到与目标应用相关的设备唯一标识码,则从读取到的全部设备唯一标识码中识别出目标设备唯一标识码。
[0064] 通常情况下,3个目标位置都可以读取设备唯一标识码,并且获取的3个设备唯一标识码都是一致的,当然有可能用户删除了外设存储器上的设备唯一标识码,或者HACK修改了其中某一个设备唯一标识码。
[0065] 因此,在具体实施过程中,为了提高获取设备唯一ID的真实性,如果从移动终端的用于存储系统设置的位置、移动终端的外设存储器、以及移动终端的用于存储应用配置的位置共读取到3个设备唯一标识码,则对3个设备唯一标识码进行对比,以对比出3个设备唯一标识码中重复次数最多的一个作为目标设备唯一标识码。具体的,如果对比出3个设备唯一标识码均一致,即表征同一个设备唯一标识码重复3次,没有任何一个位置的设备唯一标识码被修改,则重复3次的设备唯一标识码中作为目标设备标识码;如果对比出其中的2个设备唯一标识码一致,即表征同一设备唯一标识码重复2次,有一个位置的设备唯一标识码被修改,则将重复两次的设备唯一标识码作为目标设备标识码。
[0066] 如果对比出3个设备唯一标识码均不一致,则告知服务器设备唯一标识码被篡改,并执行步骤S102’~S103’,以根据目标应用的应用相关信息生成新的设备唯一标识码,将新的设备唯一标识码发送给服务器并重新存储至所述3个目标位置。
[0067] 如果从移动终端的用于存储系统设置的位置、移动终端的外设存储器、以及移动终端的用于存储应用配置的位置共读取到2个设备唯一标识码,如果对比出同一设备唯一标识码重复2次,则将重复2次的设备唯一标识码作为目标设备唯一标识码。如果对比出2个设备唯一标识码不一致,则告知服务器设备唯一标识码被篡改,并执行步骤S102’~S103’,以根据目标应用的应用相关信息生成新的设备唯一标识码,将新的设备唯一标识码发送给服务器并重新存储至所述3个目标位置。
[0068] 如果从移动终端的用于存储系统设置的位置、移动终端的外设存储器、以及移动终端的用于存储应用配置的位置共读取到1个设备唯一标识码,则告知服务器设备唯一标识码被篡改,并执行步骤S102’~S103’,以根据目标应用的应用相关信息生成新的设备唯一标识码,将新的设备唯一标识码发送给服务器并重新存储至所述3个目标位置。
[0069] 下面,以移动终端的操作系统为Android系统为例,给出从移动终端的用于存储系统设置的位置、移动终端的外设存储器、以及移动终端的用于存储应用配置的位置共读取设备唯一标识码的实现方式:
[0070] 在具体实施过程中,可以通过如下实施方式,从移动终端的用于存储系统设置的位置获取设备唯一标识码:
[0071] 通过调用设置读取函数Settings.System.getString,以从用于存储系统设置的位置读取设备唯一标识码:
[0072] String str1=Settings.System.getString(getContentResolver(),"my-deviceid");
[0073] 其中,读取到的str1则表示从用于存储系统设置的位置处读取到的设备唯一标识码。
[0074] 在具体实施过程中,可以通过如下实施方式,从用于存储应用配置的位置(SharedPreferences文件中)读取设备唯一标识码。
[0075] SharedPreferences lSP=getSharedPreferences("my-deviceid",0);
[0076] String str2=lSP.getString("deviceid",null);
[0077] 其中,读取到的str2则表示从SharedPreferences文件中读取到的设备唯一标识码。
[0078] 在具体实施过程中,可以通过如下实施方式,从读取外设存储器的文件名为“/sdcard/my-deviceid.txt”的文件中读取的设备唯一标识码:
[0079] File file=new File(“/sdcard/my-deviceid.txt”);
[0080] 然后定义一个文件输入流,从外设存储器中读取设备唯一ID读取到deviceId变量中:
[0081] FileInputStream stream=new FileInputStream(file);
[0082] stream.read(deviceId);
[0083] stream.close();
[0084] 在S102之后,接着执行S103:将识别出的目标设备唯一标识码发送给服务器。
[0085] 情况二:
[0086] 执行S102’:根据目标应用的应用相关信息生成新的设备唯一标识码。
[0087] 具体的,目标应用的应用相关信息包括:目标应用的应用名称、目标应用适配的操作系统类型、目标应用的时间参数。
[0088] 在UUID(通用唯一识别码,Universally Unique Identifier)的基础上,组合目标应用的应用名称、目标应用适配的操作系统类型、目标应用的时间参数,通过的MD5算法计算出为新的设备唯一标识码。
[0089] 需要说明的是,目标应用可以为安装于移动终端的任意应用,具体可以为社交通讯应用、工具应用、游戏应用、影音娱乐应用、比如网络直播APP。
[0090] 目标应用适配的操作系统类型可能为Android或者IOS。
[0091] 目标应用的时间参数,可以为目标应用本次启动时的系统时间,或者当前系统时间。
[0092] 在具体实施过程,通过读取系统文件"/proc/sys/kernel/random/uuid",以生成一个UUID(通用唯一识别码,Universally Unique Identifier)。
[0093] 具体的,首先通过系统函数fopen来以只读方式打开系统文件:
[0094] FILE*f=fopen("/proc/sys/kernel/random/uuid","r");
[0095] 其中,参数"r"标示以只读方式打开。
[0096] 接着,通过定义的一个存储变量存储从读取系统文件读取的UUID:
[0097] Char uuid[64]={0};
[0098] 再接着,调用系统函数fgets来读取系统文件中的内容,以读取到UUID并存储在uuid变量中:
[0099] fgets(&uuid,64,f);
[0100] 接着,通过MD5算法,由目标应用的应用名称、目标应用适配的操作系统类型和目标应用的时间参数与从读取系统文件中读取的UUID共同生成新的唯一标识码:
[0101] deviceId=MD5.create(uuid+time+“android”+“xx”);
[0102] 其中,MD5.create则是MD5算法的接口,uuid则是上面生成的UUID。
[0103] time则是时间参数,“android”标示移动终端的操作系统是Android系统,xx则是目标应用的应用名称,最终生成的deviceId则是一个设备唯一标识码。
[0104] 通过本实施方式,实现了通过读取系统文件来生成包含目标应用的应用名称、目标应用适配的操作系统类型和目标应用的时间参数的设备唯一标识码。
[0105] 在S102’之后,接着执行S103’:将新的设备唯一标识码分别存储至M个目标位置,将新的设备唯一标识码发送给服务器。
[0106] S103’可以包括如下步骤S1031’~S1034’,S1031’~S1034’可以分先后顺序依次执行,也可以同时执行。
[0107] S1031’:将新的设备唯一标识码写入移动终端的用于存储系统设置的位置;
[0108] S1032’:将新的设备唯一标识码写入移动终端的外设存储器中;
[0109] S1033’:将新的设备唯一标识码写入移动终端的用于存储应用配置的位置;
[0110] S1034’:将新的设备唯一标识码送给服务器。
[0111] 具体的,S1031’中,当根据S102’生成新的设备唯一标识码之后,如果移动终端的操作 系统 类型为 An dr oid ,则通过 An dr oid 系统 提供 的存 储接口Settings.System.putString将新的设备唯一标识码写入系统设置中:
[0112] Settings.System.putString(getContentResolver(),"my-deviceid",deviceId);
[0113] 其中,Settings.System.putString是Android系统提供的存储接口,"my-deviceid"是存储的KEY值,deviceId则是存储的设备唯一标识码。
[0114] 具体的,在S1033’,将新的设备唯一标识码写入用于存储应用配置的位置,具体通过如下方式实现:
[0115] 首先,通过android系统的系统函数getSharedPreferences得到一个SharedPreferences对象:
[0116] SharedPreferences lSPreferences=getSharedPreferences("my-deviceid",0);
[0117] 其中,参数"my-deviceid"是获取的SharedPreferences对象的名称。
[0118] 接着,通过SharedPreferences对象来获取可编辑的对象localEditor:
[0119] SharedPreferences.Editor localEditor=lSPreferences.edit();
[0120] 再接着,通过可编辑的对象,以将新的设备唯一标识码写入存储应用配置的位置。
[0121] localEditor.putString("deviceid",deviceId);
[0122] 具体的,在S1032’中,将新的设备唯一标识码写入移动终端的外设存储器,具体通过如下方式实现:
[0123] 通过系统函数getExternalStorageState来获取外设存储器的状态,如果返回值sdStatus等于Environment.MEDIA_MOUNTED,则说明外设存储器中不可以写入,否则可以写入:
[0124] String sdStatus=Environment.getExternalStorageState();
[0125] 如果可以写入,则在外设存储器下创建用于存储新的设备唯一标识码一个文件,比如,文件名称为/sdcard/my-deviceid.txt
[0126] File file=new File(“/sdcard/my-deviceid.txt”);
[0127] 将新的设备唯一标识码,通过如下文件写入流将生成的设备唯一标识码写入到在外设存储器下创建的一个文件/sdcard/my-deviceid.txt中。
[0128] FileOutputStream stream=new FileOutputStream(file);
[0129] stream.write(deviceId);
[0130] stream.close();
[0131] 通过如上步骤,将目标设备唯一标识码或者新的设备唯一标识码发送给服务器,从而使得服务器能够基于各个移动终端上报的唯一标识码,统计目标应用的真实的下载安装量,使得服务器识别出移动终端所关联的注册账号,便于服务器统计该注册用户的信息,同时当该注册用户删除目标应用时,服务器也可以统计到该注册用户已删除目标应用。
[0132] 需要说明的是,在S102中读取到的与目标应用相关的N个设备唯一标识码,可能是在检测到目标应用被安装于移动终端时,根据目标应用的应用名称、目标应用适配的操作系统类型和目标应用安装于移动终端时的系统时间,生成原始的设备唯一标识码,将原始的设备唯一标识码同时存储在M个目标位置。
[0133] 需要说明的是,在S102中读取到的与目标应用相关的N个设备唯一标识码,可能是原始的设备唯一标识码,也可能是在上一次读取不到与目标应用相关的设备唯一标识码的情况下,重新生成的新的设备唯一标识码。无论是哪种情况,都根据S102’~S103’描述的方式生成设备唯一标识码,并存储至M个目标位置,比如存储至用于存储系统设置的位置、用于存储应用配置的位置和外设存储器。
[0134] 基于同一发明构思,本发明实施例提供了一种设备唯一标识码获取装置,参考图2所示,包括:
[0135] 标识码读取单元201,用于在检测到移动终端上的目标应用启动时,分别从所述移动终端的M个目标位置读取与所述目标应用相关的设备唯一标识码,M为大于1的整数;
[0136] 标识码识别单元202,用于如果读取到与所述目标应用相关的N个设备唯一标识码,从所述N个设备唯一标识码中识别出目标设备唯一标识码;
[0137] 第一标识码发送单元203,用于将所述目标设备唯一标识码发送给服务器,N为小于或等于M的正整数;
[0138] 标识码生成单元204,用于如果读取不到与所述目标应用相关的设备唯一标识码,根据所述目标应用的应用相关信息生成新的设备唯一标识码;
[0139] 第二标识码发送单元205,用于将所述新的设备唯一标识码分别存储至所述M个目标位置;
[0140] 标识码存储单元206,用于将所述新的设备唯一标识码发送给所述服务器。
[0141] 可选的,所述标识码生成单元,具体用于:
[0142] 根据所述目标应用的应用名称、所述目标应用适配的操作系统类型和所述目标应用的时间参数生成所述新的设备唯一标识码。
[0143] 可选的,如果所述M个目标位置包括:所述移动终端的用于存储系统设置的位置、所述移动终端的外设存储器,以及所述移动终端的用于存储应用配置的位置,所述标识码存储单元206,具体用于:
[0144] 将所述新的设备唯一标识码写入所述移动终端的用于存储系统设置的位置;
[0145] 将所述新的设备唯一标识码写入所述移动终端的外设存储器中;
[0146] 将所述新的设备唯一标识码写入所述移动终端的用于存储应用配置的位置。
[0147] 可选的,所述标识码识别单元202,具体用于:
[0148] 通过对所述N个设备唯一标识码进行对比,以从所述N个设备唯一标识码中对比出重复次数最多的设备唯一标识码作为所述目标设备唯一标识码。
[0149] 由于本实施例所介绍的装置为实施本发明实施例中设备唯一标识码获取方法所采用的装置,故而基于本发明实施例中所介绍的设备唯一标识码获取方法,本领域所属技术人员能够了解本实施例的装置的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本发明实施例中的方法不再详细介绍。只要本领域所属技术人员实施本发明实施例中设备唯一标识码获取方法所采用的装置,都属于本发明所欲保护的范围。
[0150] 基于同一发明构思,本发明实施例提供了一种移动终端,包括:
[0151] 存储器,配置为存储一条或多条指令;
[0152] 处理器,配置为执行所述存储器中存储的一条或多条指令,所述一条或多条指令被配置为一个或多个处理器执行,所述一条或多条指令至少用于:
[0153] 在检测到移动终端上的目标应用启动时,从所述移动终端的M个目标位置读取与所述目标应用相关的设备唯一标识码,M为大于1的整数;
[0154] 如果读取到与所述目标应用相关的N个设备唯一标识码,从所述N个设备唯一标识码中识别出目标设备唯一标识码,将所述目标设备唯一标识码发送给服务器,N为小于或等于M的正整数;
[0155] 如果读取不到与所述目标应用相关的设备唯一标识码,根据所述目标应用的应用相关信息生成新的设备唯一标识码,将所述新的设备唯一标识码分别存储至所述M个目标位置,以及将所述新的设备唯一标识码发送给所述服务器。
[0156] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和移动终端的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0157] 上述本发明实施例中的技术方案,至少具有如下的技术效果或优点:
[0158] 由于发送给服务器的设备唯一标识码与目标应用相关,根据目标应用的应用相关信息生成新的设备唯一标识码,而不用从移动终端读取硬件信息来进行生成针对目标应用的设备唯一标识码,因此,减少了生成设备唯一标识码的时间,而获取目标应用的应用相关信息,是相对于读取硬件信息更省时的操作,并且不会因为终端型号、厂商等不同而获取不到,因此根据目标应用的应用相关信息生成新的设备唯一标识码的技术方案兼容性更好、更高效。
[0159] 尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0160] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。