CN114968413A - 一种Android应用启动事件的采集方法 - Google Patents

一种Android应用启动事件的采集方法 Download PDF

Info

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
Application number
CN202210707995.XA
Other languages
English (en)
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.)
4399 NETWORK CO LTD
Original Assignee
4399 NETWORK 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 4399 NETWORK CO LTD filed Critical 4399 NETWORK CO LTD
Priority to CN202210707995.XA priority Critical patent/CN114968413A/zh
Publication of CN114968413A publication Critical patent/CN114968413A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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应用启动事件进行采集,可用于日活分析,留存分析,各功能渗透率分析,渠道广告追踪,个性化推荐等。
现有的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时,确定应用程序从后台运行状态转变为前台运行状态。
CN202210707995.XA 2022-06-21 2022-06-21 一种Android应用启动事件的采集方法 Pending CN114968413A (zh)

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)

* Cited by examiner, † Cited by third party
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 腾讯科技(深圳)有限公司 数据上报方法、装置、存储介质及终端

Patent Citations (6)

* Cited by examiner, † Cited by third party
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