Method and device for reporting a buried point, terminal and storage medium

By detecting the event tracking configuration information of the target component on the client side and dynamically obtaining the reported data from the server, the problem of not being able to dynamically modify the event tracking information in traditional event tracking solutions is solved, thus improving the configurability and flexibility of event tracking.

CN114816949BActive Publication Date: 2026-05-19TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
TENCENT TECHNOLOGY (SHENZHEN) CO LTD
Filing Date
2021-01-21
Publication Date
2026-05-19

AI Technical Summary

Technical Problem

Traditional tracking point reporting solutions cannot dynamically modify tracking point data without changing the client program, resulting in a large workload, long cycle, and low efficiency for R&D personnel.

Method used

After the client detects the preset event of the target component, it determines whether there is a matching event tracking configuration information for that component, obtains the configuration information from the server to determine the data to be reported, and prioritizes using the data in the configuration information for reporting, or directly uses the data generated by the event tracking to report.

Benefits of technology

It enables dynamic modification of the data reported by the tracking points without changing the client program, thus improving the configurability and flexibility of the tracking points.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114816949B_ABST
    Figure CN114816949B_ABST
Patent Text Reader

Abstract

The application discloses a method and device for reporting a buried point, a terminal and a storage medium. After a preset event for a target component is detected on a client, it is first judged whether there is buried point configuration information matched with the target component on the client, wherein the buried point configuration information is obtained from a server in advance. When there is the matched buried point configuration information, target reporting data matched with the preset event of the target component is obtained from the buried point configuration information and sent to the server. When there is no matched buried point configuration information, reporting data generated by the buried point is obtained and sent to the server. As known from the above process, the client can obtain the buried point configuration information from the server, and the priority of the target reporting data in the buried point configuration information is higher than that of the reporting data generated by the buried point code, so that the reporting data of the buried point can be remotely corrected after the client program is published, and the configurability and flexibility of the buried point are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to a method, apparatus, terminal and storage medium for data point reporting. Background Technology

[0002] Event tracking is a piece of code placed in the client-side code logic to collect data on preset events of specified components in the client, i.e., event tracking data, and report it to the server. For example, if there is an interactive area for advertisements on a client-side page, event tracking code can be used to obtain user clicks on that advertisement area.

[0003] The common approach to setting up event tracking in related technologies is to insert event tracking code into the client-side code. However, once the client application is released, the event tracking code cannot be modified. If modifications are needed, a new version of the client application must be released. This approach increases the workload of developers and is time-consuming and inefficient. Summary of the Invention

[0004] In view of this, this application provides a method, apparatus, terminal, and storage medium for event tracking reporting, to solve the technical problem that traditional event tracking reporting schemes cannot modify event tracking data before the client program is changed. The disclosed technical solution is as follows:

[0005] Firstly, this application provides a method for reporting event tracking points, applied to a client-side application, the method comprising:

[0006] When a preset event of the target component is detected, it is determined whether there is a tracking point configuration information that matches the target component. The tracking point configuration information is obtained from the server in advance and is used to configure the data reported by the tracking point.

[0007] If there is a tracking configuration information that matches the target component, then the reporting data that matches the preset event is obtained from the tracking configuration information and determined as the target reporting data.

[0008] If there is no matching event tracking configuration information for the target component, then the reported data generated by the event tracking of the target component is obtained and determined as the target reported data.

[0009] Send the target reported data to the server.

[0010] In one possible implementation of the first aspect, the step of determining whether there is any tracking configuration information matching the target component after detecting a preset event of the target component includes:

[0011] Once a preset event of the target component is detected, a configuration matching identifier that uniquely corresponds to the target component is generated according to the event tracking configuration matching rules.

[0012] Check if there is any event tracking configuration information in the event tracking configuration information stored locally on the client that matches the configuration matching identifier;

[0013] If there is a tracking point configuration that matches the configuration matching identifier, then it is determined that there is a tracking point configuration that matches the target component.

[0014] If no matching event tracking information exists that matches the configuration matching identifier, then it is determined that no matching event tracking information exists for the target component.

[0015] In another possible implementation of the first aspect, the method further includes:

[0016] Send a request to the server to retrieve the event tracking configuration information;

[0017] Receive the event tracking configuration file returned by the server in response to the event tracking configuration information retrieval request;

[0018] The tracking configuration file is parsed to obtain and store a set of tracking configuration objects. The set of tracking configuration objects includes a configuration matching identifier and the corresponding tracking configuration information.

[0019] In yet another possible implementation of the first aspect, after obtaining the target-reported data, the method further includes:

[0020] Write the target reported data into the reported data queue;

[0021] When the reported data queue is detected to meet the preset reporting conditions, the reported data is read from the reported data queue and sent to the server;

[0022] The preset reporting conditions include that the number of data entries in the reporting data queue is greater than or equal to a preset number of data entries, or that the time interval between the earliest unreported data in the reporting data queue and the current time is greater than or equal to a first preset time interval.

[0023] In another possible implementation of the first aspect, the method further includes:

[0024] Once the reported data queue is detected to meet the conditions for writing to the database, all data in the reported data queue is written to the database.

[0025] Once the reported data read from the reported data queue is successfully reported, the successfully reported data is deleted from the database.

[0026] In another possible implementation of the first aspect, before determining whether there is any tracking information matching the target component after detecting a preset event of the target component, the method further includes:

[0027] When the client starts up and detects that there is residual reported data in the database, it sends all the residual reported data in the database to the server.

[0028] In another possible implementation of the first aspect, deleting the successfully reported data from the database after the reported data read from the reported data queue is successfully reported includes:

[0029] Upon receiving a successful reporting message from the server, delete the reporting data in the database that matches the successful reporting message;

[0030] or,

[0031] Check whether the number of data in the database is consistent with the number of data in the reporting data queue. If they are inconsistent, calculate the difference in the number of data in the database and the reporting data queue, and delete the first few data in the database whose writing order is from earliest to latest.

[0032] In yet another possible implementation of the first aspect, the method further includes:

[0033] The client sets a custom tracking component layer, a custom common basic component, and a reporting attribute template for the common basic component. The reporting attribute template is used to obtain the reporting data set by the tracking code. The reporting data set by the tracking code is added to the tracking code through the reporting add interface set in the client.

[0034] Secondly, this application also provides a terminal, including:

[0035] Processor and memory;

[0036] The processor is used to execute the program stored in the memory;

[0037] The memory is used to store a program, which is used at least for:

[0038] When a preset event of the target component is detected, it is determined whether there is a tracking point configuration information that matches the target component. The tracking point configuration information is obtained from the server in advance and is used to configure the data reported by the tracking point.

[0039] If there is a tracking configuration information that matches the target component, then the reporting data that matches the preset event is obtained from the tracking configuration information and determined as the target reporting data.

[0040] If there is no matching event tracking configuration information for the target component, then the reported data generated by the event tracking of the target component is obtained and determined as the target reported data.

[0041] Send the target reported data to the server.

[0042] Thirdly, this application also provides a storage medium storing computer-executable instructions, which, when loaded and executed by a processor, implement the data point reporting method described in any possible implementation of the first aspect.

[0043] Fourthly, embodiments of this application also provide a computer program that, when executed on a computing device, is adapted to perform initialization of the data entry reporting method described in any possible implementation of the first aspect.

[0044] The event tracking and reporting method provided in this application, when the client detects a preset event for a target component, first determines whether there is event tracking configuration information matching the target component on the client's local machine. This event tracking configuration information is obtained from the server beforehand. If matching event tracking configuration information exists, target reporting data matching the preset event of the target component is retrieved from the event tracking configuration information and sent to the server. If no matching event tracking configuration information exists, the reporting data generated by the event tracking is retrieved and sent to the server. As can be seen from the above process, the client can obtain event tracking configuration information containing target reporting data from the server, and the target reporting data in the event tracking configuration information has a higher priority than the reporting data generated by the event tracking code. This process enables dynamic modification of reporting data without changing the client program, that is, it allows remote correction of event tracking reporting data after the client program is released, improving the configurability and flexibility of event tracking. Attached Figure Description

[0045] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only embodiments of this application. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.

[0046] Figure 1 This illustration shows a structural diagram of a data tracking system provided in an embodiment of this application.

[0047] Figure 2A flowchart of a method for reporting data points provided in an embodiment of this application is shown;

[0048] Figure 3 A flowchart of another method for reporting data points provided in an embodiment of this application is shown;

[0049] Figure 4 This document illustrates a flowchart of yet another method for reporting data points provided in an embodiment of this application.

[0050] Figure 5 This illustration shows a structural diagram of a data tracking reporting framework provided in an embodiment of this application;

[0051] Figure 6 This diagram shows a block diagram of a data point reporting device provided in an embodiment of this application;

[0052] Figure 7 A block diagram of another embedded point reporting device provided in an embodiment of this application is shown;

[0053] Figure 8 This illustration shows a block diagram of yet another embedded point reporting device provided in an embodiment of this application;

[0054] Figure 9 A block diagram of a terminal provided in an embodiment of this application is shown. Detailed Implementation

[0055] The event tracking reporting method provided in this application involves the client pre-obtaining event tracking configuration information from the server for configuring reporting data. Upon detecting a preset event of a target component on the client, the method first determines whether matching event tracking configuration information exists. If it does, the method directly retrieves the reporting data matching the preset event from the event tracking configuration information, i.e., the target reporting data. If it does not exist, the method retrieves the reporting data set for the preset event of the target component from the event tracking information. Finally, the obtained target reporting data is sent to the server. When the event tracking reporting data needs to be corrected or updated, the server publishes the corresponding event tracking configuration information. The client obtains this information from the server and uses the reporting data configured in the event tracking configuration information to replace the original reporting data set in the event tracking, or to enable components without event tracking settings to acquire event tracking functionality. This method enables remote correction of event tracking reporting data via the server even after the client program is published, improving configurability and flexibility even without event tracking.

[0056] To facilitate understanding of the event tracking reporting method in this application, the system that implements the event tracking reporting method will be introduced below.

[0057] Please see Figure 1 The diagram shows a block diagram of a data tracking reporting system provided in an embodiment of this application. The system includes a terminal 1 and a server 2.

[0058] Terminal 1 has a client program installed, which contains event tracking code. This code is used to collect preset event data from specified components on the client and report it to server 2. The event tracking code was developed and integrated into the client program by the developers before the client program was released.

[0059] In the embodiments of this application, the client can obtain the event tracking configuration information for configuring the reported data from the server 2, and then configure the reported data of the components in the client page according to the event tracking configuration information and report it to the server 2, thereby realizing remote correction of event tracking after the client is published.

[0060] The following section provides a detailed description of the entire process by which the client reports the embedded data to the server.

[0061] Please see Figure 2 The diagram illustrates a flowchart of a data tracking reporting method provided in an embodiment of this application. This method is applied in a client, such as... Figure 2 As shown, the method may include the following steps:

[0062] S110: After detecting a preset event of the target component, determine whether there is a tracking configuration information that matches the target component; if yes, execute S120; if no, execute S130.

[0063] The event tracking information is obtained from the server in advance and is used to configure the data reported by the event tracking points to the server.

[0064] The target component can be any component on the client-side page, and the preset events include, but are not limited to, passive exposure, active click, and swipe.

[0065] When a preset event is detected in a target component on the client-side page, the system first checks if there is a matching event tracking configuration on the client's local machine. This local event tracking configuration is obtained from the server.

[0066] S120: Obtain the reporting data that matches the preset event of the target component from the event tracking configuration information, and determine it as the target reporting data.

[0067] In the embodiments of this application, the reported data in the event tracking configuration information has a higher priority than the reported data in the event tracking code. Therefore, if there is event tracking configuration information in the client that matches the preset event of the target component, the reported data in the event tracking configuration information is determined to be the target reported data.

[0068] In one application scenario of this application, if the target component is a tracking component, that is, the component has corresponding tracking points set, and if there is tracking point configuration information in the client that matches the preset event of the target component, in this case, the reporting data configured in the tracking point configuration information is used to replace the reporting data set in the tracking point.

[0069] For example, an application might have a "Confirm Payment" button on one of its pages. The application's event tracking code is configured to report a "Return" action to the server upon detecting a click on this button. However, developers analyzing the event tracking data received by the server might discover an error in the reported data for the "Confirm Payment" button. In this case, the server can publish event tracking configuration information for the "Confirm Payment" button. For instance, this configuration information could set the reported data to "Payment." The client retrieves this configuration information from the server, detects a click on the button, and then reports the matching "Payment" data from the event tracking configuration to the server, ultimately achieving remote configuration of event tracking reporting.

[0070] As can be seen, this solution corrects errors in the tracking component by remotely configuring and changing the data reported by the tracking component.

[0071] In another application scenario of this application, if the target component is a codeless component (i.e., the component has no code tracking settings), and if the client has code tracking configuration information that matches the component's preset events, then the reported data in the code tracking configuration information is directly used as the target reported data. It is evident that this solution enables codeless components to acquire code tracking functionality through remote configuration.

[0072] S130: Obtain the reported data generated by the tracking points of the target component and identify it as the target reported data.

[0073] If the client does not have the same event tracking information that matches the target component's preset event, the reported data set in the event tracking will be used directly as the target reported data and reported to the server.

[0074] S140, send target reporting data to the server.

[0075] This embodiment provides a method for event tracking and reporting. When the client detects a preset event targeting a target component, it first determines whether there is event tracking configuration information matching the target component on the client's local machine. This event tracking configuration information is obtained from the server beforehand. If matching event tracking configuration information exists, the target reporting data matching the preset event of the target component is retrieved from the event tracking configuration information and sent to the server. If no matching event tracking configuration information exists, the reporting data generated by the event tracking is retrieved and sent to the server. As can be seen from the above process, the client can obtain event tracking configuration information containing target reporting data from the server, and the target reporting data in the event tracking configuration information has a higher priority than the reporting data generated by the event tracking code. This process enables dynamic modification of the reporting data without changing the client program, that is, it enables remote correction of the event tracking reporting data after the client program is released, improving the configurability and flexibility of the event tracking.

[0076] In one embodiment of this application, such as Figure 3 As shown, the data point reporting method provided in this embodiment is... Figure 2 Based on the illustrated embodiment, the following steps are also included:

[0077] S210, when the client starts, it sends a request to the server to retrieve the event tracking configuration information; this request is used to request the configuration file of the event tracking.

[0078] S220: After receiving the request to retrieve the event tracking configuration information, the server checks if the configuration file exists on the server. If it exists, proceed to S230; otherwise, proceed to S250.

[0079] S230 returns the configuration file to the client.

[0080] S240: After receiving the configuration file sent by the server, the client parses the configuration file to obtain and store the collection of event tracking configuration objects.

[0081] If the client successfully obtains the configuration file from the server, it parses the configuration file to obtain a set of event tracking configuration objects. The set of event tracking configuration objects includes configuration matching identifiers and corresponding event tracking configuration information.

[0082] S250 returns a message that the configuration file does not exist.

[0083] In one embodiment of this application, such as Figure 3 As shown, the process of determining whether there is tracking configuration information that matches the target component may include the following steps:

[0084] S111: When a preset event of the target component is detected, a configuration matching identifier that uniquely corresponds to the target component is generated according to the event tracking configuration matching rules.

[0085] The event tracking configuration matching rule is a common protocol for both the client and the server to implement event tracking configuration. This event tracking configuration matching rule is used to construct a unique mapping between a string and a client page component. That is, both the server and the client use this rule to generate the configuration matching identifier corresponding to the component.

[0086] In one embodiment of this application, the matching rule for the event tracking configuration can be: PageName / ContainerName / ViewPath / BehaviorViewName / Id.

[0087] Where PageName: the page name defined in the code, for example: front_name;

[0088] ContainerName: The name of the page container defined in the code, example: MainActivity;

[0089] ViewPath: is the path of the corresponding View in the View tree in Android. Example: LinearLayout / DecorView / RelativeLayout / ;

[0090] BehaviorViewName: The name of the View class defined in the code, example: ReportButton;

[0091] Id: The ID name of the View defined in the code, example: report_button.

[0092] For a specific View on the client-side page (i.e., the component mentioned in the text), a unique configuration matching identifier is generated for that View based on the above-mentioned tracking configuration matching rules. This configuration matching rule is flexible and allows application developers to configure the rules according to their own business characteristics.

[0093] In another embodiment of this application, a configuration matching identifier for a component can be created using information that can determine the location of the component and the component's action events.

[0094] For example, the matching rule for event tracking configuration is: PageName / Position / Action, where PageName is the page name, such as front_page; Position indicates the position of the component on the page, such as start_button; and Action indicates the action of the component, such as click.

[0095] S112, check if there is any event tracking configuration information in the client's local storage that matches the configuration matching identifier; if yes, execute S120; if no, execute S130.

[0096] The client uses its own generated configuration matching identifier to search for local event tracking information that matches the identifier. If a match is found, it indicates that a preset event matching the target component exists on the client.

[0097] If there is no matching event tracking information on the client's local machine that matches the matching identifier, it means that there is no matching event tracking information on the client that matches the preset event of the target component.

[0098] The event tracking reporting method provided in this embodiment retrieves event tracking configuration information from the server each time the client starts. If the retrieval is successful, after detecting a preset event of a component, a unique configuration matching identifier corresponding to the target component is generated. The client then checks if there is event tracking configuration information matching this identifier. If so, the reported data in the event tracking configuration information is reported; otherwise, the reported data generated by the event tracking is reported. By agreeing on a shared event tracking configuration matching rule between the client and the server, matching event tracking configuration information can be quickly found, improving the efficiency of configuration information retrieval.

[0099] Please see Figure 4 The diagram illustrates a flowchart of another data tracking reporting method provided in this embodiment. This method is applied to a client. To prevent data loss due to the application (i.e., client) process dying and then restarting, the data tracking reporting method provided in this embodiment persists the reported data (i.e., stores it in a database). Figure 4 As shown, the method is in Figure 2 After determining the target reported data in the illustrated embodiment, the following steps are also included:

[0100] S310, write the target reported data into the reported data queue.

[0101] In one embodiment of the application, the client first writes the target reporting data determined by the preset event for each target component into the reporting data queue in memory, thereby improving the data reporting speed.

[0102] S320: When it detects that the reporting data queue meets the preset reporting conditions, it reads the reporting data from the reporting data queue and sends it to the server.

[0103] In one embodiment of this application, the preset reporting condition may be that the number of data entries in the reporting data queue is greater than or equal to a preset number of entries; the preset number of entries can be set according to actual needs, for example, 30 entries.

[0104] In another embodiment of this application, the preset reporting condition may be that the current time is greater than or equal to the time of the last reported data, which is a first preset time interval. The first preset time interval can be set according to actual needs, such as 15s.

[0105] S330: When it is detected that the reported data queue meets the conditions for writing to the database, all data in the reported data queue will be written to the database.

[0106] In one embodiment of this application, a database write operation is triggered when the number of database entries in the reported data queue exceeds a preset value.

[0107] In one possible implementation of this application, the client maintains a pointer that points to the earliest reported data cursor in the current reported data queue that has not yet been written to the database, and calculates the difference between (the length of the current queue and the pointer). If the difference is greater than a preset value (e.g., 30), a database write operation is triggered. All data in the reported data queue is written to the database at once using mmap memory mapping technology. Moreover, the writing order must be consistent with the data order in the reported data queue.

[0108] S340: After the reported data read from the reported data queue is successfully reported, delete the successfully reported data from the database.

[0109] In the embodiments of this application, successfully reported data is deleted from the database to ensure that the reported data stored in the database is completely consistent with the data in the reported data queue.

[0110] In one possible implementation of this application, after the client receives a successful reporting message from the server, it deletes the reporting data in the database that matches the successful reporting message.

[0111] After the client receives a successful reporting callback message from the server, it deletes the reporting data that matches the callback message from the database.

[0112] In another possible implementation of this application, at certain time intervals, it is checked whether the number of data in the local database is consistent with the number of data in the reported data queue. If they are inconsistent, the difference between the number of data in the database and the number of data in the reported data queue (i.e., the number of data in the database - the number of data in the reported data queue) is calculated, and the first difference of data written to the database in the order from earliest to latest is deleted.

[0113] In one embodiment of this application, the purpose of writing data from the reported data queue to the database is to prevent the loss of unreported data after the application process dies. Therefore, the data tracking and reporting method may further include the following steps:

[0114] S350: When the client starts, it first checks whether there is any residual reported data in the database; if it exists, it executes S360; if it does not exist, it executes S110.

[0115] The S360 reads all the remaining reported data from the database and reports it to the server through the network module.

[0116] This embodiment is in Figure 2 Based on the illustrated embodiment, by adding the above steps, this embodiment can also... Figure 3 Based on the illustrated embodiment, the above steps are added. In this case, when the client detects that there is no residual reporting data in the database, the step of pulling the instrumentation configuration information from the server is executed.

[0117] The data reporting method provided in this embodiment persists the data in the reporting data queue to the database. When the application starts, it will check whether there is any residual reporting data in the database. If so, it will report to the server. In this way, even if the application process dies and the unreported data in the reporting data queue is lost, the unreported data stored in the database will be reported to the server, which improves the completeness and accuracy of the reported data.

[0118] The following will combine Figure 5 The structure of the data point reporting system framework is shown, and the process of the above-mentioned data point reporting method is introduced.

[0119] Before the client application is released, developers add a data tracking framework to the client application to implement the data tracking function. After the client application is released, developers remotely modify the data tracking in the client application by publishing the data tracking configuration information on the server.

[0120] First, such as Figure 5 As shown, in order to enable R&D personnel to focus only on the reported data itself and to logically decouple the reported data from the event tracking business, this application embodiment adds a reporting interface addition layer and a custom event tracking View layer in the client. The overall idea is to make the behavior reporting layer transparent to R&D by having all exposure and click components inherit the event tracking capability of the basic reporting component.

[0121] In one embodiment of this application, the reporting interface adds two ways to populate the reporting data: one is that the developers complete the data settings for the tracking point reporting through the Android XML file. The developers do not need to pay attention to the specific logic implementation of the tracking point reporting, but only need to focus on the interface and the reporting data itself; the other is to add the tracking point reporting data to the View basic component through code.

[0122] To meet the requirement of adding a layer to the reporting interface, it is necessary to customize common basic components, such as TextView, Button, RadioButton, etc., and provide a unified implementation interface for these basic components to complete the reporting of page exposure or event clicks and swipes. Set a unified attribute template for these basic components to obtain the reporting data passed in from XML / code to complete declarative event tracking.

[0123] When a preset event (such as exposure or click) occurs in a View component, the base component first checks whether there is a matching event configuration information in the event configuration information obtained from the server. If it exists, it means that the server has issued event configuration information, and in this case, the data in the event configuration information is reported. If it does not exist, it means that the server has not issued event configuration information for this component, and in this case, the data in the event code is reported.

[0124] Please see Figure 5 The client includes a configuration module that determines the target data to be reported based on the data entry point configuration information. This configuration module provides an external interface layer, which exposes two interfaces: one for generating configuration and another for retrieving configuration information.

[0125] When the client program starts, it sends a command to the configuration module through the instruction layer, requesting to pull the configuration file from the server. The configuration module sends a request to the server through the interface layer (the request contains the path of the file. After receiving the request, the server first checks if there is a file in that path. If there is, it sends it to the client). If there is, it pulls the configuration file; otherwise, it skips the process.

[0126] The configuration module retrieves configuration files from the server, which are then processed through two paths: one path stores the configuration files locally, and the other path serializes the configuration files into a collection of event tracking configuration objects using the event tracking parser and caches them. The event tracking parser is a custom event tracking parsing class designed according to a unified event tracking protocol between the client and server.

[0127] When a component on the client-side page generates a preset event, the interface in the configuration module that determines whether to generate configuration is called. Based on the event tracking configuration matching rules, a configuration matching identifier for the current component is generated. Then, the interface for retrieving configuration information is called, passing this matching identifier to query whether there is a matching event tracking configuration. The priority of reported data in the event tracking configuration information is higher than the priority of data in the event tracking code. Therefore, the event tracking reporting logic for this component will first read the reported data from the event tracking configuration information. Only if no matching event tracking configuration information is found will the data set in the event tracking code be read.

[0128] The client is equipped with a reading module (as shown in the figure, Report Reader) and a writing module (such as ReportWriter, File Writer).

[0129] Once the reported data is obtained, a write queue instruction is sent to the Report Writer module, requesting that the generated reported data be written to the reported data queue in memory (i.e., the Buffer queue).

[0130] When the data in the Buffer queue meets the conditions for writing to the database, the File Writer module is triggered to write all the reported data in the Buffer queue to the database at once, with the writing order being exactly the same as the order in the Buffer queue.

[0131] When the data in the buffer queue meets the preset reporting conditions (e.g., an interval of 15 seconds), the application-layer heartbeat mechanism triggers data reporting through the instruction layer, sending a read reporting command to the Report Reader module, and then sending the read reporting data to the server through the network module. If the server successfully receives the reported data, it sends a success callback message through the network module and deletes the successfully reported data from the database.

[0132] When the client starts, its initialization module issues a report clearing command. Upon receiving this command, the instruction layer sends a read report command to the Report Reader module, requesting the retrieval of all remaining report data in the database. If no remaining report data is found in the database, the process is skipped; otherwise, if remaining report data is found, it is read from the database and reported to the server via the network module. If this process fails, the client waits for the next heartbeat mechanism to schedule the process.

[0133] Corresponding to the above-described embodiments of the data point reporting method, this application also provides embodiments of the data point reporting device.

[0134] Please see Figure 6 The diagram shows a block diagram of a data point reporting device according to an embodiment of this application. This device is applied in a terminal, such as... Figure 6 As shown, the device includes: a first judgment module 110, a first acquisition module 120, a second acquisition module 130, and a data reporting module 140.

[0135] The first judgment module 110 is used to determine whether there is any embedded point configuration information that matches the target component after a preset event of the target component is detected.

[0136] The event tracking information is obtained from the server in advance, and the event tracking information is used to configure the data reported by the event tracking.

[0137] The first acquisition module 120 is used to acquire, when there is a tracking configuration information that matches the target component, the reporting data that matches the preset event from the tracking configuration information and determine it as the target reporting data.

[0138] The second acquisition module 130 is used to acquire the reported data generated by the tracking points of the target component when there is no tracking point configuration information matching the target component, and determine it as the target reported data.

[0139] The data reporting module 140 is used to send the target reporting data to the server.

[0140] The event tracking and reporting device provided in this application, when the client detects a preset event targeting a target component, first determines whether there is event tracking configuration information matching the target component on the client's local machine. This event tracking configuration information is obtained in advance from the server. If matching event tracking configuration information exists, the target reporting data matching the preset event of the target component is retrieved from the event tracking configuration information and sent to the server. If no matching event tracking configuration information exists, the reporting data generated by the event tracking is retrieved and sent to the server. As can be seen from the above process, the client can obtain event tracking configuration information containing target reporting data from the server, and the target reporting data in the event tracking configuration information has a higher priority than the reporting data generated by the event tracking code. This process enables dynamic modification of the reporting data without changing the client program, that is, it enables remote correction of the event tracking reporting data after the client program is released, improving the configurability and flexibility of the event tracking.

[0141] In another embodiment of this application, such as Figure 7 As shown, the device is in Figure 6 In addition to the embodiments shown, the following are also included:

[0142] The pull request sending module 210 is used to send a pull request for the instrumentation configuration information to the server.

[0143] The configuration file receiving module 220 is used to receive the instrumentation configuration file returned by the server in response to the instrumentation configuration information retrieval request.

[0144] The configuration file parsing module 230 is used to parse the event tracking configuration file to obtain and store the event tracking configuration object set, which includes a configuration matching identifier and the corresponding event tracking configuration information.

[0145] In one possible implementation of this application, the first judgment module 110 includes:

[0146] The matching identifier generation submodule 111 is used to generate a configuration matching identifier that uniquely corresponds to the target component according to the tracking point configuration matching rules after a preset event of the target component is detected.

[0147] The search submodule 112 is used to search whether there is any tracking configuration information in the tracking configuration information stored locally on the client that matches the configuration matching identifier;

[0148] When there is a tracking point configuration information that matches the configuration matching identifier, the first acquisition module 120 is triggered to execute the corresponding process; when there is no tracking point configuration information that matches the configuration matching identifier, the second acquisition module 130 is triggered to execute the corresponding process.

[0149] In yet another embodiment of this application, as Figure 8 As shown, the device is in Figure 6 Based on the illustrated embodiment, it may also include a write queue module 310, a read reporting module 320, a write database module 330, and a delete module 340.

[0150] The write queue module 310 is used to write the target reported data into the reported data queue;

[0151] The reading and reporting module 320 is used to read reporting data from the reporting data queue and send it to the server when it is detected that the reporting data queue meets the preset reporting conditions;

[0152] The preset reporting conditions include that the number of data entries in the reporting data queue is greater than or equal to a preset number of data entries, or that the time interval between the earliest unreported data in the reporting data queue and the current time is greater than or equal to a first preset time interval.

[0153] The database writing module 330 is used to write all the data in the reporting data queue into the database when the reported data queue is detected to meet the database writing conditions.

[0154] The deletion module 340 is used to delete the successfully reported data in the database after the reported data read from the reported data queue has been successfully reported.

[0155] In one possible implementation, upon receiving a successful reporting message from the server, the reporting data matching the successful reporting message in the database is deleted.

[0156] In another possible implementation, it is detected whether the number of data in the database is consistent with the number of data in the reporting data queue. If they are inconsistent, the difference in the number of data in the database and the reporting data queue is calculated, and the first few data in the database written in the order of the earliest to the latest number of data are deleted.

[0157] In this application scenario, the device also includes: a residual data reporting module 350.

[0158] The residual data reporting module 350 is used to send all residual reporting data in the database to the server when the client starts up and detects that there is residual reporting data in the database.

[0159] In another embodiment of this application, the client is provided with a reporting and adding interface layer and a custom tracking component layer, wherein the custom tracking component layer is a capability in Android used to implement a characteristic view.

[0160] The client sets a custom tracking component layer, a custom common basic component, and a reporting attribute template for the common basic component. The reporting attribute template is used to obtain the reporting data set by the tracking code. The reporting data set by the tracking code is added to the tracking code through the reporting add interface set in the client.

[0161] On the other hand, this application also provides a terminal, as shown in [reference 1]. Figure 9 The diagram illustrates a possible structural composition of the terminal in this application. The terminal in this embodiment may include a processor 410 and a memory 420.

[0162] Optionally, the terminal may also include a communication interface 430, an input unit 440, a display 450, and a communication bus 460.

[0163] The processor 410, memory 420, communication interface 430, input unit 440, and display 450 all communicate with each other through the communication bus 460.

[0164] In this embodiment, the processor 410 may be a central processing unit (CPU), an application-specific integrated circuit, a digital signal processor, an off-the-shelf programmable gate array, or other programmable logic devices.

[0165] The processor can call programs stored in memory 420. Specifically, the processor can perform the operations performed on the application server side in the following embodiment of the message sending method.

[0166] The memory 420 is used to store one or more programs, which may include program code, including computer operation instructions. In this embodiment, the memory stores at least a program for implementing the following functions:

[0167] When a preset event of the target component is detected, it is determined whether there is a tracking point configuration information that matches the target component. The tracking point configuration information is obtained from the server in advance and is used to configure the data reported by the tracking point.

[0168] If there is a tracking configuration information that matches the target component, then the reporting data that matches the preset event is obtained from the tracking configuration information and determined as the target reporting data.

[0169] If there is no matching event tracking configuration information for the target component, then the reported data generated by the event tracking of the target component is obtained and determined as the target reported data.

[0170] Send the target reported data to the server.

[0171] In one possible implementation, the step of determining whether there is any tracking information matching the target component after detecting a preset event of the target component includes:

[0172] Once a preset event of the target component is detected, a configuration matching identifier that uniquely corresponds to the target component is generated according to the event tracking configuration matching rules.

[0173] Check if there is any event tracking configuration information in the event tracking configuration information stored locally on the client that matches the configuration matching identifier;

[0174] If there is a tracking point configuration that matches the configuration matching identifier, then it is determined that there is a tracking point configuration that matches the target component.

[0175] If no matching event tracking information exists that matches the configuration matching identifier, then it is determined that no matching event tracking information exists for the target component.

[0176] In another possible implementation, the method further includes:

[0177] Send a request to the server to retrieve the event tracking configuration information;

[0178] Receive the event tracking configuration file returned by the server in response to the event tracking configuration information retrieval request;

[0179] The tracking configuration file is parsed to obtain and store a set of tracking configuration objects. The set of tracking configuration objects includes a configuration matching identifier and the corresponding tracking configuration information.

[0180] In another possible implementation, after obtaining the target-reported data, the method further includes:

[0181] Write the target reported data into the reported data queue;

[0182] When the reported data queue is detected to meet the preset reporting conditions, the reported data is read from the reported data queue and sent to the server;

[0183] The preset reporting conditions include that the number of data entries in the reporting data queue is greater than or equal to a preset number of data entries, or that the time interval between the earliest unreported data in the reporting data queue and the current time is greater than or equal to a first preset time interval.

[0184] In yet another possible implementation, the method further includes:

[0185] Once the reported data queue is detected to meet the conditions for writing to the database, all data in the reported data queue is written to the database.

[0186] Once the reported data read from the reported data queue is successfully reported, the successfully reported data is deleted from the database.

[0187] In another possible implementation, before determining whether there is any tracking information matching the target component after detecting a preset event of the target component, the method further includes:

[0188] When the client starts up and detects that there is residual reported data in the database, it sends all the residual reported data in the database to the server.

[0189] In another possible implementation, the step of deleting the successfully reported data from the database after the reported data read from the reported data queue is successfully reported includes:

[0190] Upon receiving a successful reporting message from the server, delete the reporting data in the database that matches the successful reporting message;

[0191] or,

[0192] Check whether the number of data in the database is consistent with the number of data in the reporting data queue. If they are inconsistent, calculate the difference in the number of data in the database and the reporting data queue, and delete the first few data in the database whose writing order is from earliest to latest.

[0193] In another possible implementation, the method further includes: defining a custom common basic component through a custom event tracking component layer set in the client, and setting a reporting attribute template for the common basic component. The reporting attribute template is used to obtain the reporting data set by the event tracking code, and the reporting data set by the event tracking code is added to the event tracking code through the reporting addition interface set in the client.

[0194] In one possible implementation, the memory 420 may include a program storage area and a data storage area. The program storage area may store the operating system and applications required for at least one function (such as image playback function); the data storage area may store data created during computer use, such as user data and image data.

[0195] In addition, memory 420 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device or other volatile solid-state storage device.

[0196] The communication interface 430 can be an interface for a communication module, such as the interface for a GSM module.

[0197] This application may also include a display 450 and an input unit 440, etc.

[0198] certainly, Figure 9 The structure of the terminal shown does not constitute a limitation on the terminal in the embodiments of this application. In practical applications, the terminal may include more than [other components]. Figure 9 More or fewer components as shown, or combinations of certain components.

[0199] On the other hand, this application embodiment also provides a storage medium storing computer-executable instructions. When the computer-executable instructions are loaded and executed by a processor, the data point reporting method executed on the terminal side in any of the above embodiments is implemented.

[0200] In another aspect, embodiments of this application also provide a computer program that, when executed on a computing device, is adapted to execute an initialization program having the following method steps:

[0201] When a preset event of the target component is detected, it is determined whether there is a tracking point configuration information that matches the target component. The tracking point configuration information is obtained from the server in advance and is used to configure the data reported by the tracking point.

[0202] If there is a tracking configuration information that matches the target component, then the reporting data that matches the preset event is obtained from the tracking configuration information and determined as the target reporting data.

[0203] If there is no matching event tracking configuration information for the target component, then the reported data generated by the event tracking of the target component is obtained and determined as the target reported data.

[0204] Send the target reported data to the server.

[0205] In one possible implementation, the step of determining whether there is any tracking information matching the target component after detecting a preset event of the target component includes:

[0206] Once a preset event of the target component is detected, a configuration matching identifier that uniquely corresponds to the target component is generated according to the event tracking configuration matching rules.

[0207] Check if there is any event tracking configuration information in the event tracking configuration information stored locally on the client that matches the configuration matching identifier;

[0208] If there is a tracking point configuration that matches the configuration matching identifier, then it is determined that there is a tracking point configuration that matches the target component.

[0209] If no matching event tracking information exists that matches the configuration matching identifier, then it is determined that no matching event tracking information exists for the target component.

[0210] In another possible implementation, the method further includes:

[0211] Send a request to the server to retrieve the event tracking configuration information;

[0212] Receive the event tracking configuration file returned by the server in response to the event tracking configuration information retrieval request;

[0213] The tracking configuration file is parsed to obtain and store a set of tracking configuration objects. The set of tracking configuration objects includes a configuration matching identifier and the corresponding tracking configuration information.

[0214] In another possible implementation, after obtaining the target-reported data, the method further includes:

[0215] Write the target reported data into the reported data queue;

[0216] When the reported data queue is detected to meet the preset reporting conditions, the reported data is read from the reported data queue and sent to the server;

[0217] The preset reporting conditions include that the number of data entries in the reporting data queue is greater than or equal to a preset number of data entries, or that the time interval between the earliest unreported data in the reporting data queue and the current time is greater than or equal to a first preset time interval.

[0218] In yet another possible implementation, the method further includes:

[0219] Once the reported data queue is detected to meet the conditions for writing to the database, all data in the reported data queue is written to the database.

[0220] Once the reported data read from the reported data queue is successfully reported, the successfully reported data is deleted from the database.

[0221] In another possible implementation, before determining whether there is any tracking information matching the target component after detecting a preset event of the target component, the method further includes:

[0222] When the client starts up and detects that there is residual reported data in the database, it sends all the residual reported data in the database to the server.

[0223] In another possible implementation, the step of deleting the successfully reported data from the database after the reported data read from the reported data queue is successfully reported includes:

[0224] Upon receiving a successful reporting message from the server, delete the reporting data in the database that matches the successful reporting message;

[0225] or,

[0226] Check whether the number of data in the database is consistent with the number of data in the reporting data queue. If they are inconsistent, calculate the difference in the number of data in the database and the reporting data queue, and delete the first few data in the database whose writing order is from earliest to latest.

[0227] In another possible implementation, the method further includes: defining a custom common basic component through a custom event tracking component layer set in the client, and setting a reporting attribute template for the common basic component. The reporting attribute template is used to obtain the reporting data set by the event tracking code, and the reporting data set by the event tracking code is added to the event tracking code through the reporting addition interface set in the client.

[0228] It should be noted that the various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For apparatus embodiments, since they are basically similar to method embodiments, the description is relatively simple; relevant parts can be referred to the descriptions in the method embodiments.

[0229] Finally, it should be noted that in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes the element.

[0230] The above description of the disclosed embodiments enables those skilled in the art to make or use the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the invention. Therefore, the invention is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

[0231] The above are merely preferred embodiments of the present invention. It should be noted that those skilled in the art can make various improvements and modifications without departing from the principle of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.

Claims

1. A method for reporting data points, characterized in that, Applied to a client, the method includes: When the target component is a tracking component, after a preset event of the target component is detected, it is determined whether there is tracking configuration information that matches the target component based on the configuration matching identifier corresponding to the target component. The tracking configuration information is obtained from the server in advance and is used to configure the data reported by the tracking. The process of obtaining the tracking configuration information includes sending a tracking configuration information retrieval request to the server; receiving the tracking configuration file returned by the server in response to the tracking configuration information retrieval request; parsing the tracking configuration file to obtain a tracking configuration object set and storing it. The tracking configuration object set includes a configuration matching identifier and the corresponding tracking configuration information. If there is a tracking configuration information that matches the target component, then the reporting data that matches the preset event is obtained from the tracking configuration information and determined as the target reporting data. The target reporting data is used to cover the reporting data set in the tracking. If there is no matching event tracking configuration information for the target component, then the reported data generated by the event tracking of the target component is obtained and determined as the target reported data. Send the target reported data to the server; When the target component is a component without code tracking, after a preset event of the target component is detected, it is determined whether there is code tracking configuration information that matches the target component based on the configuration matching identifier corresponding to the target component. If there is a tracking configuration information that matches the target component, the reporting data that matches the preset event is directly obtained from the tracking configuration information and sent to the server as the target reporting data. The client sets a custom tracking component layer, a custom common basic component, and a reporting attribute template for the common basic component. The reporting attribute template is used to obtain the reporting data set by the tracking code. The reporting data set by the tracking code is added to the tracking code through the reporting add interface set in the client.

2. The method according to claim 1, characterized in that, The step of determining whether there is a matching event configuration information for the target component after detecting a preset event of the target component, based on the configuration matching identifier corresponding to the target component, includes: Once a preset event of the target component is detected, a configuration matching identifier that uniquely corresponds to the target component is generated according to the event tracking configuration matching rules. Check if there is any event tracking configuration information in the event tracking configuration information stored locally on the client that matches the configuration matching identifier; If there is a tracking point configuration that matches the configuration matching identifier, then it is determined that there is a tracking point configuration that matches the target component. If no matching event tracking information exists that matches the configuration matching identifier, then it is determined that no matching event tracking information exists for the target component.

3. The method according to claim 1, characterized in that, After obtaining the target-reported data, the method further includes: Write the target reported data into the reported data queue; When the reported data queue is detected to meet the preset reporting conditions, the reported data is read from the reported data queue and sent to the server; The preset reporting conditions include that the number of data entries in the reporting data queue is greater than or equal to a preset number of data entries, or that the time interval between the earliest unreported data in the reporting data queue and the current time is greater than or equal to a first preset time interval.

4. The method according to claim 3, characterized in that, The method further includes: Once the reported data queue is detected to meet the conditions for writing to the database, all data in the reported data queue is written to the database. Once the reported data read from the reported data queue is successfully reported, the successfully reported data is deleted from the database.

5. The method according to claim 4, characterized in that, Before determining whether there is any tracking information matching the target component after detecting a preset event of the target component, the method further includes: When the client starts up and detects that there is residual reported data in the database, it sends all the residual reported data in the database to the server.

6. The method according to claim 4, characterized in that, The step of deleting the successfully reported data from the database after the reported data read from the reported data queue is successfully reported includes: Upon receiving a successful reporting message from the server, delete the reporting data in the database that matches the successful reporting message; or, Check whether the number of data in the database is consistent with the number of data in the reporting data queue. If they are inconsistent, calculate the difference in the number of data in the database and the reporting data queue, and delete the first few data in the database whose writing order is from earliest to latest.

7. A terminal, characterized in that, include: Processor and memory; The processor is used to execute the program stored in the memory; The memory is used to store a program, which is used at least for: When the target component is a tracking component, upon detecting a preset event of the target component, it is determined whether there is tracking configuration information matching the target component based on the configuration matching identifier corresponding to the target component. The tracking configuration information is obtained from the server in advance and is used to configure the data reported by the tracking. The process of obtaining the tracking configuration information includes sending a tracking configuration information retrieval request to the server; receiving the tracking configuration file returned by the server in response to the tracking configuration information retrieval request; parsing the tracking configuration file to obtain and store a set of tracking configuration objects, the set of tracking configuration objects including a configuration matching identifier and the corresponding tracking configuration information; the preset event includes passive exposure, active click, or swipe. If there is a tracking configuration information that matches the target component, then the reporting data that matches the preset event is obtained from the tracking configuration information and determined as the target reporting data. The target reporting data is used to cover the reporting data set in the tracking. If there is no matching event tracking configuration information for the target component, then the reported data generated by the event tracking of the target component is obtained and determined as the target reported data. Send the target reported data to the server; When the target component is a no-code component, after a preset event of the target component is detected, it is determined whether there is a code configuration information that matches the target component based on the configuration matching identifier corresponding to the target component; if there is a code configuration information that matches the target component, the reporting data that matches the preset event is directly obtained from the code configuration information and sent to the server as the target reporting data. The client sets a custom tracking component layer, a custom common basic component, and a reporting attribute template for the common basic component. The reporting attribute template is used to obtain the reporting data set by the tracking code. The reporting data set by the tracking code is added to the tracking code through the reporting addition interface set in the client.

8. A data point reporting device, characterized in that, Applied to a client, the device includes: a first judgment module, a first acquisition module, a second acquisition module, and a data reporting module; The first judgment module is used to determine whether there is any tracking configuration information matching the target component when the target component is a tracking component and a preset event of the target component is detected. The tracking configuration information is obtained from the server in advance and is used to configure the data reported by the tracking. The process of obtaining the tracking configuration information includes sending a tracking configuration information retrieval request to the server; receiving the tracking configuration file returned by the server in response to the tracking configuration information retrieval request; parsing the tracking configuration file to obtain and store a tracking configuration object set, the tracking configuration object set including a configuration matching identifier and the corresponding tracking configuration information. The first acquisition module is used to obtain the reporting data matching the preset event from the tracking configuration information when there is tracking configuration information matching the target component, and determine it as the target reporting data. The target reporting data is used to overwrite the reporting data set in the tracking. The second acquisition module is used to acquire the reported data generated by the tracking points of the target component when there is no tracking point configuration information matching the target component, and determine it as the target reported data; The data reporting module is used to send the target reporting data to the server; The event tracking and reporting device is further configured to, when the target component is a non-event component, determine whether there is event tracking configuration information matching the target component based on the configuration matching identifier corresponding to the target component after detecting a preset event of the target component; if there is event tracking configuration information matching the target component, directly obtain the reporting data matching the preset event from the event tracking configuration information and send it to the server as target reporting data; through the custom event tracking component layer set in the client, a custom common basic component is defined, and a reporting attribute template is set for the common basic component. The reporting attribute template is used to obtain the reporting data set by the event tracking code, and the reporting data set by the event tracking code is added to the event tracking code through the reporting addition interface set in the client.

9. The apparatus according to claim 8, characterized in that, The first judgment module includes: The matching identifier generation submodule is used to generate a configuration matching identifier that uniquely corresponds to the target component according to the tracking point configuration matching rules after a preset event of the target component is detected. The search submodule is used to search whether there is any tracking configuration information in the tracking configuration information stored locally on the client that matches the configuration matching identifier; When a matching event tracking information exists that matches the configuration matching identifier, the first acquisition module is triggered to execute the corresponding process; when no matching event tracking information exists, the second acquisition module is triggered to execute the corresponding process.

10. The apparatus according to claim 8, characterized in that, It also includes a queue writing module, a report reading module, a database writing module, and a deletion module; The write queue module is used to write the target reported data into the reported data queue; The reading and reporting module is used to read reporting data from the reporting data queue and send it to the server when it is detected that the reporting data queue meets the preset reporting conditions; The preset reporting conditions include that the number of data entries in the reporting data queue is greater than or equal to a preset number of data entries, or that the time interval between the earliest unreported data in the reporting data queue and the current time is greater than or equal to a first preset time interval.

11. The apparatus according to claim 10, characterized in that, The database writing module is used to write all the data in the reporting data queue into the database when the reported data queue is detected to meet the database writing conditions. The deletion module is used to delete the successfully reported data from the database after the reported data read from the reported data queue has been successfully reported.

12. The apparatus according to claim 11, characterized in that, The device further includes: a residual data reporting module; The residual data reporting module is used to send all residual reporting data in the database to the server when the client starts up and detects that there is residual reporting data in the database.

13. The apparatus according to claim 11, characterized in that, Upon receiving a successful reporting message from the server, delete the reporting data in the database that matches the successful reporting message; Check whether the number of data in the database is consistent with the number of data in the reporting data queue. If they are inconsistent, calculate the difference in the number of data in the database and the reporting data queue, and delete the first few data in the database whose writing order is from earliest to latest.

14. A storage medium, characterized in that, The storage medium stores computer-executable instructions, which, when loaded and executed by a processor, implement the data point reporting method as described in any one of claims 1 to 6.

15. A readable storage medium, characterized in that, It stores a computer program, which is loaded and executed by a processor to implement the data point reporting method as described in any one of claims 1 to 6 above.

16. A computer program product, characterized in that, The computer program product includes instructions that, when executed on a computer device, implement the data point reporting method as described in any one of claims 1 to 6.