CN114968413A - 一种Android应用启动事件的采集方法 - Google Patents
一种Android应用启动事件的采集方法 Download PDFInfo
- Publication number
- CN114968413A CN114968413A CN202210707995.XA CN202210707995A CN114968413A CN 114968413 A CN114968413 A CN 114968413A CN 202210707995 A CN202210707995 A CN 202210707995A CN 114968413 A CN114968413 A CN 114968413A
- Authority
- CN
- China
- Prior art keywords
- appstart
- application
- running state
- state
- device identifier
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 230000008569 process Effects 0.000 claims description 15
- 230000000694 effects Effects 0.000 claims description 13
- 230000001960 triggered effect Effects 0.000 claims description 9
- 238000001514 detection method Methods 0.000 claims description 6
- 230000003993 interaction Effects 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000003111 delayed effect Effects 0.000 abstract description 4
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000035699 permeability Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种Android应用启动事件的采集方法,包括以下步骤:对应用程序进行实时状态检测,确定其为前台运行状态或后台运行状态;当检测到应用程序从前台运行状态转变为后台运行状态时,或者,当检测到应用程序从后台运行状态转变为前台运行状态时,执行相应操作,完成Android应用启动事件的采集。本发明提供的一种Android应用启动事件的采集方法,能够有效解决采集的启动事件中丢失oaid或因延迟设置vid而丢失vid的情况,保证采集的启动事件的信息完整性,从而提高统计数据的完整性和准确性。
Description
技术领域
本发明属于数据采集技术领域,具体涉及一种Android应用启动事件的采集方法。
背景技术
对Android应用启动事件进行采集,可用于日活分析,留存分析,各功能渗透率分析,渠道广告追踪,个性化推荐等。
现有的Android应用启动事件的采集,主要存在以下问题:启动事件采集不全面,易发生丢失oaid或因延迟设置vid而丢失vid的情况,导致统计数据不准确。
发明内容
针对现有技术存在的缺陷,本发明提供一种Android应用启动事件的采集方法,可有效解决上述问题。
本发明采用的技术方案如下:
本发明提供一种Android应用启动事件的采集方法,包括以下步骤:
步骤1,可触发AppStart开关初始状态为开启状态;
步骤2,对应用程序进行实时状态检测,确定其为前台运行状态或后台运行状态;其中,所述应用程序为Android应用程序;
当检测到应用程序从前台运行状态转变为后台运行状态时,执行步骤3;
当检测到应用程序从后台运行状态转变为前台运行状态时,执行步骤4;
步骤3,启动AppEnd倒计时;
在进行设定时间长度的AppEnd倒计时过程中,如果检测到应用程序从后台运行状态转变为前台运行状态,则返回步骤2;如果在AppEnd倒计时的整个过程中,应用程序始终保持在后台运行状态,则当AppEnd倒计时结束时,触发提交应用结束事件AppEnd,并设置可触发AppStart开关为开启状态,然后返回步骤2;
步骤4,关闭AppEnd倒计时;判断可触发AppStart开关的状态,如果为关闭状态,则返回步骤2;如果为开启状态,则一方面,设置可触发AppStart开关为关闭状态,返回步骤2,另一方面,触发提交应用启动事件AppStart,然后执行步骤5;
步骤5,在触发提交应用启动事件AppStart时,首先检查上次提交应用启动事件AppStart后,是否成功提交应用结束事件AppEnd,如果已提交,则执行步骤6;如果没有,则补充提交上次的应用结束事件AppEnd,然后执行步骤6;
步骤6,执行提交应用启动事件AppStart的过程,具体方法为:
步骤6.1,在设定的时间内观察oaid_sdk的初始化状态,oaid_sdk初始化过程即为获取匿名设备标识符oaid的过程,当oaid_sdk初始化成功时,获取到匿名设备标识符oaid;
步骤6.2,将获取到的匿名设备标识符oaid写入应用启动事件AppStart,提交应用启动事件AppStart;
步骤6.3,应用程序判断设备是否开启vid检验,如果已开启vid检验,则设定间隔时间t的定时器定时检测设备标识符vid,直到成功检测到设备标识符vid,执行步骤6.4;
如果未开启vid检验,判断能否成功检测到设备标识符vid,如果能,执行步骤6.4;如果不能,则设定间隔时间t的定时器定时持续检测设备标识符vid,当成功检测到设备标识符vid时,执行步骤6.4,当检测次数达到设定的最大次数时,如果仍然没有检测到设备标识符vid,则一方面,发送应用启动事件AppStart;另一方面,保留应用启动事件AppStart的数据,当成功检测到设备标识符vid后,向保留的应用启动事件AppStart的数据中写入检测到的设备标识符vid,并写入重发标识,再发送保留的应用启动事件AppStart;
步骤6.4,将检测到的设备标识符vid写入应用启动事件AppStart,然后发送应用启动事件AppStart。
优选的,步骤2具体为:
监听应用程序可见的Activity数量;其中,Activity指应用程序与用户交互的界面;
当Activity数量从1变为0时,确定应用程序从前台运行状态转变为后台运行状态;
当Activity数量从0变为1时,确定应用程序从后台运行状态转变为前台运行状态。
本发明提供的一种Android应用启动事件的采集方法具有以下优点:
本发明提供的一种Android应用启动事件的采集方法,能够有效解决采集的启动事件中丢失oaid或因延迟设置vid而丢失vid的情况,保证采集的启动事件的信息完整性,从而提高统计数据的完整性和准确性。
附图说明
图1为本发明提供的一种Android应用启动事件的采集方法的流程示意图。
具体实施方式
为了使本发明所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明提供一种Android应用启动事件的采集方法,包括以下步骤:
步骤1,可触发AppStart开关初始状态为开启状态;
步骤2,对应用程序进行实时状态检测,确定其为前台运行状态或后台运行状态;其中,所述应用程序为Android应用程序;
当检测到应用程序从前台运行状态转变为后台运行状态时,执行步骤3;
当检测到应用程序从后台运行状态转变为前台运行状态时,执行步骤4;
具体的,监听应用程序可见的Activity数量;其中,Activity指应用程序与用户交互的界面;
当Activity数量从1变为0时,确定应用程序从前台运行状态转变为后台运行状态;
当Activity数量从0变为1时,确定应用程序从后台运行状态转变为前台运行状态。
步骤3,启动AppEnd倒计时;
在进行设定时间长度的AppEnd倒计时过程中,例如,AppEnd倒计时的时间长度为30秒,如果检测到应用程序从后台运行状态转变为前台运行状态,则返回步骤2;如果在AppEnd倒计时的整个过程中,应用程序始终保持在后台运行状态,则当AppEnd倒计时结束时,触发提交应用结束事件AppEnd,并设置可触发AppStart开关为开启状态,然后返回步骤2;
步骤4,关闭AppEnd倒计时;判断可触发AppStart开关的状态,如果为关闭状态,则返回步骤2;如果为开启状态,则一方面,设置可触发AppStart开关为关闭状态,返回步骤2,另一方面,触发提交应用启动事件AppStart,然后执行步骤5;
步骤5,在触发提交应用启动事件AppStart时,首先检查上次提交应用启动事件AppStart后,是否成功提交应用结束事件AppEnd,如果已提交,则执行步骤6;如果没有,则补充提交上次的应用结束事件AppEnd,然后执行步骤6;
步骤6,执行提交应用启动事件AppStart的过程,具体方法为:
步骤6.1,在设定的时间内观察oaid_sdk的初始化状态,例如,设定的时间为5秒,oaid_sdk初始化过程即为获取匿名设备标识符oaid的过程,当oaid_sdk初始化成功时,获取到匿名设备标识符oaid;
步骤6.2,将获取到的匿名设备标识符oaid写入应用启动事件AppStart,提交应用启动事件AppStart;
步骤6.3,应用程序判断设备是否开启vid检验,如果已开启vid检验,则设定间隔时间t的定时器定时检测设备标识符vid,直到成功检测到设备标识符vid,执行步骤6.4;
如果未开启vid检验,判断能否成功检测到设备标识符vid,如果能,执行步骤6.4;如果不能,则设定间隔时间t的定时器定时持续检测设备标识符vid,当成功检测到设备标识符vid时,执行步骤6.4,当检测次数达到设定的最大次数时,如果仍然没有检测到设备标识符vid,则一方面,发送应用启动事件AppStart;另一方面,保留应用启动事件AppStart的数据,当成功检测到设备标识符vid后,向保留的应用启动事件AppStart的数据中写入检测到的设备标识符vid,并写入重发标识,再发送保留的应用启动事件AppStart;
步骤6.4,将检测到的设备标识符vid写入应用启动事件AppStart,然后发送应用启动事件AppStart。
本发明提供的一种Android应用启动事件的采集方法具有以下优点:
本发明提供的一种Android应用启动事件的采集方法,能够有效解决采集的启动事件中丢失oaid或因延迟设置vid而丢失vid的情况,保证采集的启动事件的信息完整性,从而提高统计数据的完整性和准确性。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
Claims (2)
1.一种Android应用启动事件的采集方法,其特征在于,包括以下步骤:
步骤1,可触发AppStart开关初始状态为开启状态;
步骤2,对应用程序进行实时状态检测,确定其为前台运行状态或后台运行状态;其中,所述应用程序为Android应用程序;
当检测到应用程序从前台运行状态转变为后台运行状态时,执行步骤3;
当检测到应用程序从后台运行状态转变为前台运行状态时,执行步骤4;
步骤3,启动AppEnd倒计时;
在进行设定时间长度的AppEnd倒计时过程中,如果检测到应用程序从后台运行状态转变为前台运行状态,则返回步骤2;如果在AppEnd倒计时的整个过程中,应用程序始终保持在后台运行状态,则当AppEnd倒计时结束时,触发提交应用结束事件AppEnd,并设置可触发AppStart开关为开启状态,然后返回步骤2;
步骤4,关闭AppEnd倒计时;判断可触发AppStart开关的状态,如果为关闭状态,则返回步骤2;如果为开启状态,则一方面,设置可触发AppStart开关为关闭状态,返回步骤2,另一方面,触发提交应用启动事件AppStart,然后执行步骤5;
步骤5,在触发提交应用启动事件AppStart时,首先检查上次提交应用启动事件AppStart后,是否成功提交应用结束事件AppEnd,如果已提交,则执行步骤6;如果没有,则补充提交上次的应用结束事件AppEnd,然后执行步骤6;
步骤6,执行提交应用启动事件AppStart的过程,具体方法为:
步骤6.1,在设定的时间内观察oaid_sdk的初始化状态,oaid_sdk初始化过程即为获取匿名设备标识符oaid的过程,当oaid_sdk初始化成功时,获取到匿名设备标识符oaid;
步骤6.2,将获取到的匿名设备标识符oaid写入应用启动事件AppStart,提交应用启动事件AppStart;
步骤6.3,应用程序判断设备是否开启vid检验,如果已开启vid检验,则设定间隔时间t的定时器定时检测设备标识符vid,直到成功检测到设备标识符vid,执行步骤6.4;
如果未开启vid检验,判断能否成功检测到设备标识符vid,如果能,执行步骤6.4;如果不能,则设定间隔时间t的定时器定时持续检测设备标识符vid,当成功检测到设备标识符vid时,执行步骤6.4,当检测次数达到设定的最大次数时,如果仍然没有检测到设备标识符vid,则一方面,发送应用启动事件AppStart;另一方面,保留应用启动事件AppStart的数据,当成功检测到设备标识符vid后,向保留的应用启动事件AppStart的数据中写入检测到的设备标识符vid,并写入重发标识,再发送保留的应用启动事件AppStart;
步骤6.4,将检测到的设备标识符vid写入应用启动事件AppStart,然后发送应用启动事件AppStart。
2.根据权利要求1所述的一种Android应用启动事件的采集方法,其特征在于,步骤2具体为:
监听应用程序可见的Activity数量;其中,Activity指应用程序与用户交互的界面;
当Activity数量从1变为0时,确定应用程序从前台运行状态转变为后台运行状态;
当Activity数量从0变为1时,确定应用程序从后台运行状态转变为前台运行状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210707995.XA CN114968413A (zh) | 2022-06-21 | 2022-06-21 | 一种Android应用启动事件的采集方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210707995.XA CN114968413A (zh) | 2022-06-21 | 2022-06-21 | 一种Android应用启动事件的采集方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114968413A true CN114968413A (zh) | 2022-08-30 |
Family
ID=82964879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210707995.XA Pending CN114968413A (zh) | 2022-06-21 | 2022-06-21 | 一种Android应用启动事件的采集方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114968413A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105022955A (zh) * | 2014-04-22 | 2015-11-04 | 腾讯科技(深圳)有限公司 | 一种应用程序的锁定方法及移动终端 |
CN106775759A (zh) * | 2017-01-03 | 2017-05-31 | 惠州Tcl移动通信有限公司 | 一种基于移动终端的应用关闭的检测方法及系统 |
CN108023788A (zh) * | 2017-11-29 | 2018-05-11 | 中国平安人寿保险股份有限公司 | 监控数据上传方法、装置、设备、系统及存储介质 |
CN110795399A (zh) * | 2019-09-29 | 2020-02-14 | 北京淇瑀信息科技有限公司 | 一种为应用产生机器id的方法、装置和系统 |
CN112000541A (zh) * | 2020-07-23 | 2020-11-27 | 招联消费金融有限公司 | 埋点数据上报方法、装置、计算机设备和存储介质 |
CN112764837A (zh) * | 2021-01-29 | 2021-05-07 | 腾讯科技(深圳)有限公司 | 数据上报方法、装置、存储介质及终端 |
-
2022
- 2022-06-21 CN CN202210707995.XA patent/CN114968413A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105022955A (zh) * | 2014-04-22 | 2015-11-04 | 腾讯科技(深圳)有限公司 | 一种应用程序的锁定方法及移动终端 |
CN106775759A (zh) * | 2017-01-03 | 2017-05-31 | 惠州Tcl移动通信有限公司 | 一种基于移动终端的应用关闭的检测方法及系统 |
CN108023788A (zh) * | 2017-11-29 | 2018-05-11 | 中国平安人寿保险股份有限公司 | 监控数据上传方法、装置、设备、系统及存储介质 |
CN110795399A (zh) * | 2019-09-29 | 2020-02-14 | 北京淇瑀信息科技有限公司 | 一种为应用产生机器id的方法、装置和系统 |
CN112000541A (zh) * | 2020-07-23 | 2020-11-27 | 招联消费金融有限公司 | 埋点数据上报方法、装置、计算机设备和存储介质 |
CN112764837A (zh) * | 2021-01-29 | 2021-05-07 | 腾讯科技(深圳)有限公司 | 数据上报方法、装置、存储介质及终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105740326B (zh) | 浏览器的线程状态监测方法及装置 | |
CN105205464A (zh) | 指纹识别方法、指纹识别装置和终端 | |
CN105718874A (zh) | 活体检测及认证的方法和装置 | |
US8495652B2 (en) | IT system behavior measurement and analysis system and method thereof | |
CN109189687A (zh) | 一种获取Android日志的方法和装置 | |
CN106662970A (zh) | 一种设置指纹识别器中断阈值的方法、装置和终端设备 | |
CN109727027A (zh) | 账户识别方法、装置、设备及存储介质 | |
CN115494335A (zh) | 可穿戴设备功能测试方法、装置、计算机设备和存储介质 | |
CN114968413A (zh) | 一种Android应用启动事件的采集方法 | |
CN111599352A (zh) | 语音唤醒方法、装置、计算机设备和存储介质 | |
CN106782552A (zh) | 尾音识别方法及语音遥控器 | |
CN101483557B (zh) | 一种用于深度报文检测设备的日志统计、保存方法和系统 | |
CN105139122B (zh) | 程序运行时长的统计方法及系统 | |
WO2017197893A1 (zh) | 图像擦除方法和系统 | |
CN109426826B (zh) | 用户行为分析方法和装置 | |
CN105426304B (zh) | 一种重启测试的控制方法及装置 | |
CN109298651A (zh) | 一种智能晾衣架的控制方法及其装置 | |
CN104598371A (zh) | 一种用户行为数据采集方法 | |
CN114817057A (zh) | 测试线程卡顿的方法及装置、电子设备、存储介质 | |
CN109714771B (zh) | 一种基于信令数据的基站分析工作中的基站预处理方法 | |
CN103914366B (zh) | 一种自动监测应用程序进行内存信息的方法及装置 | |
CN112835636A (zh) | 一种提高应用软件打开速度的方法、装置和控制系统 | |
CN111123744B (zh) | 菜谱的录制方法和装置、存储介质、电子设备 | |
CN106843451B (zh) | 一种基于固体传导麦克风的屏幕唤醒方法及用户终端 | |
CN109709827B (zh) | 一种电器控制方法、装置、存储介质及电器 |
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 |