WO2017107762A1 - Application tracing method and device - Google Patents

Application tracing method and device Download PDF

Info

Publication number
WO2017107762A1
WO2017107762A1 PCT/CN2016/108559 CN2016108559W WO2017107762A1 WO 2017107762 A1 WO2017107762 A1 WO 2017107762A1 CN 2016108559 W CN2016108559 W CN 2016108559W WO 2017107762 A1 WO2017107762 A1 WO 2017107762A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
request information
call request
service module
component management
Prior art date
Application number
PCT/CN2016/108559
Other languages
French (fr)
Chinese (zh)
Inventor
胡强
Original Assignee
广州市动景计算机科技有限公司
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 广州市动景计算机科技有限公司 filed Critical 广州市动景计算机科技有限公司
Publication of WO2017107762A1 publication Critical patent/WO2017107762A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment

Definitions

  • the present invention relates to the field of browsers, and more particularly to an application tracking method and apparatus.
  • browsers have many application scenarios that need to invoke the operation of the application, for example, to open the application, and the current way of tracking the operation track of the application is to rely on the cooperative application for statistical operations.
  • the browser has a floating window.
  • the specified application is called, and the floating window itself does not belong to the browser. Therefore, when the floating window is displayed on the browser interface, Any operation of the floating window browser is untrackable and must be counted by the application.
  • an application tracking method provided by an embodiment of the present invention includes:
  • the component management service receives the call request information of the application
  • the component management service sends the call request information to a bridge service module
  • the bridge service module records call request information of the application, and sends the call request information to the application through the component management service to invoke the application call request information.
  • an embodiment of the present invention provides a tracking device for an application, where the device includes: a component management service and a bridge service module;
  • the component management service includes:
  • An obtaining unit configured to receive call request information of an application
  • a sending unit configured to send the call request information to a bridge service module
  • the bridging service module includes:
  • a recording unit configured to record call request information of the application, and send the call request information to the application by using the sending unit to invoke the application.
  • the embodiment further provides a computer readable storage medium for storing instructions for executing any one of the application tracking methods provided by the first aspect of the present invention.
  • the call request information is sent to the bridge service module, where the call request information may include an identifier of the target application and An operation instruction, where the identifier may be a package name, a class name, or other information that can be identified by the application, and the bridge service module obtains the identifier of the target application in the call request information, and can record the call.
  • the module that invokes the request information of the application (for example, a browser) picks up the name of the application and related operations, and the like, and records the operation track of the application.
  • the bridge service module is not related to the target application, and does not belong to the target application, as compared with the related operation of the target application by the statistics of the target application.
  • a component of the program therefore, the operation of recording the calling target application by the bridge service module is not limited to the target application, thereby effectively improving the controllability and scalability of the method and apparatus.
  • FIG. 1 is a schematic diagram of an application environment tracking method and an application environment of an apparatus according to an embodiment of the present invention
  • FIG. 2 is a flowchart of a method for tracking an application program according to an embodiment of the present invention
  • FIG. 3 is a flowchart of a method for tracking another application according to an embodiment of the present invention.
  • FIG. 4 is a flowchart of a method for tracking another application according to an embodiment of the present invention.
  • FIG. 5 is a block diagram of a tracking device of an application program according to an embodiment of the present invention.
  • FIG. 6 is a block diagram of a tracking device of another application according to an embodiment of the present invention.
  • FIG. 7 is a schematic block diagram of a computer readable storage medium provided by an embodiment of the present invention.
  • the method and apparatus for tracking an application provided by the embodiments of the present invention can be applied to an application environment as shown in FIG. 1.
  • the browser 101, the bridge service module 102, and the application program 103 are included.
  • the browser 101, the bridge service module 102, and the application program 103 are application modules, which are installed on the user terminal and are installed on the user terminal. Unified management of the operating system.
  • the operating system may be an Android operating system, or an IOS operating system or a Windows operating system.
  • the application environment of the present application is not limited to the call request information initiated by the browser 101 to invoke the application 103, and the call request information may be initiated by other application modules.
  • the user terminal is preferably a mobile terminal device, and may include, for example, a smart phone, a tablet computer, an e-book reader, a laptop portable computer, a car-mounted computer, a wearable mobile terminal, and the like.
  • the bridge service module can be an application running in the background of the operating system, or an application running in the current window of the operating system, and can be bound with the browser.
  • the automatic The bridging service module is installed on the user terminal.
  • the bridging service module can also be a separate application, which needs to be manually downloaded and installed by the user.
  • FIG. 2 is a flowchart of a method for tracking a calling application according to an embodiment of the present invention. Referring to FIG. 2, the method includes:
  • Step S21 The component management service receives the call request information of the application
  • the component management service is an operation in the operating system for managing calls and data interactions between various applications or components, etc., and is responsible for calling up an application or transmitting data to a target application according to call request information sent by the application or component.
  • the third-party application of the browser is used as an example, and the user sends a jump link such as a preset selection area or a floating window in the browser, and is sent by the browser kernel.
  • the call request information for requesting the calling application to the component management service where the call request information includes related information of the target application, wherein the related information of the target application may include the name of the target application or other
  • the information to the identity function may of course also include other data that the browser wants to send to the target application by calling the request information.
  • the target application may be an application to be invoked explicitly specified by the browser in the call request information, or the browser may set an action to be completed in the call request information, and the component management service according to the The action to be completed is for the browser to match an application that can perform the action to be completed.
  • the above target application refers to the browser-tune application.
  • Step S22 the component management service sends the call request information to the bridge service module
  • the call request information is sent to the bridge service module.
  • the call request information of the browser calling target application does not need to be modified, that is, the browser does not need to make any modification.
  • the browser wants to call the identity of the target application.
  • the identifier is A
  • the browser-initiated call request information includes the identity identifier A of the target application.
  • the call request information initiated by the browser is still the identity identifier A of the target application, and the component management service receives After the call request information, the call request information is sent to the bridge service module.
  • Step S23 the bridge service module records the call request information of the application, and sends the call request information to the application through the component management service to invoke the application;
  • the bridge service module is configured to obtain a name of the target application or other identifier in the call request information, and record an operation trajectory of the browser to revive the target application, where the operation trajectory may include the browser arranging The time of the target application and the name of the target application.
  • the specific implementation manner of the bridge service module may include: after recording a trajectory of calling the target application, sending the call request information to the component management service, and then the component management service sends the call request Information is sent to the target application.
  • the specific implementation manner of the bridging service module may further include: the bridging service module is connected After receiving the call request information, sending the call request information to the component management service while starting to perform an operation of recording the target application, and then sending, by the component management service, the call request information To the target application, the operation track of the application and the operation of transmitting the call request information are executed in parallel.
  • the bridge service module serves as a relay station between the browser and the target application, and the component management service in the operating system of the user terminal acquires the call request information sent by the browser for requesting to invoke the application.
  • the bridge service module obtains the identifier of the target application in the related information, and can record the name and related operations of the browser to revive the target application. Etc., to record the operation track of the browser to pick up the application.
  • the bridge service module is not related to the target application, and does not belong to the target application, as compared with the related operation of the target application by the statistics of the target application.
  • a component of the program therefore, the operation of recording the calling target application by the bridge service module is not limited to the target application, thereby effectively improving the controllability and scalability of the method and apparatus.
  • FIG. 3 is a flowchart of another method for tracking the calling application provided by the embodiment of the present invention
  • FIG. 3 is an example of the operating system of the user terminal.
  • a process flow between the bridge service module, wherein the target application belongs to a third-party application, that is, an application in an operating system that does not belong to the same developer as the browser and does not belong to the terminal in which the browser is installed Methods include:
  • Step S31 determining whether the target terminal exists in the user terminal
  • Each application installed on the user terminal is uniformly managed by the operating system, so the identity of each application is stored in the operating system, such as the package name in the Android or IOS system. Therefore, before the component management service receives the call request information of the application, the browser searches for the package name of the target application by finding the identifier of all the applications, wherein the lookup action may be that the browser initiates a lookup request, The system to perform, if not, proceed to step S37;
  • Step S37 feedback the judgment result
  • the result of the feedback may be a notification that the target application is not installed, and the user may install the target third application by itself, and the feedback result may also be a link jump.
  • the floating window of the function when the user clicks the floating window, it will automatically jump to the interface of the third target of the download target, and click the download option of the interface to automatically download and install the target application.
  • the operating system determines that the target application exists in the user terminal, and executes S32;
  • S32 The component management service determines whether the bridge service module is running
  • the bridge service module may include a state quantity for reflecting the working state of the bridge service module, the bridge service module operation state may include running, stopping, or suspending, etc., and the component management service determines whether the bridge service module is running.
  • the component management service may read information about the state quantity in the bridge service module, and determine whether the bridge service module is running according to the acquired information of the state quantity, for example, when the state quantity is 1, indicating the running state, the state When the amount is 0, it indicates the stop state.
  • the component management service may send a verification information to the bridge service module, and the bridge service module sends a feedback value to the component management service after receiving the verification information, where the component management service When the feedback value is received, it is determined that the bridge service module is running, otherwise, it is determined that it is not running.
  • step S32 if the component management service determines that the bridge service module is not running, step S34 is performed;
  • Step S34 The component management service starts the bridge service module
  • the component management service detects whether the bridge service module is in an running state, can improve the execution efficiency of the tracking method, and can prevent the transmitted call request information from being received by the bridge service module.
  • step S33 is performed;
  • Step S33 The component management service acquires call request information sent by the browser for requesting to invoke the application;
  • the execution order of the step S33 and the step S32 is not limited, that is, an implementation manner may be: when the result of step S31 is YES, step S32 is performed, and when the execution result of step S32 is no, S34 is performed. Then, S33 is executed again, or when the execution result of step S32 is YES, step S33 is performed.
  • Still another embodiment may be: when the result of step S31 is YES, executing S32, when When the execution result of step S32 is NO, S34 is executed, and then S35 is executed, or, when the execution result of step S32 is YES, step S35 is performed.
  • Step S35 the component management service sends the call request information to the bridge service module
  • Step S36 the bridge service module records the target application, and sends the call request information to the target application through the component management service to invoke the target application;
  • Step S38 The component management service starts the destruction processing process of the bridge service module
  • the purpose of the destruction processing flow is to save the memory and resources of the system, that is, if the bridge service module is in an idle state for a long time, that is, the next call request information is not received for a long time, the bridge service module is stopped, and the specific Implementations can include:
  • the destruction processing flow may be performed after the component management service sends the call request information to the bridge service module, or after the bridge service module acquires the call request information, after performing the operation of recording the target application,
  • the call request information is sent to the component management service, and the component management service executes the destruction process flow after receiving the call request information sent by the bridge service module, or may be, the component management service receives the bridge service module.
  • the call request information is sent and the call request information is sent to the target application before the destruction process is executed.
  • the destruction processing process may be: determining whether the next call request information is received within a preset time, and if not, closing the bridge service module.
  • the bridge service module and the target The application is not related to a component of the target application, and therefore, the operation of recording the calling target application by the bridge service module is not limited to the target application, thereby effectively improving the controllability of the method and the device. Sex and extensibility.
  • FIG. 4 is a flowchart of another method for tracking an application that is provided by an embodiment of the present invention.
  • this embodiment describes a processing flow between an operating system of a user terminal and a bridge service module.
  • the operating system is Android, and the method includes:
  • Step S41 determining whether the target terminal exists in the user terminal
  • Each application installed in the user terminal of the Android system corresponds to a package name.
  • the suffix of the application is .apk, where apk is the package name, and the browser finds the target application by finding the identifier of all the applications.
  • the package name if not, proceed to step S47;
  • Step S47 feedback the judgment result
  • the component management service determines that the target application exists in the user terminal, and executes S42;
  • S42 The component management service determines whether the bridge service module is running.
  • the intent object is used to establish and implement the communication of the component, and the application can be regarded as a collection of multiple components.
  • the component management service is used to manage the connected components. The component management service understands the function and category of the component through the configuration information of the component, thereby helping the calling component to find the component that meets the requirement, calling the component and decoupling the component.
  • the bridging service module can be an application running in the background of the Android system, or an application running in the current window of the operating system, and can be bound with the browser.
  • the automatic The bridging service module is installed on the user terminal.
  • the bridging service module can also be a separate application, which needs to be manually downloaded and installed by the user.
  • the important components of the Android system application include Activity, Service, BroadcastReceiver, and ContentProvider.
  • the bridge service module can be an Activity or a Service, and the bridge service module is an application composed of multiple activities. Divided into four states: an active state, a suspended state, a stopped state, and a destroyed state, the component management service checks the state of the bridged service module to determine whether the bridged service is in a running state.
  • step S42 if the component management service determines that the bridge service module is not running, step S44 is performed;
  • Step S44 The component management service starts the bridge service module
  • the manner in which the Android system starts the bridge service module may be: defining an Activity as a program entry of the bridge service module, and starting by a startActivity (Intent) instruction. After the Activity, The bridge service module is activated.
  • step S43 is performed
  • Step S43 The component management service acquires an intent call request sent by the browser for requesting to invoke the application;
  • the intent call request is a call request information including an intent object, and the intent is equivalent to a messenger between multiple applications.
  • the program expresses through the intent.
  • the own intent, which activity needs to be started, the intent call request includes information about the target application, wherein the related information includes the identity information of the target application.
  • the intent roughly contains seven attributes: Component, Action, Category, Data, Type, Extra, and Flag.
  • the Component is used to explicitly specify the target application to be started.
  • the Component needs a ComponentName object, where ComponentName You need to specify the package name and class name, which uniquely identifies a target application and launches a specific target application.
  • the ⁇ intent-filter.../> element is a child of the ⁇ activity.../> element in the AndroidManifest.xml file.
  • the ⁇ activity.../> element is used to configure the Activity for the application, ⁇ intent-filter in the ⁇ activity.../> element.
  • .../> is used to configure the Intent that the Activity can respond to.
  • the above-mentioned specific target application is started by Component to display the Intent.
  • the Intent that does not specify the Component property is called an implicit Intent.
  • the implicit Intent does not explicitly specify which application to launch. Specifically, you can configure the Intent Action and Category properties. To set an abstract rule, the system will launch the eligible application according to the rules specified by the Intent.
  • the target application may be invoked by displaying an Intent.
  • the browser has a floating window.
  • the floating window is an Activity, defined as Activity1
  • the bridge service module is also an Activity, defined as Activity2, the application is Activity3.
  • the Activity1 includes an Intent, defined as Intent1, and the Intent1 is configured.
  • the property for example, configures the Component of the Intent1, so that the component corresponding to the Intent1 is Activity3.
  • the Intent1 can be configured to carry the data of the browser interacting with the target application by configuring the Bundle property of the Intent1.
  • the component management service After the browser initiates the call request information of the intent1, the component management service obtains the call request information, and sends the call request information to the bridge service module, that is, executing S45;
  • Step S45 The component management service sends an intent call request to the bridge service module.
  • Step S46 The bridge service module records the target application, and sends the intent call request to the target application through the component management service to invoke the target application;
  • the bridge service module obtains an intent call request, obtains the name of the target application or other identifier in the intent call request, and records the operation track of the browser to revoke the target application.
  • the call request information obtained by the bridge service module includes the intent1 mentioned above, and obtains the package name Activity3 of the target application specified in the Component attribute of the intent1, and records the package name of the target application as Activity3, and can record The name of the target application that the browser wants to call, that is, the trajectory of the browser that is logged by the browser.
  • the bridge service module sends the intent call request to the component management service, and the component management service starts the target application, for example, the target application specified in the Component property of the intent1 is started, that is, Activity3, and the intent call request is sent to the Activity3 to be called up. Target application Activity3.
  • Step S48 The component management service starts the destruction processing process of the bridge service module
  • the destruction processing flow is an Android system, in order to save system memory and resources, if the bridge service module is in an idle state for a long time, that is, the next call request information is not received for a long time, the bridge service module is stopped, and the specific implementation is performed. Ways can include:
  • the component management service determines whether the next intent call request is received within the preset time, and if not, the bridge service module is closed.
  • an embodiment of the present invention further provides a tracking device for calling an application, where the device includes: a component management service and a bridge service module;
  • the component management service includes:
  • the obtaining unit 501 is configured to receive call request information of the application
  • the sending unit 502 is configured to send the call request information to the bridge service module.
  • the bridging service module includes:
  • the recording unit 503 is configured to record the target application, and send the call request information to the target application by using the sending unit 502 to invoke the target application.
  • each unit may be: after acquiring the call request information sent by the browser for requesting the calling application, the acquiring unit 501 of the component management service sends the call request information to the sending unit 502.
  • the transmitting unit 502 sends the call request information to the recording unit 503 of the bridge service module, the recording unit 503 records the target application, and sends the call request information to the target application through the sending unit 502. Program to call the target application.
  • the embodiment of the present invention further provides another tracking device for calling an application, where the device includes a browser, a component management service, and a bridge service module.
  • the component management service also includes:
  • the first determining unit 601 is configured to determine whether the bridge service module is started, and if not, start the bridge service module;
  • the browser includes:
  • the second determining unit 606 is configured to determine whether the target terminal exists in the user terminal
  • the component management service includes:
  • the second determining unit 606 is configured to determine whether the bridge service module is running.
  • the obtaining unit 602 is configured to obtain, by the browser, call request information for requesting to invoke an application, where the call request information includes related information of the target application;
  • the sending unit 603 is configured to send the call request information to the bridge service module.
  • the bridging service module includes:
  • a recording unit 605 configured to record the target application, and send the call request information to the target application by using the component management service to invoke the target application;
  • the component management service also includes:
  • the destruction processing unit 604 is configured to determine whether to receive the next call request information within a preset time, and if not, close the bridge service module.
  • the interaction process of each unit may include:
  • the second determining unit 606 determines whether the target terminal is installed by the user terminal, and if not, feeds back a determination result for prompting the user not to install the target application or jump to the installation interface of the target application, if the second determining unit 606 determines The user terminal is installed with the target application, then jumps to the first determining unit 601;
  • the first determining unit 601 determines whether the bridge service module is running, and if so, jumps to the obtaining unit 602; if not, starts the bridge service module, and then jumps to the obtaining unit 602;
  • the obtaining unit 602 obtains the call request information sent by the browser for requesting the calling application, sends the call request information to the sending unit 603, and the sending unit 603 sends the call request information to the bridge service module.
  • a recording unit 605 the recording unit 605 records the target application, and sends the call request information to the target application through the sending unit 603 to invoke the target application;
  • the sending unit 603 After the sending unit 603 sends the call request information to the bridge service module, or after the sending unit 603 receives the call request information sent by the bridge service module, the XOR sending unit 603 receives the call request information sent by the bridge service module and After the call request information is sent to the target application, the process jumps to the destruction processing unit 604, and the destruction processing unit 604 determines whether the next call request information is received within the preset time. If not, the bridge service module is closed.
  • the call request information may be call request information including an intent object.
  • a computer readable storage medium 7000 is further provided, as shown in FIG. 7, for storing instructions for executing any one of the application tracking methods provided in this embodiment, so that FIG. 7
  • the illustrated processing device 7100 having a connection relationship with the computer readable storage medium 7000 performs all or any of the application tracking methods provided in the embodiment. Part of the steps.
  • the processing device 7100 may be a computer device, such as a personal computer, a server, or a network device, or a processor device in the computer device that can be used to perform corresponding steps according to instructions, such as a CPU (Central Processing Unit), an MCU (Micro) Processing unit) and so on.
  • CPU Central Processing Unit
  • MCU Micro
  • each block of the flowchart or block diagram can represent a module, a program segment, or a portion of code that includes one or more of the Executable instructions.
  • the functions noted in the blocks may also occur in a different order than that illustrated in the drawings. For example, two consecutive blocks may be executed substantially in parallel, and they may sometimes be executed in the reverse order, depending upon the functionality involved.
  • each block of the block diagrams and/or flowcharts, and combinations of blocks in the block diagrams and/or flowcharts can be implemented in a dedicated hardware-based system that performs the specified function or function. Or it can be implemented by a combination of dedicated hardware and computer instructions.
  • the disclosed systems, devices, and methods may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some communication interface, device or unit, and may be electrical, mechanical or otherwise.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the functions may be stored in a computer readable storage medium if implemented in the form of a software functional unit and sold or used as a standalone product. Based on this understanding, this issue
  • the technical solution of the present invention, or the part contributing to the prior art, may be embodied in the form of a software product stored in a storage medium, including a plurality of instructions for making a A computer device (which may be a personal computer, server, or network device, etc.) performs all or part of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)
  • Mathematical Physics (AREA)

Abstract

The present invention relates to the browser field and discloses an application tracing method and device, the method comprising: a component management service acquires invoking request information used to request invoking of an application and sent by a browser (S21), the invoking request information comprising related information of a target application; the component management service sends the invoking request information to a bridging service module (S22); the bridging service module records the target application, and sends the invoking request information to the target application via the component management service, so as to invoke the target application (S23).

Description

一种应用程序的追踪方法及装置Application tracking method and device 技术领域Technical field
本发明涉及浏览器领域,更具体地,涉及一种应用程序的追踪方法及装置。The present invention relates to the field of browsers, and more particularly to an application tracking method and apparatus.
背景技术Background technique
目前浏览器有很多应用场景需要调用应用程序的操作,例如,打开应用程序,而目前的追踪调起应用程序操作轨迹的方式是需要依靠合作的应用程序进行统计操作。At present, browsers have many application scenarios that need to invoke the operation of the application, for example, to open the application, and the current way of tracking the operation track of the application is to rely on the cooperative application for statistical operations.
例如,浏览器有一个浮动窗口,当点击该浮动窗口时,会调起指定的应用程序,而浮动窗口本身不属于浏览器,因此,当所述浮动窗口显示在浏览器的界面时,针对该浮动窗口的任何操作浏览器是无法追踪的,必须要通过该应用程序的配合才能统计到。For example, the browser has a floating window. When the floating window is clicked, the specified application is called, and the floating window itself does not belong to the browser. Therefore, when the floating window is displayed on the browser interface, Any operation of the floating window browser is untrackable and must be counted by the application.
因此,现有的调用应用程序的追踪方法严重受限于应用程序,可控性和扩展性非常差。Therefore, the existing tracking method for calling applications is severely limited by the application, and the controllability and scalability are very poor.
发明内容Summary of the invention
本发明的目的在于提供一种应用程序的追踪方法及装置,以改善上述的问题。It is an object of the present invention to provide an application tracking method and apparatus for improving the above problems.
第一方面,本发明实施例提供的一种应用程序的追踪方法,包括:In a first aspect, an application tracking method provided by an embodiment of the present invention includes:
组件管理服务接收应用程序的调用请求信息;The component management service receives the call request information of the application;
所述组件管理服务将所述调用请求信息发送至桥接服务模块;The component management service sends the call request information to a bridge service module;
所述桥接服务模块记录所述应用程序的调用请求信息,将所述调用请求信息通过所述组件管理服务发送至所述应用程序,以调用所述应用程序调用请求信息。The bridge service module records call request information of the application, and sends the call request information to the application through the component management service to invoke the application call request information.
第二方面,本发明实施例提供了一种应用程序的追踪装置,所述装置包括:组件管理服务和桥接服务模块; In a second aspect, an embodiment of the present invention provides a tracking device for an application, where the device includes: a component management service and a bridge service module;
所述组件管理服务包括:The component management service includes:
获取单元,用于接收应用程序的调用请求信息;An obtaining unit, configured to receive call request information of an application;
发送单元,用于将所述调用请求信息发送至桥接服务模块;a sending unit, configured to send the call request information to a bridge service module;
所述桥接服务模块包括:The bridging service module includes:
记录单元,用于记录所述应用程序的调用请求信息,将所述调用请求信息通过所述发送单元发送至所述应用程序,以调用所述应用程序。a recording unit, configured to record call request information of the application, and send the call request information to the application by using the sending unit to invoke the application.
第三方面,本实施例还提供一种计算机可读取存储介质,用于存储执行如本发明的第一方面提供的任意一项应用程序追踪方法的指令。In a third aspect, the embodiment further provides a computer readable storage medium for storing instructions for executing any one of the application tracking methods provided by the first aspect of the present invention.
本发明实施例中,用户终端的组件管理服务获取应用程序的调用请求信息后,将所述调用请求信息发送至所述桥接服务模块,其中,所述调用请求信息可以包括目标应用程序的标识及操作指令,所述标识可以为应用程序的包名、类名或其他能够起到标识的信息,所述桥接服务模块获取所述调用请求信息中的目标应用程序的标识,就能够记录下发起调用应用程序的调用请求信息的模块(例如浏览器)调起应用程序的名称及相关操作等,起到记录调起应用程序的操作轨迹的目的。In the embodiment of the present invention, after the component management service of the user terminal acquires the call request information of the application, the call request information is sent to the bridge service module, where the call request information may include an identifier of the target application and An operation instruction, where the identifier may be a package name, a class name, or other information that can be identified by the application, and the bridge service module obtains the identifier of the target application in the call request information, and can record the call. The module that invokes the request information of the application (for example, a browser) picks up the name of the application and related operations, and the like, and records the operation track of the application.
与现有技术的通过目标应用程序的统计来记录浏览器调起目标应用程序的相关操作相比,本发明实施例,所述桥接服务模块与所述目标应用程序无关,不属于所述目标应用程序的一个组件,因此,通过所述桥接服务模块记录调用目标应用程序的操作不会受限于目标应用程序,有效提高了所述方法及装置的可控性和扩展性。In the embodiment of the present invention, the bridge service module is not related to the target application, and does not belong to the target application, as compared with the related operation of the target application by the statistics of the target application. A component of the program, therefore, the operation of recording the calling target application by the bridge service module is not limited to the target application, thereby effectively improving the controllability and scalability of the method and apparatus.
本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。Other features and advantages of the invention will be set forth in part in the description in the written description The objectives and other advantages of the invention may be realized and obtained by means of the structure particularly pointed in the appended claims.
附图说明DRAWINGS
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出 创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本发明的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本发明的主旨。In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings to be used in the embodiments will be briefly described below. Obviously, the drawings in the following description are only some of the present invention. Embodiments, for those of ordinary skill in the art, do not pay Other drawings can also be obtained from these drawings on the premise of creative labor. The above and other objects, features and advantages of the present invention will become apparent from the accompanying drawings. The same reference numerals are used throughout the drawings to refer to the same parts. The drawings are not intended to be scaled to scale in actual size, with emphasis on the gist of the present invention.
图1示出了本发明实施例提供的应用程序的追踪方法及装置的应用环境的示意图;1 is a schematic diagram of an application environment tracking method and an application environment of an apparatus according to an embodiment of the present invention;
图2示出了本发明实施例提供的一种应用程序的追踪方法的方法流程图;2 is a flowchart of a method for tracking an application program according to an embodiment of the present invention;
图3示出了本发明实施例提供的另一种应用程序的追踪方法的方法流程图;FIG. 3 is a flowchart of a method for tracking another application according to an embodiment of the present invention;
图4示出了本发明实施例提供的另一种应用程序的追踪方法的方法流程图;FIG. 4 is a flowchart of a method for tracking another application according to an embodiment of the present invention;
图5示出了本发明实施例提供的一种应用程序的追踪装置的模块框图;FIG. 5 is a block diagram of a tracking device of an application program according to an embodiment of the present invention;
图6示出了本发明实施例提供的另一种应用程序的追踪装置的模块框图;FIG. 6 is a block diagram of a tracking device of another application according to an embodiment of the present invention;
图7示出了本发明实施例提供的计算机可读取存储介质的示意性框图。FIG. 7 is a schematic block diagram of a computer readable storage medium provided by an embodiment of the present invention.
具体实施方式detailed description
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。Various exemplary embodiments of the present invention will now be described in detail with reference to the drawings. It should be noted that the relative arrangement of the components and steps, numerical expressions and numerical values set forth in the embodiments are not intended to limit the scope of the invention unless otherwise specified.
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。The following description of the at least one exemplary embodiment is merely illustrative and is in no way
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。Techniques, methods and apparatus known to those of ordinary skill in the relevant art may not be discussed in detail, but the techniques, methods and apparatus should be considered as part of the specification, where appropriate.
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的 值。In all of the examples shown and discussed herein, any specific values are to be construed as illustrative only and not as a limitation. Therefore, other examples of the exemplary embodiments may have different value.
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。It should be noted that similar reference numerals and letters indicate similar items in the following figures, and therefore, once an item is defined in one figure, it is not required to be further discussed in the subsequent figures.
本发明实施例所提供的应用程序的追踪方法及装置可应用于如图1所示的应用环境中。如图1所示,包括浏览器101、桥接服务模块102和应用程序103,所述浏览器101、桥接服务模块102和应用程序103均为应用程序模块,安装在用户终端上,由用户终端上的操作***统一管理。所述操作***可以是安卓(Android)操作***,也可以是IOS操作***或者windows操作***。The method and apparatus for tracking an application provided by the embodiments of the present invention can be applied to an application environment as shown in FIG. 1. As shown in FIG. 1, the browser 101, the bridge service module 102, and the application program 103 are included. The browser 101, the bridge service module 102, and the application program 103 are application modules, which are installed on the user terminal and are installed on the user terminal. Unified management of the operating system. The operating system may be an Android operating system, or an IOS operating system or a Windows operating system.
另外,应当说明的是,本申请的应用环境不限于由浏览器101发起调起应用程序103的调用请求信息,也可以由其他的应用程序模块来发起调用请求信息。In addition, it should be noted that the application environment of the present application is not limited to the call request information initiated by the browser 101 to invoke the application 103, and the call request information may be initiated by other application modules.
于本发明实施例中,用户终端优选为移动终端设备,例如可以包括智能手机、平板电脑、电子书阅读器、膝上型便携计算机、车载电脑、穿戴式移动终端等等。In the embodiment of the present invention, the user terminal is preferably a mobile terminal device, and may include, for example, a smart phone, a tablet computer, an e-book reader, a laptop portable computer, a car-mounted computer, a wearable mobile terminal, and the like.
桥接服务模块可以为一个在操作***后台运行的应用程序,也可以是在操作***的当前窗口运行的应用程序,可以与浏览器绑定在一起,当用户终端安装所述浏览器内,会自动将所述桥接服务模块安装在用户终端上,当然,所述桥接服务模块也可以是作为一个独立的应用程序,需要用户手动下载并安装。The bridge service module can be an application running in the background of the operating system, or an application running in the current window of the operating system, and can be bound with the browser. When the user terminal is installed in the browser, the automatic The bridging service module is installed on the user terminal. Of course, the bridging service module can also be a separate application, which needs to be manually downloaded and installed by the user.
图2示出了本发明实施例提供的一种调用应用程序的追踪方法的流程图,请参阅图2,所述方法包括:FIG. 2 is a flowchart of a method for tracking a calling application according to an embodiment of the present invention. Referring to FIG. 2, the method includes:
步骤S21:组件管理服务接收应用程序的调用请求信息;Step S21: The component management service receives the call request information of the application;
所述组件管理服务为操作***内用于管理各个应用程序或组件等之间的调用和数据交互等操作,负责根据应用程序或组件发送的调用请求信息调起应用或将数据发送至目标应用。The component management service is an operation in the operating system for managing calls and data interactions between various applications or components, etc., and is responsible for calling up an application or transmitting data to a target application according to call request information sent by the application or component.
于本发明实施例中,以浏览器的调起第三方应用为例,用户通过点击浏览器内的预设的选择区域或者浮动窗口等跳转链接,由浏览器内核发送 用于请求调用应用程序的调用请求信息至组件管理服务,所述调用请求信息中包括目标应用程序的相关信息,其中,所述目标应用程序的相关信息可以包括目标应用程序的名称或者其他能够起到身份标识作用的信息,当然也可以包括浏览器欲通过调用请求信息发送给目标应用程序的其他数据。In the embodiment of the present invention, the third-party application of the browser is used as an example, and the user sends a jump link such as a preset selection area or a floating window in the browser, and is sent by the browser kernel. The call request information for requesting the calling application to the component management service, where the call request information includes related information of the target application, wherein the related information of the target application may include the name of the target application or other The information to the identity function may of course also include other data that the browser wants to send to the target application by calling the request information.
优选地,所述目标应用程序可以是浏览器在调用请求信息中明确指定的欲调用的应用程序,也可以是浏览器在调用请求信息中设定一个欲完成的动作,组件管理服务根据所述欲完成的动作为浏览器匹配一个能够完成所述欲完成的动作的应用程序。其中,上述的目标应用程序所指代的是浏览器调起的应用程序。Preferably, the target application may be an application to be invoked explicitly specified by the browser in the call request information, or the browser may set an action to be completed in the call request information, and the component management service according to the The action to be completed is for the browser to match an application that can perform the action to be completed. Among them, the above target application refers to the browser-tune application.
步骤S22:组件管理服务将调用请求信息发送至桥接服务模块;Step S22: the component management service sends the call request information to the bridge service module;
组件管理服务获得浏览器发送的调用请求信息后,将所述调用请求信息发送至所述桥接服务模块。After the component management service obtains the call request information sent by the browser, the call request information is sent to the bridge service module.
于本发明实施例中,所述浏览器的调用目标应用程序的调用请求信息不需要做修改,即浏览器不需要做任何修改,例如,现有技术中,浏览器欲调用目标应用程序的身份标识为A,浏览器发起的调用请求信息中包括目标应用程序的身份标识A,于本发明实施例中,浏览器发起的调用请求信息中仍然是目标应用程序的身份标识A,组件管理服务接收到所述调用请求信息后,将所述调用请求信息发送至所述桥接服务模块。In the embodiment of the present invention, the call request information of the browser calling target application does not need to be modified, that is, the browser does not need to make any modification. For example, in the prior art, the browser wants to call the identity of the target application. The identifier is A, and the browser-initiated call request information includes the identity identifier A of the target application. In the embodiment of the present invention, the call request information initiated by the browser is still the identity identifier A of the target application, and the component management service receives After the call request information, the call request information is sent to the bridge service module.
步骤S23:桥接服务模块记录应用程序的调用请求信息,将调用请求信息通过组件管理服务发送至应用程序,以调用应用程序;Step S23: the bridge service module records the call request information of the application, and sends the call request information to the application through the component management service to invoke the application;
所述桥接服务模块能够获取所述调用请求信息中的目标应用程序的名称或者其他的标识,记录浏览器调起目标应用程序的操作轨迹,其中,所述操作轨迹可以包括所述浏览器调起目标应用程序的时间以及目标应用程序的名称等。The bridge service module is configured to obtain a name of the target application or other identifier in the call request information, and record an operation trajectory of the browser to revive the target application, where the operation trajectory may include the browser arranging The time of the target application and the name of the target application.
所述桥接服务模块具体的实施方式可以包括:在记录调用所述目标应用程序的轨迹后,将所述调用请求信息发送至所述组件管理服务,再由所述组件管理服务将所述调用请求信息发送至所述目标应用程序。The specific implementation manner of the bridge service module may include: after recording a trajectory of calling the target application, sending the call request information to the component management service, and then the component management service sends the call request Information is sent to the target application.
所述桥接服务模块具体的实施方式还可以包括:所述桥接服务模块接 收到所述调用请求信息后,在开始执行记录所述目标应用程序的操作的同时将所述调用请求信息发送至所述组件管理服务,再由所述组件管理服务将所述调用请求信息发送至所述目标应用程序,调起应用程序的操作轨迹和发送调用请求信息的操作并行执行。The specific implementation manner of the bridging service module may further include: the bridging service module is connected After receiving the call request information, sending the call request information to the component management service while starting to perform an operation of recording the target application, and then sending, by the component management service, the call request information To the target application, the operation track of the application and the operation of transmitting the call request information are executed in parallel.
因此,本发明实施例中,所述桥接服务模块作为浏览器和目标应用程序之间的中继站,用户终端的操作***内的组件管理服务获取浏览器发送的用于请求调用应用程序的调用请求信息后,将所述调用请求信息发送至所述桥接服务模块,所述桥接服务模块获取所述相关信息中的目标应用程序的标识,就能够记录下浏览器调起目标应用程序的名称及相关操作等,起到记录浏览器调起应用程序的操作轨迹的目的。Therefore, in the embodiment of the present invention, the bridge service module serves as a relay station between the browser and the target application, and the component management service in the operating system of the user terminal acquires the call request information sent by the browser for requesting to invoke the application. After the call request information is sent to the bridge service module, the bridge service module obtains the identifier of the target application in the related information, and can record the name and related operations of the browser to revive the target application. Etc., to record the operation track of the browser to pick up the application.
与现有技术的通过目标应用程序的统计来记录浏览器调起目标应用程序的相关操作相比,本发明实施例,所述桥接服务模块与所述目标应用程序无关,不属于所述目标应用程序的一个组件,因此,通过所述桥接服务模块记录调用目标应用程序的操作不会受限于目标应用程序,有效提高了所述方法及装置的可控性和扩展性。In the embodiment of the present invention, the bridge service module is not related to the target application, and does not belong to the target application, as compared with the related operation of the target application by the statistics of the target application. A component of the program, therefore, the operation of recording the calling target application by the bridge service module is not limited to the target application, thereby effectively improving the controllability and scalability of the method and apparatus.
图3所示的本发明实施例提供的另一种调用应用程序的追踪方法的流程图,请参阅图3,本实施例以浏览器调用目标应用程序为例,描述的是用户终端的操作***和桥接服务模块之间的处理流程,其中,目标应用程序属于第三方应用程序,即与浏览器不属于同一个开发商,不属于安装有浏览器的终端的操作***内的应用程序,所述方法包括:FIG. 3 is a flowchart of another method for tracking the calling application provided by the embodiment of the present invention, and FIG. 3 is an example of the operating system of the user terminal. And a process flow between the bridge service module, wherein the target application belongs to a third-party application, that is, an application in an operating system that does not belong to the same developer as the browser and does not belong to the terminal in which the browser is installed, Methods include:
步骤S31:判断用户终端是否存在目标应用程序;Step S31: determining whether the target terminal exists in the user terminal;
用户终端上安装的每个应用程序统一由操作***管理,因此操作***内存储有每个应用程序的标识,例如Android或IOS***中的包名。因此,在组件管理服务接收应用程序的调用请求信息之前,浏览器通过查找所有的应用程序的标识中,是否存在目标应用程序的包名,其中,查找动作可以是浏览器发起一个查找请求,由***来执行,若否,则执行步骤S37;Each application installed on the user terminal is uniformly managed by the operating system, so the identity of each application is stored in the operating system, such as the package name in the Android or IOS system. Therefore, before the component management service receives the call request information of the application, the browser searches for the package name of the target application by finding the identifier of all the applications, wherein the lookup action may be that the browser initiates a lookup request, The system to perform, if not, proceed to step S37;
步骤S37:反馈判断结果;Step S37: feedback the judgment result;
其中,反馈的结果可以是一条通知,说明未安装目标应用程序,则用户可以自行安装目标第三应用,另外,反馈的结果也可以是具有链接跳转 功能的浮动窗口,用户点击该浮动窗口时,会自动跳转到下载目标第三应用的界面,点击该界面的下载选项,则自动下载并安装目标应用程序。The result of the feedback may be a notification that the target application is not installed, and the user may install the target third application by itself, and the feedback result may also be a link jump. The floating window of the function, when the user clicks the floating window, it will automatically jump to the interface of the third target of the download target, and click the download option of the interface to automatically download and install the target application.
另外,在执行所述步骤S31,操作***判断用户终端存在目标应用程序时,执行S32;In addition, when performing the step S31, the operating system determines that the target application exists in the user terminal, and executes S32;
S32:组件管理服务判断桥接服务模块是否正在运行;S32: The component management service determines whether the bridge service module is running;
桥接服务模块内可以包括用于反映所述桥接服务模块工作状态的状态量,所述桥接服务模块运行状态可以包括运行、停止或暂停等,组件管理服务判断桥接服务模块是否正在运行的具体实施方式可以包括:组件管理服务读取所述桥接服务模块内的状态量的信息,根据所获取的状态量的信息判断所述桥接服务模块是否正在运行,例如状态量为1时,表示运行状态,状态量为0时,表示停止状态。The bridge service module may include a state quantity for reflecting the working state of the bridge service module, the bridge service module operation state may include running, stopping, or suspending, etc., and the component management service determines whether the bridge service module is running. The component management service may read information about the state quantity in the bridge service module, and determine whether the bridge service module is running according to the acquired information of the state quantity, for example, when the state quantity is 1, indicating the running state, the state When the amount is 0, it indicates the stop state.
当然,也可以是,所述组件管理服务发送一个验证信息至所述桥接服务模块,所述桥接服务模块接收到所述验证信息后发送一个反馈值至所述组件管理服务,所述组件管理服务接收到所述反馈值时,判定所述桥接服务模块正在运行,否则,判定为未在运行。Of course, the component management service may send a verification information to the bridge service module, and the bridge service module sends a feedback value to the component management service after receiving the verification information, where the component management service When the feedback value is received, it is determined that the bridge service module is running, otherwise, it is determined that it is not running.
执行步骤S32时,若所述组件管理服务判断桥接服务模块未在运行,则执行步骤S34;When step S32 is performed, if the component management service determines that the bridge service module is not running, step S34 is performed;
步骤S34:组件管理服务启动桥接服务模块;Step S34: The component management service starts the bridge service module;
在浏览器发起调用请求信息之前,组件管理服务检测所述桥接服务模块是否处于运行状态,能够提高所述追踪方法的执行效率,同时,能够避免发送的调用请求信息无法被桥接服务模块接收。Before the browser initiates the call request information, the component management service detects whether the bridge service module is in an running state, can improve the execution efficiency of the tracking method, and can prevent the transmitted call request information from being received by the bridge service module.
若组件管理服务判断桥接服务模块正在运行,则执行步骤S33;If the component management service determines that the bridge service module is running, step S33 is performed;
步骤S33:组件管理服务获取浏览器发送的用于请求调用应用程序的调用请求信息;Step S33: The component management service acquires call request information sent by the browser for requesting to invoke the application;
其中,所述步骤S33与所述步骤S32的执行顺序不限制,即一种实施方式可以是:当步骤S31的结果为是时,执行步骤S32,当步骤S32的执行结果为否时,执行S34,然后再执行S33,或者当步骤S32的执行结果为是时,执行步骤S33。The execution order of the step S33 and the step S32 is not limited, that is, an implementation manner may be: when the result of step S31 is YES, step S32 is performed, and when the execution result of step S32 is no, S34 is performed. Then, S33 is executed again, or when the execution result of step S32 is YES, step S33 is performed.
还有一种实施方式可以为:当步骤S31的结果为是时,执行S32,当 步骤S32的执行结果为否时,执行S34,然后再执行S35,或者,当步骤S32的执行结果为是时,执行步骤S35。Still another embodiment may be: when the result of step S31 is YES, executing S32, when When the execution result of step S32 is NO, S34 is executed, and then S35 is executed, or, when the execution result of step S32 is YES, step S35 is performed.
当然也可以有其他的执行方式,在此并不限定。Of course, there may be other execution modes, which are not limited herein.
步骤S35:组件管理服务将调用请求信息发送至桥接服务模块;Step S35: the component management service sends the call request information to the bridge service module;
步骤S36:桥接服务模块记录目标应用程序,将调用请求信息通过组件管理服务发送至目标应用程序,以调用目标应用程序;Step S36: the bridge service module records the target application, and sends the call request information to the target application through the component management service to invoke the target application;
步骤S38:组件管理服务启动桥接服务模块的销毁处理流程;Step S38: The component management service starts the destruction processing process of the bridge service module;
所述销毁处理流程的目的是为了节省***的内存和资源,即如果桥接服务模块长期处于空闲状态,即长时间未接收到下一次调用请求信息,则就将所述桥接服务模块停止,具体的实施方式可以包括:The purpose of the destruction processing flow is to save the memory and resources of the system, that is, if the bridge service module is in an idle state for a long time, that is, the next call request information is not received for a long time, the bridge service module is stopped, and the specific Implementations can include:
所述销毁处理流程可以是在组件管理服务将调用请求信息发送至桥接服务模块之后执行,或者在所述桥接服务模块获取所述调用请求信息之后,执行记录所述目标应用程序的操作后,将所述调用请求信息发送至组件管理服务,所述组件管理服务在接收到所述桥接服务模块发送的调用请求信息后执行销毁处理流程,还可以是,在组件管理服务接收到所述桥接服务模块发送的调用请求信息并将调用请求信息发送至目标应用程序之后再执行销毁处理流程。The destruction processing flow may be performed after the component management service sends the call request information to the bridge service module, or after the bridge service module acquires the call request information, after performing the operation of recording the target application, The call request information is sent to the component management service, and the component management service executes the destruction process flow after receiving the call request information sent by the bridge service module, or may be, the component management service receives the bridge service module. The call request information is sent and the call request information is sent to the target application before the destruction process is executed.
所述销毁处理流程可以是:判断预设时间内是否接收到下一次调用请求信息,若否,将所述桥接服务模块关闭。The destruction processing process may be: determining whether the next call request information is received within a preset time, and if not, closing the bridge service module.
因此,针对图3的实施例中,与现有技术的通过目标应用程序的统计来记录浏览器调起目标应用程序的相关操作相比,本发明实施例,所述桥接服务模块与所述目标应用程序无关,不属于所述目标应用程序的一个组件,因此,通过所述桥接服务模块记录调用目标应用程序的操作不会受限于目标应用程序,有效提高了所述方法及装置的可控性和扩展性。Therefore, in the embodiment of FIG. 3, compared with the related operation of recording the target application by the browser in the statistics of the target application, the embodiment of the present invention, the bridge service module and the target The application is not related to a component of the target application, and therefore, the operation of recording the calling target application by the bridge service module is not limited to the target application, thereby effectively improving the controllability of the method and the device. Sex and extensibility.
如4示出了本发明实施例提供的另一种调用应用程序的追踪方法的流程图,请参阅图4,本实施例描述的是用户终端的操作***和桥接服务模块之间的处理流程,于本实施例中,所述操作***为Android,所述方法包括:4 is a flowchart of another method for tracking an application that is provided by an embodiment of the present invention. Referring to FIG. 4, this embodiment describes a processing flow between an operating system of a user terminal and a bridge service module. In this embodiment, the operating system is Android, and the method includes:
步骤S41:判断用户终端是否存在目标应用程序; Step S41: determining whether the target terminal exists in the user terminal;
Android***的用户终端安装的每个应用程序对应一个包名,例如应用程序的后缀为.apk,其中,apk即是包名,浏览器通过查找所有的应用程序的标识中,是否存在目标应用程序的包名,若否,则执行步骤S47;Each application installed in the user terminal of the Android system corresponds to a package name. For example, the suffix of the application is .apk, where apk is the package name, and the browser finds the target application by finding the identifier of all the applications. The package name, if not, proceed to step S47;
步骤S47:反馈判断结果;Step S47: feedback the judgment result;
另外,在执行所述步骤S41,组件管理服务判断用户终端存在目标应用程序时,执行S42;In addition, when performing the step S41, the component management service determines that the target application exists in the user terminal, and executes S42;
S42:组件管理服务判断桥接服务模块是否正在运行;S42: The component management service determines whether the bridge service module is running.
在Android***中,利用intent对象建立并实现组件的通信,而应用程序可以看成是多个组件的集合,这个就是Android中的意图机制,在意图机制中,利用组件管理服务来管理连接的组件,组件管理服务通过组件的配置信息了解组件的功能和类别,从而帮助调用组件找到符合需求的组件,调用组件和实现组件的解耦。In the Android system, the intent object is used to establish and implement the communication of the component, and the application can be regarded as a collection of multiple components. This is the intent mechanism in Android. In the intent mechanism, the component management service is used to manage the connected components. The component management service understands the function and category of the component through the configuration information of the component, thereby helping the calling component to find the component that meets the requirement, calling the component and decoupling the component.
桥接服务模块可以为一个在Android***后台运行的应用程序,也可以是在操作***的当前窗口运行的应用程序,可以与浏览器绑定在一起,当用户终端安装所述浏览器内,会自动将所述桥接服务模块安装在用户终端上,当然,所述桥接服务模块也可以是作为一个独立的应用程序,需要用户手动下载并安装。The bridging service module can be an application running in the background of the Android system, or an application running in the current window of the operating system, and can be bound with the browser. When the user terminal is installed in the browser, the automatic The bridging service module is installed on the user terminal. Of course, the bridging service module can also be a separate application, which needs to be manually downloaded and installed by the user.
Android***的应用程序的重要组成单元包括Activity、Service、BroadcastReceiver和ContentProvider,所述桥接服务模块可以为Activity也可以为Service,以所述桥接服务模块为多个Activity组成的应用程序为例,Activity大致分为4个状态:活动状态、暂停状态、停止状态和销毁状态,组件管理服务查看所述桥接服务模块的状态,从而判断所述桥接服务是否处于运行状态。The important components of the Android system application include Activity, Service, BroadcastReceiver, and ContentProvider. The bridge service module can be an Activity or a Service, and the bridge service module is an application composed of multiple activities. Divided into four states: an active state, a suspended state, a stopped state, and a destroyed state, the component management service checks the state of the bridged service module to determine whether the bridged service is in a running state.
执行步骤S42时,若组件管理服务判断桥接服务模块未在运行,则执行步骤S44;When step S42 is performed, if the component management service determines that the bridge service module is not running, step S44 is performed;
步骤S44:组件管理服务启动桥接服务模块;Step S44: The component management service starts the bridge service module;
以所述桥接服务模块为多个Activity组成的应用程序为例,Android***启动所述桥接服务模块的方式可以是:定义一个Activity为所述桥接服务模块的程序入口,通过startActivity(Intent)指令启动Activity后, 所述桥接服务模块被启动。Taking the application program of the bridge service module as a plurality of activities as an example, the manner in which the Android system starts the bridge service module may be: defining an Activity as a program entry of the bridge service module, and starting by a startActivity (Intent) instruction. After the Activity, The bridge service module is activated.
若操作***判断桥接服务模块正在运行,则执行步骤S43;If the operating system determines that the bridge service module is running, step S43 is performed;
步骤S43:组件管理服务获取浏览器发送的用于请求调用应用程序的intent调用请求;Step S43: The component management service acquires an intent call request sent by the browser for requesting to invoke the application;
于本发明实施例中,所述intent调用请求为包含intent对象的调用请求信息,intent相当于多个应用程序之间的信使,当一个应用组件需要调用另一个应用组件时,程序通过intent来表达自己的意图,需要启动哪个Activity,所述intent调用请求包括目标应用程序的相关信息,其中,相关信息包括目标应用程序的身份信息。In the embodiment of the present invention, the intent call request is a call request information including an intent object, and the intent is equivalent to a messenger between multiple applications. When an application component needs to call another application component, the program expresses through the intent. The own intent, which activity needs to be started, the intent call request includes information about the target application, wherein the related information includes the identity information of the target application.
intent大致包含了七种属性,分别为:Component、Action、Category、Data、Type、Extra和Flag,其中,Component用于明确指定需要启动的目标应用程序,其中,Component需要一个ComponentName对象,其中,ComponentName需要指定包名和类名,这就可唯一地确定一个目标应用程序,启动特定的目标应用程序。The intent roughly contains seven attributes: Component, Action, Category, Data, Type, Extra, and Flag. The Component is used to explicitly specify the target application to be started. The Component needs a ComponentName object, where ComponentName You need to specify the package name and class name, which uniquely identifies a target application and launches a specific target application.
因此,在定义一个Activity时,会针对此Activity配置中的<intent-filter…/>元素配置。<intent-filter…/>元素是AndroidManifest.xml文件中<activity…/>元素的子元素,<activity…/>元素用于为应用程序配置Activity,<activity…/>元素中的<intent-filter…/>则用于配置该Activity所能响应的Intent。Therefore, when defining an Activity, it will be configured for the <intent-filter.../> element in this Activity configuration. The <intent-filter.../> element is a child of the <activity.../> element in the AndroidManifest.xml file. The <activity.../> element is used to configure the Activity for the application, <intent-filter in the <activity.../> element. .../> is used to configure the Intent that the Activity can respond to.
上述的通过Component启动特定的目标应用程序为显示Intent,没有指定Component属性的Intent被称为隐式Intent,隐式Intent没有明确指定要启动哪个应用程序,具体的可以通过配置Intent的Action和Category属性来设置一个抽象的规则,***将会根据Intent指定的规则去启动符合条件的应用程序。The above-mentioned specific target application is started by Component to display the Intent. The Intent that does not specify the Component property is called an implicit Intent. The implicit Intent does not explicitly specify which application to launch. Specifically, you can configure the Intent Action and Category properties. To set an abstract rule, the system will launch the eligible application according to the rules specified by the Intent.
于本发明实施例中,可以通过显示Intent调用目标应用程序,例如,浏览器内有一个浮动窗口,所述浮动窗口为一个Activity,定义为Activity1,所述桥接服务模块也为一个Activity,定义为Activity2,应用程序为Activity3。In the embodiment of the present invention, the target application may be invoked by displaying an Intent. For example, the browser has a floating window. The floating window is an Activity, defined as Activity1, and the bridge service module is also an Activity, defined as Activity2, the application is Activity3.
所述Activity1包括一个Intent,定义为Intent1,配置该Intent1 的属性,例如配置该Intent1的Component,使该Intent1对应启动的组件为Activity3,另外,还可以通过配置该Intent1的Bundle属性使该Intent1携带浏览器与目标应用程序交互的数据。The Activity1 includes an Intent, defined as Intent1, and the Intent1 is configured. The property, for example, configures the Component of the Intent1, so that the component corresponding to the Intent1 is Activity3. In addition, the Intent1 can be configured to carry the data of the browser interacting with the target application by configuring the Bundle property of the Intent1.
浏览器发起该intent1的调用请求信息后,组件管理服务获得该调用请求信息,将该调用请求信息发送至所述桥接服务模块,即执行S45;After the browser initiates the call request information of the intent1, the component management service obtains the call request information, and sends the call request information to the bridge service module, that is, executing S45;
步骤S45:组件管理服务将intent调用请求发送至桥接服务模块;Step S45: The component management service sends an intent call request to the bridge service module.
步骤S46:桥接服务模块记录目标应用程序,将intent调用请求通过组件管理服务发送至目标应用程序,以调用目标应用程序;Step S46: The bridge service module records the target application, and sends the intent call request to the target application through the component management service to invoke the target application;
桥接服务模块获得intent调用请求,获取所述intent调用请求中的目标应用程序的名称或者其他的标识,记录浏览器调起目标应用程序的操作轨迹。The bridge service module obtains an intent call request, obtains the name of the target application or other identifier in the intent call request, and records the operation track of the browser to revoke the target application.
例如,所述桥接服务模块获得的调用请求信息包括上述的intent1,获取intent1的Component属性中所指定的目标应用程序的包名Activity3,记录下所述目标应用程序的包名为Activity3,就能够记录浏览器欲调用的目标应用程序的名称,即记录下浏览器调起应用程序的操作轨迹。For example, the call request information obtained by the bridge service module includes the intent1 mentioned above, and obtains the package name Activity3 of the target application specified in the Component attribute of the intent1, and records the package name of the target application as Activity3, and can record The name of the target application that the browser wants to call, that is, the trajectory of the browser that is logged by the browser.
然后,桥接服务模块将intent调用请求发送至组件管理服务,组件管理服务启动目标应用程序,例如启动intent1的Component属性中所指定的目标应用程序即Activity3,将intent调用请求发送至Activity3,以调起目标应用程序Activity3。Then, the bridge service module sends the intent call request to the component management service, and the component management service starts the target application, for example, the target application specified in the Component property of the intent1 is started, that is, Activity3, and the intent call request is sent to the Activity3 to be called up. Target application Activity3.
步骤S48:组件管理服务启动桥接服务模块的销毁处理流程;Step S48: The component management service starts the destruction processing process of the bridge service module;
所述销毁处理流程是Android***为了节省***的内存和资源,如果桥接服务模块长期处于空闲状态,即长时间未接收到下一次调用请求信息,则就将所述桥接服务模块停止,具体的实施方式可以包括:The destruction processing flow is an Android system, in order to save system memory and resources, if the bridge service module is in an idle state for a long time, that is, the next call request information is not received for a long time, the bridge service module is stopped, and the specific implementation is performed. Ways can include:
组件管理服务判断预设时间内是否接收到下一次intent调用请求,若否,将所述桥接服务模块关闭。The component management service determines whether the next intent call request is received within the preset time, and if not, the bridge service module is closed.
如图5所示,本发明实施例还提供了一种调用应用程序的追踪装置,所述装置包括:组件管理服务和桥接服务模块;As shown in FIG. 5, an embodiment of the present invention further provides a tracking device for calling an application, where the device includes: a component management service and a bridge service module;
所述组件管理服务包括: The component management service includes:
获取单元501,用于接收应用程序的调用请求信息;The obtaining unit 501 is configured to receive call request information of the application;
发送单元502,用于将所述调用请求信息发送至桥接服务模块;The sending unit 502 is configured to send the call request information to the bridge service module.
所述桥接服务模块包括:The bridging service module includes:
记录单元503,用于记录所述目标应用程序,将所述调用请求信息通过所述发送单元502发送至所述目标应用程序,以调用所述目标应用程序。The recording unit 503 is configured to record the target application, and send the call request information to the target application by using the sending unit 502 to invoke the target application.
上述各单元的交互流程可以为:所述组件管理服务的获取单元501获取浏览器发送的用于请求调用应用程序的调用请求信息之后,将所述调用请求信息发送至所述发送单元502,所述发送单元502将所述调用请求信息发送至桥接服务模块的记录单元503,所述记录单元503记录所述目标应用程序,将所述调用请求信息通过所述发送单元502发送至所述目标应用程序,以调用所述目标应用程序。The interaction process of each unit may be: after acquiring the call request information sent by the browser for requesting the calling application, the acquiring unit 501 of the component management service sends the call request information to the sending unit 502. The transmitting unit 502 sends the call request information to the recording unit 503 of the bridge service module, the recording unit 503 records the target application, and sends the call request information to the target application through the sending unit 502. Program to call the target application.
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。A person skilled in the art can clearly understand that for the convenience and brevity of the description, the specific working process of the system, the device and the unit described above can refer to the corresponding process in the foregoing method embodiment, and details are not described herein again.
如图6所示,本发明实施例还提供了另一种调用应用程序的追踪装置,所述装置包括浏览器、组件管理服务和桥接服务模块;As shown in FIG. 6, the embodiment of the present invention further provides another tracking device for calling an application, where the device includes a browser, a component management service, and a bridge service module.
所述组件管理服务还包括:The component management service also includes:
第一判断单元601,用于判断所述桥接服务模块是否已启动,若否,启动所述桥接服务模块;The first determining unit 601 is configured to determine whether the bridge service module is started, and if not, start the bridge service module;
所述浏览器包括:The browser includes:
第二判断单元606,用于判断用户终端是否存在目标应用程序;The second determining unit 606 is configured to determine whether the target terminal exists in the user terminal;
所述组件管理服务包括:The component management service includes:
第二判断单元606,用于判断桥接服务模块是否正在运行;The second determining unit 606 is configured to determine whether the bridge service module is running.
获取单元602,用于获取浏览器发送的用于请求调用应用程序的调用请求信息,所述调用请求信息中包括目标应用程序的相关信息;The obtaining unit 602 is configured to obtain, by the browser, call request information for requesting to invoke an application, where the call request information includes related information of the target application;
发送单元603,用于将所述调用请求信息发送至桥接服务模块;The sending unit 603 is configured to send the call request information to the bridge service module.
所述桥接服务模块包括:The bridging service module includes:
记录单元605,用于记录所述目标应用程序,将所述调用请求信息通过所述组件管理服务发送至所述目标应用程序,以调用所述目标应用程序; a recording unit 605, configured to record the target application, and send the call request information to the target application by using the component management service to invoke the target application;
所述组件管理服务还包括:The component management service also includes:
销毁处理单元604,用于判断预设时间内是否接收下一次调用请求信息,若否,将所述桥接服务模块关闭。The destruction processing unit 604 is configured to determine whether to receive the next call request information within a preset time, and if not, close the bridge service module.
上述各单元的交互流程可以包括:The interaction process of each unit may include:
第二判断单元606判断用户终端是否安装有目标应用程序,若否,则反馈一个判断结果用于提示用户未安装目标应用程序或跳转到目标应用程序的安装界面,若第二判断单元606判断用户终端安装有目标应用程序,则跳转至第一判断单元601;The second determining unit 606 determines whether the target terminal is installed by the user terminal, and if not, feeds back a determination result for prompting the user not to install the target application or jump to the installation interface of the target application, if the second determining unit 606 determines The user terminal is installed with the target application, then jumps to the first determining unit 601;
第一判断单元601判断桥接服务模块是否正在运行,若是,则跳转至获取单元602;若否,则启动桥接服务模块,然后再跳转至获取单元602;The first determining unit 601 determines whether the bridge service module is running, and if so, jumps to the obtaining unit 602; if not, starts the bridge service module, and then jumps to the obtaining unit 602;
获取单元602获取浏览器发送的用于请求调用应用程序的调用请求信息,将所述调用请求信息发送至所述发送单元603,所述发送单元603将所述调用请求信息发送至桥接服务模块的记录单元605,所述记录单元605记录所述目标应用程序,将所述调用请求信息通过所述发送单元603发送至所述目标应用程序,以调用所述目标应用程序;The obtaining unit 602 obtains the call request information sent by the browser for requesting the calling application, sends the call request information to the sending unit 603, and the sending unit 603 sends the call request information to the bridge service module. a recording unit 605, the recording unit 605 records the target application, and sends the call request information to the target application through the sending unit 603 to invoke the target application;
发送单元603将调用请求信息发送至桥接服务模块之后,或者发送单元603接收到所述桥接服务模块发送的调用请求信息后,异或发送单元603接收到所述桥接服务模块发送的调用请求信息并将调用请求信息发送至目标应用程序之后,跳转至销毁处理单元604,销毁处理单元604判断预设时间内是否接收下一次调用请求信息,若否,将所述桥接服务模块关闭。After the sending unit 603 sends the call request information to the bridge service module, or after the sending unit 603 receives the call request information sent by the bridge service module, the XOR sending unit 603 receives the call request information sent by the bridge service module and After the call request information is sent to the target application, the process jumps to the destruction processing unit 604, and the destruction processing unit 604 determines whether the next call request information is received within the preset time. If not, the bridge service module is closed.
另外,于本发明实施例中,所述调用请求信息可以为包含有intent对象的调用请求信息。In addition, in the embodiment of the present invention, the call request information may be call request information including an intent object.
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。A person skilled in the art can clearly understand that for the convenience and brevity of the description, the specific working process of the system, the device and the unit described above can refer to the corresponding process in the foregoing method embodiment, and details are not described herein again.
另外,本实施例中,还提供一种计算机可读取存储介质7000,如图7所示,用于存储执行本实施例中提供的任意一项应用程序追踪方法的指令,以使得如图7所示的与所述计算机可读取存储介质7000具有连接关系的处理设备7100执行本实施例中提供的任意一项应用程序追踪方法的全部或 部分步骤。其中,所述处理设备7100可以是计算机设备,例如个人计算机、服务器或者网络设备,或者是计算机设备中可以用于根据指令执行对应步骤的处理器设备,例如CPU(中央处理单元)、MCU(微处理单元)等。In addition, in this embodiment, a computer readable storage medium 7000 is further provided, as shown in FIG. 7, for storing instructions for executing any one of the application tracking methods provided in this embodiment, so that FIG. 7 The illustrated processing device 7100 having a connection relationship with the computer readable storage medium 7000 performs all or any of the application tracking methods provided in the embodiment. Part of the steps. The processing device 7100 may be a computer device, such as a personal computer, a server, or a network device, or a processor device in the computer device that can be used to perform corresponding steps according to instructions, such as a CPU (Central Processing Unit), an MCU (Micro) Processing unit) and so on.
另外,附图中的流程图和框图显示了根据本发明的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。In addition, the flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block of the flowchart or block diagram can represent a module, a program segment, or a portion of code that includes one or more of the Executable instructions. It should also be noted that in some alternative implementations, the functions noted in the blocks may also occur in a different order than that illustrated in the drawings. For example, two consecutive blocks may be executed substantially in parallel, and they may sometimes be executed in the reverse order, depending upon the functionality involved. It is also noted that each block of the block diagrams and/or flowcharts, and combinations of blocks in the block diagrams and/or flowcharts, can be implemented in a dedicated hardware-based system that performs the specified function or function. Or it can be implemented by a combination of dedicated hardware and computer instructions.
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。In the several embodiments provided by the present application, it should be understood that the disclosed systems, devices, and methods may be implemented in other manners. The device embodiments described above are merely illustrative. For example, the division of the unit is only a logical function division. In actual implementation, there may be another division manner. For example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some communication interface, device or unit, and may be electrical, mechanical or otherwise.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发 明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。The functions may be stored in a computer readable storage medium if implemented in the form of a software functional unit and sold or used as a standalone product. Based on this understanding, this issue The technical solution of the present invention, or the part contributing to the prior art, may be embodied in the form of a software product stored in a storage medium, including a plurality of instructions for making a A computer device (which may be a personal computer, server, or network device, etc.) performs all or part of the steps of the methods described in various embodiments of the present invention. The foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like. .
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。It should be noted that, in this context, relational terms such as first and second are used merely to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply such entities or operations. There is any such actual relationship or order between them. Furthermore, the term "comprises" or "comprises" or "comprises" or any other variations thereof is intended to encompass a non-exclusive inclusion, such that a process, method, article, or device that comprises a plurality of elements includes not only those elements but also Other elements, or elements that are inherent to such a process, method, item, or device. An element that is defined by the phrase "comprising a ..." does not exclude the presence of additional equivalent elements in the process, method, item, or device that comprises the element.
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。 The above is only a specific embodiment of the present invention, but the scope of the present invention is not limited thereto, and any person skilled in the art can easily think of changes or substitutions within the technical scope of the present invention. It should be covered by the scope of the present invention. Therefore, the scope of the invention should be determined by the scope of the claims.

Claims (11)

  1. 一种应用程序的追踪方法,其特征在于,包括:An application tracking method, comprising:
    组件管理服务接收应用程序的调用请求信息;The component management service receives the call request information of the application;
    所述组件管理服务将所述调用请求信息发送至桥接服务模块;The component management service sends the call request information to a bridge service module;
    所述桥接服务模块记录所述应用程序的调用请求信息,将所述调用请求信息通过所述组件管理服务发送至所述应用程序,以调用所述应用程序。The bridge service module records call request information of the application, and sends the call request information to the application through the component management service to invoke the application.
  2. 根据权利要求1所述的方法,其特征在于:所述调用请求信息由浏览器发送。The method of claim 1 wherein said call request information is sent by a browser.
  3. 根据权利要求1或2所述的方法,其特征在于,还包括:The method according to claim 1 or 2, further comprising:
    判断所述桥接服务模块是否已启动,若否,启动所述桥接服务模块。Determining whether the bridge service module has been started, and if not, starting the bridge service module.
  4. 根据权利要求1-3中任意一项所述的方法,其特征在于,还包括:The method of any of claims 1-3, further comprising:
    判断预设时间内是否接收到下一次调用请求信息,若否,关闭所述桥接服务模块。It is determined whether the next call request information is received within the preset time, and if not, the bridge service module is closed.
  5. 根据权利要求1-4中任意一项所述的方法,其特征在于,所述应用程序的调用请求信息包括应用程序的身份信息;The method according to any one of claims 1 to 4, wherein the call request information of the application includes identity information of the application;
    所述桥接服务模块记录所述应用程序的调用请求信息,还包括:The bridge service module records the call request information of the application, and further includes:
    记录当前时刻的时间。Record the time of the current moment.
  6. 根据权利要求1-5中任意一项所述的方法,其特征在于,所述调用请求信息为包含有intent对象的调用请求信息。The method according to any one of claims 1 to 5, wherein the call request information is call request information including an intent object.
  7. 一种应用程序的追踪装置,其特征在于,所述装置包括:组件管理服务和桥接服务模块;An application tracking device, characterized in that the device comprises: a component management service and a bridge service module;
    所述组件管理服务包括:The component management service includes:
    获取单元,用于接收应用程序的调用请求信息;An obtaining unit, configured to receive call request information of an application;
    发送单元,用于将所述调用请求信息发送至桥接服务模块;a sending unit, configured to send the call request information to a bridge service module;
    所述桥接服务模块包括:The bridging service module includes:
    记录单元,用于记录所述应用程序的调用请求信息,将所述调用请求信息通过所述发送单元发送至所述应用程序,以调用所述应用程序。a recording unit, configured to record call request information of the application, and send the call request information to the application by using the sending unit to invoke the application.
  8. 根据权利要求7所述的调用应用程序的追踪装置,其特征在于,所 述组件管理服务还包括:A tracking device for calling an application according to claim 7, wherein The component management services also include:
    第一判断单元,用于判断所述桥接服务模块是否已启动,若否,启动所述桥接服务模块。The first determining unit is configured to determine whether the bridge service module is started, and if not, start the bridge service module.
  9. 根据权利要求7或8所述的调用应用程序的追踪装置,其特征在于,所述组件管理服务还包括:The tracking device for calling an application according to claim 7 or 8, wherein the component management service further comprises:
    销毁处理单元,用于判断预设时间内是否接收到下一次调用请求信息,若否,关闭所述桥接服务模块。The destruction processing unit is configured to determine whether the next call request information is received within a preset time, and if not, close the bridge service module.
  10. 根据权利要求7-9中任意一项所述的装置,其特征在于,所述应用程序的调用请求信息包括目标应用程序的身份信息;The apparatus according to any one of claims 7 to 9, wherein the call request information of the application includes identity information of the target application;
    所述记录单元,还用于记录当前时刻的时间。The recording unit is further configured to record the time of the current moment.
  11. 一种计算机可读存储介质,其特征在于,用于存储执行如权利要求1-6所述的任意一项应用程序追踪方法的指令。 A computer readable storage medium for storing instructions for performing any one of the application tracking methods of claims 1-6.
PCT/CN2016/108559 2015-12-24 2016-12-05 Application tracing method and device WO2017107762A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510995946.0A CN105653433B (en) 2015-12-24 2015-12-24 The method for tracing and device of a kind of application program
CN201510995946.0 2015-12-24

Publications (1)

Publication Number Publication Date
WO2017107762A1 true WO2017107762A1 (en) 2017-06-29

Family

ID=56476913

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/108559 WO2017107762A1 (en) 2015-12-24 2016-12-05 Application tracing method and device

Country Status (2)

Country Link
CN (1) CN105653433B (en)
WO (1) WO2017107762A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105653433B (en) * 2015-12-24 2018-04-13 广州市动景计算机科技有限公司 The method for tracing and device of a kind of application program
CN109885787B (en) * 2019-02-21 2021-06-22 百度在线网络技术(北京)有限公司 APP page display method and system, mobile terminal and computer readable medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120096096A1 (en) * 2010-10-13 2012-04-19 Jang Tae Ho Mobile communication terminal to provide widget expansion function using message communication, and operation method of the mobile communication terminal
CN104102537A (en) * 2013-04-07 2014-10-15 华为技术有限公司 Application calling method and user terminal
CN104462980A (en) * 2014-12-30 2015-03-25 北京奇虎科技有限公司 Authority management method, device and system of application programs and mobile terminal
CN104462978A (en) * 2014-12-24 2015-03-25 北京奇虎科技有限公司 Method and device for application program authority management
CN105653433A (en) * 2015-12-24 2016-06-08 广州市动景计算机科技有限公司 Application program tracing method and device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101320350B (en) * 2008-07-17 2010-07-14 金蝶软件(中国)有限公司 Performance monitoring method and device
CN102662815A (en) * 2012-03-12 2012-09-12 苏州萃智新技术开发有限公司 Cloud computing supervision and management system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120096096A1 (en) * 2010-10-13 2012-04-19 Jang Tae Ho Mobile communication terminal to provide widget expansion function using message communication, and operation method of the mobile communication terminal
CN104102537A (en) * 2013-04-07 2014-10-15 华为技术有限公司 Application calling method and user terminal
CN104462978A (en) * 2014-12-24 2015-03-25 北京奇虎科技有限公司 Method and device for application program authority management
CN104462980A (en) * 2014-12-30 2015-03-25 北京奇虎科技有限公司 Authority management method, device and system of application programs and mobile terminal
CN105653433A (en) * 2015-12-24 2016-06-08 广州市动景计算机科技有限公司 Application program tracing method and device

Also Published As

Publication number Publication date
CN105653433B (en) 2018-04-13
CN105653433A (en) 2016-06-08

Similar Documents

Publication Publication Date Title
US9794365B2 (en) Re-establishing push notification channels via user identifiers
WO2017071207A1 (en) Application installation method, corresponding apparatus, and application installation system
US10785320B2 (en) Managing operation of instances
EP2831796B1 (en) Persistent and resilient worker processes
WO2019228344A1 (en) Resource configuration method and apparatus, and terminal and storage medium
US9549036B2 (en) Network injected storage redirection for embedded applications
TWI622933B (en) Client update method and device
US20150067167A1 (en) Hot pluggable extensions for access management system
CN103810444B (en) The method and system of multi-tenant application isolation in a kind of cloud computing platform
US9780994B2 (en) Notification normalization
WO2017167121A1 (en) Method and device for determining and applying association relationship between application programs
US20190196848A1 (en) Plugin loading method and apparatus, terminal, and storage medium
US11265209B2 (en) System and method for dynamic and extensible management of device nodes
WO2017020781A1 (en) Power saving processing method, device, mobile terminal and cloud server
US11317276B2 (en) Methods and/or systems for activation and/or configuration of an electronic subscriber identity module (eSIM)
WO2014141180A1 (en) Host device coupled to a mobile phone and method of operating the same
CN107274222B (en) Advertisement putting method and device
Singh et al. ZapDroid: managing infrequently used applications on smartphones
WO2017107762A1 (en) Application tracing method and device
US10831883B1 (en) Preventing application installation using system-level messages
CN109218259B (en) License management method and device, APPLM functional entity and computer readable storage medium
US20230066698A1 (en) Compute instance warmup operations
US11757976B2 (en) Unified application management for heterogeneous application delivery
WO2018196613A1 (en) Application control method and device using function switches, server, and medium
CN114238021A (en) SDK interface positioning method, device, equipment and computer storage medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16877573

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 23/10/2018)

122 Ep: pct application non-entry in european phase

Ref document number: 16877573

Country of ref document: EP

Kind code of ref document: A1