Advertisement display method, terminal equipment and computer readable storage medium
By predicting the application startup time, the problem of slow display of open-screen ads in terminal devices and inaccurate estimates of contract advertising traffic is solved, and fast display and accurate delivery are achieved.
Patent Information
- Application Number
- CN202410178340.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-02-08
- Publication Date
- 2025-08-08
AI Technical Summary
In the prior art, the terminal device displays open-screen advertisements at a slow speed when starting an application, resulting in poor user experience and it is difficult to ensure the traffic estimate and allocation accuracy of contract advertisements.
The terminal device predicts the startup time of the target application and obtains and caches advertisements from the advertising server before the preset time threshold, ensuring that the application is directly displayed when it is started, reducing real-time acquisition time, improving display speed and impression rate, and reducing over-delivery through accurate time control.
It improves the display speed and display rate of open-screen ads, ensures the accuracy of traffic estimates and distribution of contract ads, and improves user experience.
Smart Images

Figure CN120447984A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of terminal technology, and in particular relates to an advertisement display method, a terminal device, and a computer-readable storage medium. Background Art
[0002] When an app launches, the terminal device typically displays a splash screen ad before displaying the app's homepage. Currently, when an app launches, the terminal device typically sends an ad request to an ad server to display a splash screen ad. However, as the creative formats of splash screen ads grow and their sizes increase, the time it takes for the terminal device to retrieve the ad is also increasing, resulting in slower display speeds. Summary of the Invention
[0003] The embodiments of the present application provide an advertisement display method, a terminal device, and a computer-readable storage medium, which can increase the display speed of splash screen advertisements.
[0004] In a first aspect, an embodiment of the present application provides an advertisement display method, applied to a terminal device, the method comprising:
[0005] detecting a first operation, where the first operation is an operation of starting a target application;
[0006] In response to the first operation, a first advertisement is displayed, the first advertisement is stored in the terminal device, the first advertisement is obtained by the terminal device from the advertising server at a first time, the first time is determined based on a first target startup time, the first time is earlier than the first target startup time, and the interval between the first time and the first target startup time is less than or equal to a preset time threshold, and the first target startup time is the time predicted by the terminal device to start the target application.
[0007] In the above-mentioned advertisement display method, a terminal device can predict in advance a first target launch time corresponding to a target application and, based on the first target launch time, determine a first time that is earlier than the first target launch time but has an interval less than or equal to a preset time threshold. This allows the terminal device to retrieve a first advertisement to be displayed from an advertisement server in advance at the first time and store the retrieved first advertisement in the terminal device. When the terminal device detects a first operation to launch the target application, the terminal device can directly display the first advertisement stored in the terminal device without having to retrieve the first advertisement from the advertisement server in real time. This can improve the display speed of the first advertisement, enhance the user experience, and increase the display rate of the first advertisement. Furthermore, because the first time is determined to be earlier than the first target launch time based on the predicted first target launch time but has an interval less than or equal to the preset time threshold, the first advertisement retrieved by the terminal device at the first time is retrieved from the advertisement server shortly before the target application is launched. This allows the terminal device to accurately determine whether the displayed advertisement has stopped being delivered, thereby reducing overdelivery of advertisements and ensuring the accuracy of traffic estimation and allocation for contracted advertisements.
[0008] It should be understood that the first target launch time and the second target launch time described below can be collectively referred to as the target launch time. The target launch time refers to the time at which the terminal device predicts that the user is likely to launch the target application. The first time refers to the time at which the first advertisement is retrieved in advance, determined based on the first target launch time and a preset time threshold.
[0009] Exemplarily, the first time may be the first target startup time minus the preset time threshold. The preset time threshold may be determined based on the actual scenario, and the embodiments of the present application do not impose specific restrictions thereon. For example, the preset time threshold may be determined by default to be 15 minutes, 10 minutes, or 8 minutes, etc., based on the actual scenario. That is, the terminal device may request the first advertisement from the advertising server in advance at the first time that is separated from the first target startup time by the preset time threshold, and may save the obtained first advertisement in the terminal device, so that when the user starts the target application at the first target startup time or after the first target startup time, the terminal device may directly display the first advertisement obtained and saved in advance without the need to interact with the advertising server to obtain the first advertisement in real time, thereby realizing the instant opening capability of advertisements, improving the display speed of advertisements, and improving the display rate of advertisements, and improving the startup speed of the target application, that is, when the user starts the target application, he or she may quickly enter the interface of the target application, thereby improving the user experience.
[0010] In a possible implementation, the method further includes:
[0011] Obtain a historical startup time of the target application, and predict the first target startup time based on the historical startup time.
[0012] In the advertising display method provided by this implementation, the terminal device can predict the time when the user may start the target application next time based on the time when the user has started the target application in history. That is, the time when the user has started the target application in history is analyzed to determine the time when the user may start the target application next time (that is, the first target startup time), which can improve the accuracy of the prediction of the first target startup time.
[0013] Optionally, a time prediction model is provided in the terminal device, and predicting the first target startup time according to the historical startup time includes:
[0014] The first target startup time is predicted according to the time prediction model and the historical startup time.
[0015] In the advertisement display method provided by this optional approach, a time prediction model may be provided in the terminal device. The terminal device may use the trained time prediction model to predict the first target startup time, thereby improving the accuracy of the first target startup time prediction. For example, the terminal device may input the historical startup time of the target application into the time prediction model for processing. The time prediction model may predict the first target startup time corresponding to the target application based on the historical startup time of the target application.
[0016] Exemplarily, the time prediction model may be a model constructed based on statistics, or may be a model constructed based on machine learning or deep learning, etc.
[0017] Exemplarily, the method further includes:
[0018] The first time is determined according to the first target start time and the preset time threshold, and a first scheduled task is set according to the first time. The first scheduled task is to send a first advertisement request to the advertising server at the first time to request to obtain the first advertisement.
[0019] Exemplarily, the method further includes:
[0020] Obtaining a first advertisement returned by the advertisement server and saving the first advertisement, where the first advertisement is the advertisement returned by the advertisement server in response to a first advertisement request sent by the terminal device;
[0021] According to the material address in the first advertisement, the material file corresponding to the first advertisement is downloaded and saved.
[0022] In the advertisement display method provided in this example, after the terminal device determines the first target startup time, it can determine the first time based on the first target startup time and the preset time threshold, and can set a timer task based on the first time, so as to send an advertisement request to the advertisement server in advance at the first time to obtain the first advertisement, and can save the obtained first advertisement and the material file corresponding to the first advertisement in the terminal device, so that the first advertisement can be quickly displayed the next time the user starts the target application, thereby improving the display speed of the first advertisement. In addition, since the time from the obtained first advertisement to the time when the user starts the target application is short, it is possible to accurately determine whether the displayed advertisement has stopped being delivered, which can reduce the over-delivery of advertisements and ensure the accuracy of the traffic estimation and allocation of contract advertisements.
[0023] Exemplarily, the method further includes:
[0024] At a second time, the first advertisement is deleted, and the second time is when the first advertisement expires.
[0025] In the example advertisement display method, after receiving a first advertisement, the terminal device can detect whether the first advertisement has expired based on the expiration time of the first advertisement. If the first advertisement is determined to have expired, the terminal device can delete the first advertisement to reduce terminal device memory usage and avoid displaying expired advertisements, thereby reducing over-delivery of advertisements and ensuring the accuracy of traffic estimation and allocation for contracted advertisements.
[0026] In a possible implementation, the method further includes:
[0027] Determining a third time according to a second target startup time and the preset time threshold, wherein the second target startup time is a time predicted by the terminal device to start the target application, and the second target startup time is later than the first target startup time;
[0028] Setting a second scheduled task according to the third time, wherein the second scheduled task is to send a second advertisement request to the advertisement server at the third time to request for obtaining a second advertisement;
[0029] After acquiring the second advertisement returned by the advertisement server, the first advertisement is deleted and the second advertisement is determined as the first advertisement, where the second advertisement is the advertisement returned by the advertisement server in response to the second advertisement request.
[0030] In the advertising display method provided by this implementation, the predicted target startup time may also include a second target startup time, and the second target startup time may be later than the first target startup time. The terminal device may also determine a third time based on the second target startup time, so as to obtain an advertisement (i.e., a second advertisement) in advance at the third time, and after obtaining the second advertisement, the first advertisement obtained based on the previous first time may be deleted, which can reduce the memory usage of the terminal device and make the advertisement displayed when the target application is started the latest advertisement, thereby improving the user experience and improving the display efficiency of advertisements.
[0031] In one example, displaying a first advertisement in response to the first operation includes:
[0032] In response to the first operation, determining whether the first advertisement is stored in the terminal device;
[0033] When the first advertisement is stored in the terminal device, the first advertisement is displayed.
[0034] In another example, displaying a first advertisement in response to the first operation includes:
[0035] In response to the first operation, determining whether the first advertisement is stored in the terminal device;
[0036] When the first advertisement is not stored in the terminal device, the interface of the target application is displayed.
[0037] In the advertisement display method provided in this example, when a first operation is detected, the terminal device can determine whether a first advertisement is stored in the terminal device. When the first advertisement is stored, the terminal device can directly display the first advertisement. For example, the advertisement can be displayed at a location corresponding to the target application according to the advertisement slot corresponding to the target application without displaying a waiting page. This can increase the display speed of the advertisement, increase the display rate of the advertisement, increase the startup speed of the application, and improve the user experience. When the first advertisement is not stored, the terminal device can directly display the interface of the target application without displaying a waiting page, thereby increasing the startup speed of the application and improving the user experience.
[0038] Exemplarily, the first advertisement is a splash screen advertisement.
[0039] In a second aspect, an embodiment of the present application provides an advertisement display device, applied to a terminal device, the device comprising:
[0040] A detection module, configured to detect a first operation, where the first operation is an operation of starting a target application;
[0041] An advertisement display module is used to display a first advertisement in response to the first operation, where the first advertisement is stored in the terminal device, and the first advertisement is obtained by the terminal device from the advertisement server at a first time, where the first time is determined based on a first target startup time, where the first time is earlier than the first target startup time, and where the interval between the first time and the first target startup time is less than or equal to a preset time threshold, and where the first target startup time is the time predicted by the terminal device for starting the target application.
[0042] In a possible implementation, the apparatus further includes:
[0043] The time prediction module is used to obtain the historical startup time of the target application and predict the first target startup time based on the historical startup time.
[0044] Optionally, a time prediction model is provided in the terminal device, and the time prediction module is further used to predict the first target startup time according to the time prediction model and the historical startup time.
[0045] Exemplarily, the device further includes:
[0046] The first task setting module is used to determine the first time according to the first target start time and the preset time threshold, and set a first scheduled task according to the first time, wherein the first scheduled task is to send a first advertisement request to the advertising server at the first time to request to obtain the first advertisement.
[0047] Exemplarily, the device further includes:
[0048] an advertisement acquisition module, configured to acquire a first advertisement returned by the advertisement server and save the first advertisement, wherein the first advertisement is the advertisement returned by the advertisement server in response to the first advertisement request sent by the terminal device;
[0049] The material downloading module is used to download the material file corresponding to the first advertisement according to the material address in the first advertisement, and save the material file corresponding to the first advertisement.
[0050] Exemplarily, the device further includes:
[0051] The first advertisement deleting module is configured to delete the first advertisement at a second time, where the second time is when the first advertisement expires.
[0052] In a possible implementation, the apparatus further includes:
[0053] a second task setting module, configured to determine a third time based on a second target startup time and the preset time threshold, where the second target startup time is a time predicted by the terminal device for starting the target application, and the second target startup time is later than the first target startup time; and set a second scheduled task based on the third time, where the second scheduled task is to send a second advertisement request to the advertising server at the third time to request a second advertisement;
[0054] The second advertisement deleting module is configured to delete the first advertisement after obtaining the second advertisement returned by the advertisement server, and determine the second advertisement as the first advertisement, where the second advertisement is the advertisement returned by the advertisement server in response to the second advertisement request.
[0055] In one example, the advertisement display module is further configured to, in response to the first operation, determine whether the first advertisement is stored in the terminal device; and display the first advertisement when the first advertisement is stored in the terminal device.
[0056] In another example, the advertisement display module is further configured to determine, in response to the first operation, whether the first advertisement is stored in the terminal device; and display the interface of the target application when the first advertisement is not stored in the terminal device.
[0057] Exemplarily, the first advertisement is a splash screen advertisement.
[0058] In a third aspect, an embodiment of the present application provides a terminal device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the terminal device implements the advertising display method described in any one of the first aspects above.
[0059] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program. When the computer program is executed by a computer, the computer implements the advertisement display method described in any one of the first aspects above.
[0060] In a fifth aspect, an embodiment of the present application provides a computer program product. When the computer program product is run on a terminal device, the terminal device executes the advertisement display method described in any one of the above-mentioned first aspects.
[0061] It can be understood that the beneficial effects of the second to fifth aspects mentioned above can be found in the relevant description of the first aspect mentioned above, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0062] Figure 1Schematic diagram of the structure of a terminal device to which the advertisement display method provided in the embodiment of the present application is applicable;
[0063] Figure 2 Schematic diagram of the software architecture to which the advertisement display method provided in the embodiment of the present application is applicable;
[0064] Figure 3 This is a flowchart of an advertisement display method provided by an embodiment of the present application;
[0065] Figure 4 is a flowchart of an advertisement display method provided by another embodiment of the present application;
[0066] Figure 5 This is a flow chart of an advertisement display method provided in another embodiment of the present application. DETAILED DESCRIPTION
[0067] It should be understood that when used in the present specification and the appended claims, the term "comprising" indicates the presence of described features, integers, steps, operations, elements and / or components, but does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or collections thereof.
[0068] It will also be understood that the term "and / or" used in this specification and the appended claims refers to and includes any and all possible combinations of one or more of the associated listed items.
[0069] As used in this specification and the appended claims, the term "if" can be interpreted as "when" or "upon" or "in response to determining" or "in response to detecting," depending on the context. Similarly, the phrase "if it is determined" or "if [described condition or event] is detected" can be interpreted as meaning "upon determination" or "in response to determining" or "upon detection of [described condition or event]" or "in response to detecting [described condition or event]," depending on the context.
[0070] In addition, in the description of the present application specification and the appended claims, the terms "first", "second", "third", etc. are only used to distinguish the descriptions and cannot be understood as indicating or implying relative importance.
[0071] References to "one embodiment" or "some embodiments" in this specification mean that a particular feature, structure, or characteristic described in conjunction with that embodiment is included in one or more embodiments of the present application. Thus, phrases such as "in one embodiment," "in some embodiments," "in other embodiments," and "in other embodiments" appearing in various places in this specification do not necessarily refer to the same embodiment, but rather mean "one or more but not all embodiments," unless otherwise specifically emphasized. The terms "including," "comprising," "having," and variations thereof all mean "including but not limited to," unless otherwise specifically emphasized.
[0072] In addition, the “plurality” mentioned in the embodiments of the present application should be interpreted as two or more.
[0073] The steps involved in the advertisement display method provided in the embodiments of this application are merely examples. Not all steps are required, and not all information or message content is mandatory. These steps may be added or removed as needed during use. The same step, or steps or messages with the same function, in different embodiments of this application may be used as a reference for mutual reference.
[0074] The business scenarios described in the embodiments of the present application are intended to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided in the embodiments of the present application. Ordinary technicians in this field will know that with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.
[0075] When an app launches, the terminal device typically displays a splash screen ad before displaying the app's homepage. Splash screen ads are typically requested in real time. That is, upon app launch, the terminal device sends a real-time ad request to the ad server, requesting the splash screen ad to be displayed. It typically takes time for the terminal device to interact with the ad server to retrieve the splash screen ad. During this time, the app typically displays a default image as a waiting page to prevent users from thinking they've clicked the icon for a long time without receiving a response.
[0076] As the creative forms of splash screen ads become richer, the size of splash screen ads is getting bigger and bigger, and the time it takes for terminal devices to obtain splash screen ads is also getting longer and longer, resulting in the terminal devices displaying splash screen ads more slowly. As a result, when users start the application, they need to wait a long time before entering the application's homepage, resulting in a poor user experience. In addition, the display of splash screen ads has time requirements. Generally, if the splash screen ad is not obtained for more than 2 seconds or the material file is not downloaded successfully, the terminal device will directly enter the application's homepage and will no longer display the splash screen ad to avoid affecting the application startup experience. In other words, if the terminal device displays the splash screen ad slowly, it will result in a low display rate for splash screen ads containing large files.
[0077] To increase the display speed of splash screen ads, enhance user experience, and increase the display rate of splash screen ads, you can display splash screen ads in the following two ways.
[0078] Method 1: Each time an app is launched, the terminal device can send an ad request to the ad server to request a splash screen ad (such as ad content and creative files, etc.), and request the creative files that the app may display in the future, and save the acquired creative files on the terminal device. The next time the app is launched, if the creative files required for the splash screen ad are already cached on the terminal device, when the terminal device requests the splash screen ad from the ad server, it can only obtain the ad content without downloading the creative files. This can reduce the download time of the creative files, thereby increasing the display speed of the splash screen ad, improving the user experience, and increasing the display rate of the splash screen ad.
[0079] Method 2: Each time an app is launched, the device sends an ad request to the ad server for a splash screen ad (e.g., ad content and creative files). The ad server then caches the splash screen ad returned by the ad server on the device. The next time the app is launched, the device directly displays the cached splash screen ad, reducing the time it takes to retrieve the splash screen ad, increasing its display speed, enhancing the user experience, and boosting its visibility.
[0080] Method 1 reduces download time by precaching creative files, which can improve the display speed of splash ads to a certain extent. However, to accurately estimate and allocate traffic for contracted ads and ensure advertising effectiveness, the terminal device still needs to send an ad request to the ad server upon app launch to obtain the corresponding ad content. This means that when the app launches, the terminal device still needs to interact with the ad server before the splash ad can be displayed. This still results in slower display speeds, affecting the display rate of splash ads.
[0081] Method 2, by caching the splash screen ads obtained at the last startup, can increase the display speed and display rate of splash screen ads. However, since the splash screen ads displayed each time are the splash screen ads cached when the application was last started, it is impossible to sense whether the splash screen ads have stopped being delivered, which may cause overdelivery problems and affect the traffic estimation and allocation of contract ads, resulting in inaccurate traffic control and estimation of contract ads, affecting advertising effectiveness.
[0082] From the above, it can be seen that how to improve the display speed of splash screen ads while meeting the traffic estimation and allocation accuracy of contract ads has become an urgent problem to be solved by those skilled in the art.
[0083] To solve the above problems, an embodiment of the present application provides an advertisement display method, a terminal device, and a computer-readable storage medium. In this method, the terminal device can predict the target startup time corresponding to the target application in advance, and can determine a first time that is earlier than the target startup time but the interval between the target startup time and the target startup time is less than or equal to a preset time threshold based on the target startup time, so as to obtain the first advertisement to be displayed from the advertisement server in advance at the first time, and can save the obtained first advertisement in the terminal device. Therefore, when the terminal device detects the first operation of starting the target application, the terminal device can directly display the first advertisement stored in the terminal device without having to obtain the first advertisement from the advertisement server in real time, which can increase the display speed of the first advertisement, improve the user experience, and increase the display rate of the first advertisement. In addition, since the first time is determined to be earlier than the target startup time based on the predicted target startup time, but the interval with the target startup time is less than or equal to the preset time threshold, the first advertisement obtained by the terminal device at the first time is obtained from the advertising server a short time before starting the target application. It can accurately determine whether the displayed advertisement has stopped being delivered, reduce over-delivery of advertisements, ensure the accuracy of traffic estimation and allocation of contract advertisements, and has strong ease of use and practicality.
[0084] In the embodiment of the present application, the terminal device can be a mobile phone, a tablet computer, a wearable device, an in-vehicle device, an augmented reality (AR) / virtual reality (VR) device, a laptop computer, an ultra-mobile personal computer (UMPC), a netbook, a personal digital assistant (PDA), a desktop computer, or other terminal device with a display screen. The embodiment of the present application does not impose any restrictions on the specific type of the terminal device.
[0085] The following first introduces the terminal device involved in the embodiment of this application. Figure 1 , Figure 1 A schematic structural diagram of the terminal device 100 is shown.
[0086] The terminal device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, an antenna 1, an antenna 2, a mobile communication module 140, a wireless communication module 150, an audio module 160, a speaker 160A, a receiver 160B, a microphone 160C, an earphone interface 160D, a sensor module 170, a camera 180, and a display screen 190. The sensor module 170 may include a pressure sensor 170A, a gyroscope sensor 170B, a magnetic sensor 170C, an acceleration sensor 170D, a touch sensor 170E, and the like.
[0087] It should be understood that the structures illustrated in the embodiments of the present application do not constitute a specific limitation on the terminal device 100. In other embodiments of the present application, the terminal device 100 may include more or fewer components than shown, or may combine or separate certain components, or arrange the components differently. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0088] The processor 110 may include one or more processing units. For example, the processor 110 may include an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU). The different processing units may be independent devices or integrated into one or more processors.
[0089] The controller can generate operation control signals according to the instruction operation code and timing signal to complete the control of instruction fetching and execution.
[0090] Processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in processor 110 is a cache memory. This memory can store instructions or data that have just been used or are being recycled by processor 110. If processor 110 needs to use the same instruction or data again, it can directly access the memory. This avoids duplicate accesses, reduces processor 110 latency, and thus improves system efficiency.
[0091] In some embodiments, the processor 110 may include one or more interfaces. The interfaces may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface.
[0092] The I2C interface is a bidirectional synchronous serial bus that includes a serial data line (SDA) and a serial clock line (SCL). In some embodiments, the processor 110 may include multiple I2C bus lines. The processor 110 may be coupled to the touch sensor 170E, the flash, the camera 180, and the like via different I2C bus interfaces. For example, the processor 110 may be coupled to the touch sensor 170E via the I2C interface, enabling communication between the processor 110 and the touch sensor 170E via the I2C bus interface, thereby implementing the touch function of the terminal device 100.
[0093] The I2S interface can be used for audio communication. In some embodiments, the processor 110 can include multiple I2S buses. The processor 110 can be coupled to the audio module 160 via the I2S bus to enable communication between the processor 110 and the audio module 160. In some embodiments, the audio module 160 can transmit audio signals to the wireless communication module 150 via the I2S interface, enabling the function of answering calls through a Bluetooth headset.
[0094] The PCM interface can also be used for audio communication, sampling, quantizing, and encoding analog signals. In some embodiments, the audio module 160 and the wireless communication module 150 can be coupled via a PCM bus interface. In some embodiments, the audio module 160 can also transmit audio signals to the wireless communication module 150 via the PCM interface, enabling the function of answering calls via a Bluetooth headset. Both the I2S interface and the PCM interface can be used for audio communication.
[0095] The UART interface is a universal serial data bus used for asynchronous communication. This bus can be a bidirectional communication bus. It converts the data to be transmitted between serial communication and parallel communication. In some embodiments, the UART interface is typically used to connect the processor 110 and the wireless communication module 150. For example, the processor 110 communicates with the Bluetooth module in the wireless communication module 150 via the UART interface to implement Bluetooth functionality. In some embodiments, the audio module 160 can transmit audio signals to the wireless communication module 150 via the UART interface, enabling the function of playing music through Bluetooth headphones.
[0096] The MIPI interface can be used to connect the processor 110 to peripheral devices such as the display 190 and the camera 180. MIPI interfaces include the camera serial interface (CSI) and the display serial interface (DSI). In some embodiments, the processor 110 and the camera 180 communicate via the CSI interface to implement the camera function of the terminal device 100. The processor 110 and the display 190 communicate via the DSI interface to implement the display function of the terminal device 100.
[0097] The GPIO interface can be configured through software. The GPIO interface can be configured as a control signal or a data signal. In some embodiments, the GPIO interface can be used to connect the processor 110 to the camera 180, the display 190, the wireless communication module 150, the audio module 160, the sensor module 170, etc. The GPIO interface can also be configured as an I2C interface, an I2S interface, a UART interface, a MIPI interface, etc.
[0098] The USB interface 130 is an interface that complies with USB standards and may be a Mini USB interface, a Micro USB interface, a USB Type-C interface, or the like. The USB interface 130 can be used to transfer data between the terminal device 100 and peripheral devices. It can also be used to connect headphones to play audio. This interface can also be used to connect to other terminal devices, such as AR devices.
[0099] It is understood that the interface connection relationship between the modules illustrated in the embodiments of the present application is merely an illustrative illustration and does not constitute a structural limitation on the terminal device 100. In other embodiments of the present application, the terminal device 100 may also adopt a different interface connection method from the above embodiments, or a combination of multiple interface connection methods.
[0100] The wireless communication function of the terminal device 100 can be implemented through the antenna 1, the antenna 2, the mobile communication module 140, the wireless communication module 150, the modem processor and the baseband processor.
[0101] Antenna 1 and Antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in terminal device 100 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve antenna utilization. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In other embodiments, the antennas can be used in conjunction with a tuning switch.
[0102] The mobile communication module 140 can provide solutions for wireless communications including 2G / 3G / 4G / 5G applied to the terminal device 100. The mobile communication module 140 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 140 can receive electromagnetic waves from the antenna 1, and filter, amplify, and process the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation. The mobile communication module 140 can also amplify the signal modulated by the modulation and demodulation processor, and convert it into electromagnetic waves for radiation through the antenna 1. In some embodiments, at least some of the functional modules of the mobile communication module 140 can be set in the processor 110. In some embodiments, at least some of the functional modules of the mobile communication module 140 can be set in the same device as at least some of the modules of the processor 110.
[0103] The modem processor may include a modulator and a demodulator. The modulator is used to modulate the low-frequency baseband signal to be transmitted into a medium-high frequency signal. The demodulator is used to demodulate the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After being processed by the baseband processor, the low-frequency baseband signal is passed to the application processor. The application processor outputs a sound signal through an audio device (not limited to the speaker 160A, the receiver 160B, etc.) or displays an image or video through the display screen 190. In some embodiments, the modem processor may be an independent device. In other embodiments, the modem processor may be independent of the processor 110 and be set in the same device as the mobile communication module 140 or other functional modules.
[0104] The wireless communication module 150 can provide wireless communication solutions including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR), etc. applied to the terminal device 100. The wireless communication module 150 can be one or more devices integrating at least one communication processing module. The wireless communication module 150 receives electromagnetic waves via the antenna 2, frequency modulates and filters the electromagnetic wave signals, and sends the processed signals to the processor 110. The wireless communication module 150 can also receive the signal to be sent from the processor 110, frequency modulate it, amplify it, and convert it into electromagnetic waves for radiation through the antenna 2.
[0105] In some embodiments, the antenna 1 of the terminal device 100 is coupled to the mobile communication module 140, and the antenna 2 is coupled to the wireless communication module 150, so that the terminal device 100 can communicate with the network and other devices through wireless communication technology. The wireless communication technology may include global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), wideband code division multiple access (WCDMA), time-division code division multiple access (TD-SCDMA), long term evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technology. The GNSS may include a global positioning system (GPS), a global navigation satellite system (GLONASS), a Beidou navigation satellite system (BDS), a quasi-zenith satellite system (QZSS) and / or a satellite based augmentation system (SBAS).
[0106] The terminal device 100 implements display functions through a GPU, display screen 190, and an application processor. The GPU is a microprocessor for image processing that connects the display screen 190 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 may include one or more GPUs, which execute program instructions to generate or modify display information.
[0107] Display screen 190 is used to display images, videos, and the like. Display screen 190 includes a display panel. The display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), a MiniLED, a MicroLED, a Micro-oLed, or a quantum dot light-emitting diode (QLED). In some embodiments, terminal device 100 may include one or N display screens 190, where N is a positive integer greater than one.
[0108] The terminal device 100 can implement the shooting function through the ISP, camera 180, video codec, GPU, display screen 190 and application processor.
[0109] The ISP processes data fed back by camera 180. For example, when taking a photo, the shutter is opened, and light is transmitted through the lens to the camera's photosensitive element. The light signal is converted into an electrical signal, which is then passed to the ISP for processing and transformed into a visible image. The ISP can also perform algorithmic optimization on image noise, brightness, and skin tone. It can also optimize parameters such as exposure and color temperature of the captured scene. In some embodiments, the ISP can be located within camera 180.
[0110] The camera 180 is used to capture still images or videos. The object generates an optical image through the lens and projects it onto the photosensitive element. The photosensitive element can be a charge coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the light signal into an electrical signal, and then passes the electrical signal to the ISP for conversion into a digital image signal. The ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into an image signal in a standard RGB, YUV or other format. In some embodiments, the terminal device 100 may include 1 or N cameras 180, where N is a positive integer greater than 1.
[0111] The digital signal processor is used to process digital signals. In addition to processing digital image signals, it can also process other digital signals. For example, when the terminal device 100 selects a frequency point, the digital signal processor is used to perform Fourier transform on the frequency point energy.
[0112] Video codecs are used to compress or decompress digital video. Terminal device 100 may support one or more video codecs. This allows terminal device 100 to play or record videos in various encoding formats, such as Moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, and MPEG4.
[0113] The NPU is a neural network (NN) computing processor. Drawing on the structure of biological neural networks, such as the transmission patterns between neurons in the human brain, it rapidly processes input information and can continuously self-learn. The NPU can enable intelligent cognitive applications in the terminal device 100, such as image recognition, face recognition, speech recognition, and text comprehension.
[0114] The external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the terminal device 100. The external memory card communicates with the processor 110 via the external memory interface 120 to implement data storage functions. For example, files such as music and videos can be stored on the external memory card.
[0115] The internal memory 121 can be used to store computer executable program code, which includes instructions. The internal memory 121 may include a program storage area and a data storage area. Among them, the program storage area can store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc. The data storage area can store data created during the use of the terminal device 100 (such as audio data, a phone book, etc.), etc. In addition, the internal memory 121 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc. The processor 110 executes various functional applications and data processing of the terminal device 100 by running instructions stored in the internal memory 121 and / or instructions stored in a memory provided in the processor.
[0116] The terminal device 100 can implement audio functions such as music playback and recording through the audio module 160, the speaker 160A, the receiver 160B, the microphone 160C, the headphone jack 160D, and the application processor.
[0117] The audio module 160 is used to convert digital audio information into analog audio signal output, and is also used to convert analog audio input into digital audio signals. The audio module 160 can also be used to encode and decode audio signals. In some embodiments, the audio module 160 can be provided in the processor 110, or some functional modules of the audio module 160 can be provided in the processor 110.
[0118] The speaker 160A, also called a "speaker", is used to convert audio electrical signals into sound signals. The terminal device 100 can listen to music or listen to hands-free calls through the speaker 160A.
[0119] The receiver 160B, also called a "handset", is used to convert audio electrical signals into sound signals. When the terminal device 100 receives a call or voice message, the user can hear the voice by placing the receiver 160B close to the ear.
[0120] Microphone 160C, also known as "microphone" or "microphone", is used to convert sound signals into electrical signals. When making a call or sending a voice message, the user can speak by putting their mouth close to the microphone 160C to input the sound signal into the microphone 160C. The terminal device 100 can be provided with at least one microphone 160C. In other embodiments, the terminal device 100 can be provided with two microphones 160C, which can not only collect sound signals but also realize noise reduction function. In other embodiments, the terminal device 100 can also be provided with three, four or more microphones 160C to realize sound signal collection, noise reduction, and can also identify the source of sound, realize directional recording function, etc.
[0121] The earphone jack 160D is used to connect a wired earphone and can be the USB interface 130 or a 3.5mm open mobile terminal platform (OMTP) standard interface or a cellular telecommunications industry association of the USA (CTIA) standard interface.
[0122] Pressure sensor 170A is used to sense pressure signals and convert them into electrical signals. In some embodiments, pressure sensor 170A can be located on display screen 190. There are many types of pressure sensors 170A, such as resistive, inductive, and capacitive. A capacitive pressure sensor can include at least two parallel plates made of conductive material. When force is applied to pressure sensor 170A, the capacitance between the electrodes changes. Terminal device 100 determines the intensity of the pressure based on this change in capacitance. When a touch operation is applied to display screen 190, terminal device 100 detects the intensity of the touch operation based on pressure sensor 170A. Terminal device 100 can also calculate the location of the touch based on the detection signal from pressure sensor 170A. In some embodiments, touch operations applied to the same touch location but with different touch operation intensities can correspond to different operation instructions. For example, when a touch operation with an intensity less than a first pressure threshold is applied to a short message application icon, an instruction to view short messages is executed. When a touch operation with an intensity greater than or equal to the first pressure threshold is applied to a short message application icon, an instruction to create a new short message is executed.
[0123] The gyroscope sensor 170B can be used to determine the motion posture of the terminal device 100. In some embodiments, the angular velocity of the terminal device 100 around three axes (i.e., x, y, and z axes) can be determined by the gyroscope sensor 170B. The gyroscope sensor 170B can be used for anti-shake shooting. For example, when the shutter is pressed, the gyroscope sensor 170B detects the angle of the terminal device 100 shaking, calculates the distance that the lens module needs to compensate based on the angle, and allows the lens to offset the shaking of the terminal device 100 through reverse movement to achieve anti-shake. The gyroscope sensor 170B can also be used for navigation and somatosensory game scenes.
[0124] The magnetic sensor 170C includes a Hall effect sensor. The terminal device 100 can use the magnetic sensor 170C to detect the opening and closing of the flip cover. In some embodiments, when the terminal device 100 is a flip phone, the terminal device 100 can detect the opening and closing of the flip cover using the magnetic sensor 170C. Based on the detected opening and closing status of the holster or flip cover, features such as automatic unlocking of the flip cover can be configured.
[0125] Accelerometer 170D can detect the magnitude of acceleration of the terminal device 100 in all directions (generally three axes). When the terminal device 100 is stationary, it can detect the magnitude and direction of gravity. It can also be used to identify the terminal device's posture, enabling applications such as switching between landscape and portrait modes and pedometers.
[0126] Touch sensor 170E, also known as a "touch device." The touch sensor 170E can be disposed on the display screen 190. The touch sensor 170E and the display screen 190 form a touch screen, also known as a "touch screen." The touch sensor 170E is used to detect touch operations applied thereto or in the vicinity thereof. The touch sensor can transmit the detected touch operations to the application processor to determine the type of touch event. Visual output related to the touch operations can be provided through the display screen 190. In other embodiments, the touch sensor 170E can also be disposed on the surface of the terminal device 100, at a location different from that of the display screen 190.
[0127] The software system of the terminal device 100 can adopt a layered architecture, an event-driven architecture, a microkernel architecture, a microservice architecture, or a cloud architecture. For example, the software system of the terminal device 100 can adopt an Android operating system (OS), a Harmony OS, or an IOS with a layered architecture. The embodiment of the present application takes the Android system with a layered architecture as an example to illustrate the software structure of the terminal device 100.
[0128] Figure 2 It is a software structure block diagram of the terminal device 100 according to an embodiment of the present application.
[0129] A layered architecture divides software into several layers, each with distinct roles and responsibilities. Layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into four layers: the application layer, the application framework layer, the Android runtime and system libraries, and the kernel layer.
[0130] The application layer can include a series of application packages.
[0131] like Figure 2 As shown, the application package may include applications such as camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, short message, etc.
[0132] The application framework layer provides an application programming interface (API) and programming framework for the applications in the application layer. The application framework layer includes some predefined functions.
[0133] like Figure 2 As shown, the application framework layer may include an advertising software development kit (SDK), a window manager, a content provider, a view system, a phone manager, a resource manager, a notification manager, and the like.
[0134] The advertising SDK provides capabilities such as ad request and / or ad display for application integration. For example, when an application is launched, the application can call the advertising SDK to obtain the first advertisement requested by the terminal device in advance through the advertising SDK and display the first advertisement.
[0135] The window manager is used to manage window programs. The window manager can obtain the display size, determine whether there is a status bar, lock the screen, take screenshots, etc.
[0136] Content providers are used to store and retrieve data and make it accessible to applications. The data may include videos, images, audio, calls made and received, browsing history and bookmarks, phone books, etc.
[0137] The view system includes visual controls, such as those for displaying text and images. The view system is used to build applications. A display interface can consist of one or more views. For example, a display interface containing a text notification icon might include a view for displaying text and a view for displaying images.
[0138] The phone manager is used to provide communication functions of the terminal device 100, such as management of call status (including answering, hanging up, etc.).
[0139] The resource manager provides various resources for applications, such as localized strings, icons, images, layout files, video files, and so on.
[0140] The Notification Manager allows applications to display notifications in the status bar. These messages can be displayed briefly and then disappear automatically, without requiring user interaction. For example, the Notification Manager can be used to notify users of completed downloads and message reminders. The Notification Manager can also display notifications in the top status bar of the system as icons or scrolling text, such as notifications from background applications, or as dialog windows on the screen. Examples include displaying text messages in the status bar, emitting alert sounds, vibrating the device, or flashing indicator lights.
[0141] AndroidRuntime includes the core library and virtual machine. AndroidRuntime is responsible for the scheduling and management of the Android system.
[0142] The core library consists of two parts: one is the function that needs to be called by the Java language, and the other is the Android core library.
[0143] The application layer and application framework layer run in a virtual machine. The virtual machine executes Java files in the application layer and application framework layer as binary files. The virtual machine manages object lifecycles, stack management, thread management, security and exception management, and garbage collection.
[0144] The system library can include multiple functional modules, such as the advertisement service kit (Ads kit), surface manager, media libraries, 3D graphics processing library (such as OpenGL ES), and 2D graphics engine (such as SGL).
[0145] The advertising service component can be used to provide application startup prediction, advertising request and caching capabilities, and can provide applications with extremely fast advertising opening services.
[0146] The advertising service component may include an advertising artificial intelligence (AI) module and an advertising business module. The advertising AI module may include a time prediction model. The time prediction model can be used to predict the target launch time corresponding to a particular application, that is, to predict the next time a user will launch the application.
[0147] The advertising AI module can predict a target launch time for an application based on its historical launch time within a preset time period and pass the predicted target launch time to the advertising business module. For example, the advertising AI module can input the application's historical launch time within a preset time period into a time prediction model for processing. The time prediction model can then predict the application's target launch time based on the application's historical launch time.
[0148] The advertising business module can obtain the target startup time corresponding to a certain application predicted by the advertising AI module, and can determine the first time based on the target startup time corresponding to the application and the preset time threshold, and can send an advertising request to the advertising server at the first time to request to obtain the advertisement displayed in the application.
[0149] The advertising service module can also obtain the advertisement returned by the advertising server and save the obtained advertisement locally. In addition, the advertising service module can also download the material file corresponding to the advertisement to the local storage based on the address of the material file (such as video or picture) contained in the advertisement returned by the advertising server.
[0150] The surface manager is used to manage the display subsystem and provide fusion of 2D and 3D layers for multiple applications.
[0151] The media library supports playback and recording of a variety of common audio and video formats, as well as static image files. The media library can support a variety of audio and video encoding formats, such as MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, etc.
[0152] The 3D graphics processing library is used to implement 3D graphics drawing, image rendering, compositing, and layer processing.
[0153] A 2D graphics engine is a drawing engine for 2D drawings.
[0154] The kernel layer is the layer between hardware and software. The kernel layer includes at least display driver, camera driver, audio driver, and sensor driver.
[0155] The following describes in detail the advertisement display method provided in the embodiment of the present application with reference to the accompanying drawings and specific application scenarios.
[0156] See also Figure 3 , Figure 3 The following is a schematic flow chart of an advertisement display method provided by an embodiment of the present application. The method can be applied to terminal devices with display screens such as mobile phones, smart TVs, tablet computers, wearable devices or vehicle-mounted devices. Figure 3 As shown, the method may include:
[0157] S301: The terminal device detects a first operation, where the first operation is an operation of starting a target application.
[0158] S302: In response to the first operation, the terminal device displays a first advertisement. The first advertisement is stored in the terminal device and is obtained by the terminal device from an advertisement server at a first time. The first time is determined based on a target startup time. The first time is earlier than the target startup time, and the interval between the first time and the target startup time is less than or equal to a preset time threshold. The target startup time is a time predicted by the terminal device for launching a target application.
[0159] In an embodiment of the present application, a terminal device can predict in advance the target launch time corresponding to a target application and, based on the target launch time, determine a first time that is earlier than the target launch time but whose interval from the target launch time is less than or equal to a preset time threshold. This allows the terminal device to retrieve a first advertisement to be displayed from an advertising server in advance at the first time and store the retrieved first advertisement in the terminal device. When the terminal device detects a first operation to launch the target application, the terminal device can directly display the first advertisement stored in the terminal device without having to retrieve the first advertisement from the advertising server in real time. This can increase the display speed of the first advertisement, enhance the user experience, and increase the display rate of the first advertisement. Furthermore, because the first time is determined to be earlier than the target launch time based on the predicted target launch time but whose interval from the target launch time is less than or equal to the preset time threshold, the first advertisement retrieved by the terminal device at the first time is retrieved from the advertising server shortly before the target application is launched. This allows the terminal device to accurately determine whether the displayed advertisement has stopped delivering, reducing overdelivery of advertisements and ensuring the accuracy of traffic estimation and allocation for contracted advertisements.
[0160] Exemplarily, the target application may be any application installed in the terminal device. For example, the target application may be a browser, a video application, or a music application, etc. The first operation may be any operation to launch the target application. For example, the first operation may be an operation of clicking an icon of the target application.
[0161] For example, the first advertisement can be a splash advertisement (splashAd). A splash advertisement can also be called a startup page advertisement. A splash advertisement refers to an advertisement displayed on the display interface when the application is launched. The display time of a splash advertisement is generally a few seconds or more than ten seconds. After the display is completed, it automatically closes and enters the application interface.
[0162] It is understood that advertising refers to the means by which advertisers disseminate information about goods or services to users through advertising media (such as applications) in order to promote goods or provide services. Among them, advertisers can upload advertisements to the advertising server in advance. The advertising server can maintain an advertising resource pool, and the advertising resource pool can store advertisements uploaded by various advertisers. When the advertising server receives an advertising request sent by a terminal device, the advertising server can search the advertising resource pool for an advertisement (such as advertisement A) that matches the advertising request and can return advertisement A to the terminal device.
[0163] Optionally, the target application may integrate an advertising SDK. The terminal device may obtain the first advertisement requested in advance by the terminal device through the advertising SDK integrated in the target application and may display the first advertisement. For example, when launching the target application, the terminal device may obtain the splash screen advertisement requested in advance by the terminal device through the advertising SDK integrated in the target application and may display the splash screen advertisement.
[0164] Exemplarily, the target startup time refers to the time that the terminal device predicts in advance that the user may start the target application. The first time refers to the time for obtaining the first advertisement in advance, which is determined based on the target startup time and a preset time threshold. Optionally, the first time can be the target startup time minus the preset time threshold. That is, the terminal device can request the first advertisement from the advertising server in advance at the first time that is separated from the target startup time by the preset time threshold, and can save the obtained first advertisement in the terminal device, so that when the user starts the target application at the target startup time or after the target startup time, the terminal device can directly display the first advertisement obtained and saved in advance without having to interact with the advertising server to obtain the first advertisement in real time. This can achieve the ability to open advertisements in seconds, improve the display speed of advertisements, increase the display rate of advertisements, and improve the startup speed of the target application, that is, when the user starts the target application, he can quickly enter the interface of the target application, thereby improving the user experience.
[0165] It should be noted that the preset time threshold can be determined according to the actual scenario, and the embodiments of the present application do not impose specific restrictions on this. For example, the preset time threshold can be determined by default to be 15 minutes, 10 minutes or 8 minutes, etc. according to the actual scenario. For example, the acquisition time of the first advertisement can be determined (or estimated) according to the actual scenario, and the preset time threshold can be determined based on the acquisition time of the first advertisement. Among them, the preset time threshold can be greater than or equal to the acquisition time of the first advertisement. For example, when it is determined that the acquisition time of the first advertisement is 2 minutes, the preset time threshold can be determined to be 2 minutes or 3 minutes, etc. For example, when it is estimated that the acquisition time of the first advertisement is 30 seconds, the preset time threshold can be determined to be 30 seconds, 1 minute or 2 minutes, etc.
[0166] For example, if the target launch time is 12:00 PM on December 21, 2023, and the preset time threshold is 10 minutes, the first time can be 11:50 AM on December 21, 2023. That is, the terminal device can send an ad request to the ad server at 11:50 AM on December 21, 2023, in advance to request the first ad, and store the obtained first ad on the terminal device. Therefore, when the user launches the target application at or after 12:00 PM on December 21, 2023, the terminal device can directly display the first ad obtained in advance, thereby increasing the display speed of the first ad.
[0167] For example, if the target launch time is 11:30 AM on December 22, 2023, and the preset time threshold is 5 minutes, the first time can be 11:25 AM on December 22, 2023. That is, the terminal device can send an ad request to the ad server at 11:25 AM on December 22, 2023, in advance, to request the first ad, and save the obtained first ad on the terminal device. Therefore, when the user launches the target application at or after 11:30 AM on December 22, 2023, the terminal device can directly display the first ad obtained in advance, thereby increasing the display speed of the first ad.
[0168] That is, after the terminal device predicts in advance the target startup time when the user is likely to launch the target application, it can extract and send an advertisement request to the advertising server at a specified time before the target startup time (for example, a preset time threshold such as 10 minutes, 5 minutes, or 3 minutes) to obtain the first advertisement. The preset time threshold is generally only a few minutes or more than ten minutes earlier than the target startup time, that is, the time of requesting the first advertisement in advance is close to the time when the terminal device displays the first advertisement in real time. Therefore, the advertising server can determine the first advertisement to be returned to the terminal device based on the real-time delivery and traffic conditions of the advertisement, which can prevent the terminal device from displaying advertisements that have stopped delivery, avoid overdelivery of the first advertisement, and ensure the accuracy of the traffic estimation and allocation of the contract advertisements.
[0169] The following describes the process of predicting the target startup time of the terminal device and the process of obtaining the first The advertising process is explained in detail.
[0170] Exemplarily, the terminal device may be integrated with a system-level advertising service component (Ads kit). The advertising service component may include an advertising service module and an advertising AI module. The advertising AI module may predict the target startup time corresponding to the target application and may pass the predicted target startup time to the advertising service module. The advertising service module may determine the first time based on the target startup time and a preset time threshold, and may send an advertising request (hereinafter referred to as the first advertising request) to the advertising server in advance at the first time.
[0171] In one example, the advertising AI module may obtain the historical startup time (hereinafter referred to as historical startup time A) corresponding to the target application within a preset time period (hereinafter referred to as preset time period A), and may predict the target startup time corresponding to the target application based on the historical startup time A corresponding to the target application, that is, predict the time when the user is likely to next launch the target application. Optionally, the advertising AI module may obtain the historical startup time A corresponding to the target application within the preset time period A through an operating system (OS) interface, and may predict the target startup time corresponding to the target application based on the historical startup time A corresponding to the target application.
[0172] It should be understood that the preset time period A can be specifically determined according to the actual scenario, and the embodiments of the present application do not impose any restrictions on this. For example, the preset time period A can be the past week, that is, the advertising AI module can predict the time when the user may start the target application in the future based on the time when the user started the target application in the past week. For example, the preset time period A can be the past month, that is, the advertising AI module can predict the time when the user may start the target application in the future based on the time when the user started the target application in the past month. For example, the preset time period A can be the past three months, that is, the advertising AI module can preset the time when the user may start the target application in the future based on the time when the user started the target application in the past three months, and so on.
[0173] Optionally, the advertising AI module may include a time prediction model. The advertising AI module may determine the target launch time for the target application using the target application's historical launch time A and the time prediction model. For example, the advertising AI module may input the target application's historical launch time A into the time prediction model for processing. The time prediction model may predict the target launch time for the target application based on the target application's historical launch time A.
[0174] Optionally, the time prediction model can be a model constructed based on statistics, or a model constructed based on machine learning or deep learning. It is understood that the embodiments of the present application do not impose specific restrictions on the specific structure and training process of the time prediction model, which can be determined according to the actual scenario.
[0175] In one example, the time prediction model can be trained by the terminal device, for example, by the advertising AI module in the terminal device. That is, the advertising AI module can obtain the historical startup time (hereinafter referred to as historical startup time B) corresponding to each application in the terminal device within a preset time period (hereinafter referred to as preset time period B) through the OS interface, and can train the time prediction model based on the historical startup time B corresponding to each application.
[0176] It is understandable that the preset time period B may be the same as or different from the preset time period A. This embodiment of the present application does not impose any restrictions on this and can be determined specifically based on the actual scenario.
[0177] Optionally, the advertising AI module can also update the time prediction model based on updates to the historical startup time B. That is, when the historical startup time B corresponding to a particular app changes as users use it, the advertising AI module can update the time prediction model based on the changed historical startup time B, improving the accuracy of the time prediction model.
[0178] It should be understood that the timing of the time prediction model update by the advertising AI module can be determined based on actual scenarios, and the embodiments of the present application do not impose any restrictions on this. For example, the advertising AI module can update the time prediction model when it determines that the historical launch time B of a certain application has changed. For example, an update cycle for the time prediction model can be set, and the advertising AI module can update the time prediction model according to the update cycle of the time prediction model.
[0179] In another example, a model server can train a time prediction model. After training, the model server can send the time prediction model to a terminal device, such as an advertising AI module in the terminal device. Specifically, the model server can obtain the historical startup time B corresponding to each application in one or more terminal devices and train a time prediction model based on each historical startup time B to obtain a trained time prediction model. The model server can then send the trained time prediction model to the terminal device, such as an advertising AI module in the terminal device.
[0180] Optionally, the model server can also update the time prediction model based on the update of the historical startup time B, and can send the updated time prediction model to the advertising AI module in the terminal device to update the time prediction model in the advertising AI module and improve the accuracy of the time prediction model prediction.
[0181] For example, when the historical startup time B corresponding to an application in a terminal device changes with user usage, the terminal device can send the changed historical startup time B to the model server. The model server can then update the time prediction model based on the changed historical startup time B.
[0182] It should be understood that the time at which the model server updates the time prediction model can be determined based on actual scenarios, and the embodiments of the present application do not impose any limitations on this. For example, the model server can update the time prediction model upon obtaining the historical startup time B after a certain application change. For example, an update cycle for the time prediction model can be set, and the model server can update the time prediction model according to the update cycle of the time prediction model.
[0183] It should be noted that when an application on a terminal device is launched, an event (e.g., a launch event) and a time (e.g., a launch time) corresponding to the application are generated. The advertising AI module can obtain the launch events and launch times corresponding to each application within a preset time period B through the OS interface and can save the launch events and launch times corresponding to each application.
[0184] For example, the advertising AI module can store the launch events and launch times corresponding to each application in a table format in a local database of the terminal device (e.g., ads_data.db). For each application, the table storing the launch events and launch times corresponding to the application can be named app_open_record_application_id (e.g., application name or application number). For example, for a browser, the table name can be app_open_record_browser. The fields in the table can include data and launch events.
[0185] It should be understood that the startup events recorded in the table can be specifically determined according to the actual scenario. For example, the startup events can be recorded in units of hours (e.g., one hour or two hours, etc.). For example, the startup events can be recorded in units of minutes (e.g., one minute, ten minutes, or twenty minutes).
[0186] The fields in the table are described below by taking the recording of startup events in units of one hour as an example.
[0187] Field illustrate data Date, yyyy-mm-dd h_0 If it is 0, fill in 1 if there is a start time, otherwise fill in 0 h_1 1, if there is a start time, fill in 1, otherwise fill in 0 h_2 2, if there is a start time, fill in 1, otherwise fill in 0 h_3 3, if there is a start time, fill in 1, otherwise fill in 0 h_4 4, if there is a start time, fill in 1, otherwise fill in 0 h_5 5, if there is a start time, fill in 1, otherwise fill in 0 h_6 If it is 6 o'clock, fill in 1 if there is a start time, otherwise fill in 0 h_7 7 o'clock, if there is a start time, fill in 1, otherwise fill in 0 h_8 8 o'clock, if there is a start time, fill in 1, otherwise fill in 0 h_9 9 o'clock, if there is a start time, fill in 1, otherwise fill in 0 h_10 10:00, if there is a start time, fill in 1, otherwise fill in 0 h_11 11:00, if there is a start time, fill in 1, otherwise fill in 0 h_12 12 o'clock, if there is a start time, fill in 1, otherwise fill in 0 h_13 13:00, if there is a start time, fill in 1, otherwise fill in 0 h_14 14:00, if there is a start time, fill in 1, otherwise fill in 0 h_15 15:00, if there is a start time, fill in 1, otherwise fill in 0 h_16 16:00, if there is a start time, fill in 1, otherwise fill in 0 h_17 17:00, if there is a start time, fill in 1, otherwise fill in 0 h_18 18:00, if there is a start time, fill in 1, otherwise fill in 0 h_19 19:00, if there is a start time, fill in 1, otherwise fill in 0 h_20 20:00, if there is a start time, fill in 1, otherwise fill in 0 h_21 21:00, if there is a start time, fill in 1, otherwise fill in 0 h_22 22:00, if there is a start time, fill in 1, otherwise fill in 0 h_23 23:00, if there is a start time, fill in 1, otherwise fill in 0
[0188] It should be understood that when recording startup events in units of minutes (e.g., twenty minutes), the fields in the table may include data and h_0_0, h_0_20, h_0_40, h_1_0, h_1_20, h_1_40, h_2_0, h_2_20, h_2_40, h_3_0, h_3_20, h_3_40, etc. For a certain application, if the application is started between 0:00 and 0:20, the h_0_0 corresponding to the application may be recorded as 1, otherwise it may be recorded as 0. If the application is started between 0:21 and 0:40, the h_0_20 corresponding to the application may be recorded as 1, otherwise it may be recorded as 0. If the application is started between 0:41 and 1:00, the h_0_40 corresponding to the application may be recorded as 1, otherwise it may be recorded as 0, and so on.
[0189] The following description will be given by taking an example where the preset time period A and the preset time period B are the same and the preset time period A and the preset time period B are the most recent week.
[0190] Assume that the target application is a browser, and the user opened the browser at the following times in the past week:
[0191] October 21, 2023: 12:00 and 20:00;
[0192] October 22, 2023: 20:00;
[0193] October 23, 2023: 7:00 PM
[0194] October 24, 2023: 9:00 PM
[0195] October 25, 2023: 12:00:
[0196] October 26, 2023: 13:00, 20:00:
[0197] October 27, 2023: 12:00.
[0198] The startup event and startup time corresponding to the browser stored in the local database can be shown as follows app_open_record_browser:
[0199] app_open_record_browser
[0200] data h_0 h_1 h_2 h_3 h_4 h_5 h_6 h_7 h_8 h_9 h_10 h_11 h_12 h_13 h_14 h_15 h_16 h_17 h_18 h_19 h_20 h_21 h_22 h_23 2023-10-21 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 2023-10-22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 2023-10-23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 2023-10-24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 2023-10-25 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 2023-10.26 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 2023-10-27 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
[0201] Therefore, when it is necessary to predict the target startup time corresponding to the target application, the advertising AI module can obtain the table corresponding to the target application from the local database, and can obtain the historical startup time A corresponding to the target application based on the startup event and startup time recorded in the table, so as to predict the target startup time corresponding to the target application based on the historical startup time A and the time prediction model.
[0202] For example, when the target application is a browser, and the startup event and startup time corresponding to the browser are as shown in the above-mentioned app_open_record_browser, the advertising AI module obtains the historical startup time A corresponding to the browser based on the startup event and startup time recorded in the above-mentioned app_open_record_browser, which may include: 12:00 and 20:00 on October 21, 2023, 20:00 on October 22, 2023, 19:00 on October 23, 2023, 21:00 on October 24, 2023, 12:00 on October 25, 2023, 13:00 and 20:00 on October 26, 2023, and 12:00 on October 27, 2023. At this time, the advertising AI module can predict the target startup time when the user may start the browser based on the historical startup time A corresponding to the browser and the time prediction model. For example, the predicted target startup time may be 12:00 and 20:00 on October 28, 2023.
[0203] Optionally, the time to trigger the advertising AI module to predict the target launch time can be determined based on the actual scenario. For example, upon detecting that a target application has been launched or closed, the advertising AI module can be triggered to predict the target launch time corresponding to the target application, thereby predicting the next time the user will launch the target application. For example, a prediction period can be set for the target application, and the advertising AI module can predict the target launch time corresponding to the target application based on the prediction period.
[0204] It should be noted that the prediction period corresponding to the target application can be specifically determined according to the actual scenario, and the embodiments of the present application do not impose any restrictions on this. It should be understood that for different target applications, the prediction period can be the same or different. For example, the prediction period corresponding to target application A, the prediction period corresponding to target application B and target application C can be determined to be 6 hours or 12 hours, etc., according to the actual scenario. For example, the prediction period corresponding to target application A can be determined to be 6 hours, the prediction period corresponding to target application B can be determined to be 12 hours, and the prediction period corresponding to target application C can be determined to be 24 hours, and so on.
[0205] In an embodiment of the present application, after the advertising AI module predicts the target startup time corresponding to the target application, it can send the target startup time corresponding to the target application to the advertising business module. After obtaining the target startup time corresponding to the target application, the advertising business module can determine the first time based on the target startup time and a preset time threshold, and can send a first advertisement request to an advertising server, such as an advertisement exchange server (ADX), in advance at the first time to request the first advertisement.
[0206] For example, when the advertising AI module predicts multiple target startup times based on the historical startup time A corresponding to the target application, the advertising AI module may send each of the multiple target startup times corresponding to the target application to the advertising service module. The advertising service module may determine each first time based on each target startup time and the corresponding preset time threshold, and may send a first advertisement request to the advertising server at each first time to request a first advertisement corresponding to each target startup time.
[0207] It should be understood that when the advertising AI module predicts multiple target launch times, the advertising service module can determine the first time for each target launch time using a unified preset time threshold. Alternatively, the advertising service module can determine each first time using different preset time thresholds.
[0208] For example, when the advertising AI module predicts the target startup time A and the target startup time B, the advertising business module can determine the first time A through the default unified preset time threshold (for example, 10 minutes) and the target startup time A, and can determine the first time B through the default unified preset time threshold (i.e., 10 minutes) and the target startup time B.
[0209] For example, when the advertising AI module predicts the target start time A and the target start time B, the advertising business module can determine the first time A based on the preset time threshold A (for example, 5 minutes) and the target start time A determined by the acquisition time of the first advertisement A (that is, the advertisement required to be requested at the first time A), and can determine the first time B based on the preset time threshold B (for example, 3 minutes) and the target start time B determined by the acquisition time of the first advertisement B (that is, the advertisement required to be requested at the first time B).
[0210] In one example, the advertising service module determines the first time based on the target start time and the preset time threshold, and can set a scheduled task based on the first time. The scheduled task can be to send a first advertisement request to the advertising server at the first time to request the first advertisement.
[0211] Optionally, when the target start time includes multiple times, the advertising business module can determine multiple first times based on each target start time and a preset time threshold, and can set a scheduled task according to each first time, so as to send a first advertising request to the advertising server at each first time through multiple scheduled tasks to request to obtain the first advertisement.
[0212] Optionally, the advertising service module can execute the timed task through SplashAdReqTimer. The trigger time (ie, the first time) corresponding to the timed task is T timer Can be: T timer =T predict -m. It should be understood that T predict The target application may be opened in the future as predicted by the advertising AI module, that is, the target startup time corresponding to the target application. m can be a preset time threshold, that is, the advance time that the advertising business module needs to request the first advertisement in advance.
[0213] For example, based on the historical startup time A recorded in the above app_open_record_browser, the advertising AI module predicts that the user may start the browser at 12:00 and 20:00 on October 28, 2023. That is, the advertising AI module can determine that the target startup time corresponding to the target application (i.e., the browser) can include 12:00 on October 28, 2023 and 20:00 on October 28, 2023. Assuming that the preset time threshold is the default uniform value of 10 minutes, the advertising business module can determine that the first time includes 11:50 on October 28, 2023 and 19:50 on October 28, 2023. Therefore, the advertising business module can set scheduled tasks A and B respectively. Scheduled task A may be sending a first ad request (e.g., first ad request A) to the ad server at 11:50 on October 28, 2023, to request the first ad (e.g., first ad A) corresponding to 12:00 on October 28, 2023. Scheduled task B may be sending a first ad request (e.g., first ad request B) to the ad server at 19:50 on October 28, 2023, to request the first ad (e.g., first ad B) corresponding to 20:00 on October 28, 2023.
[0214] Optionally, when the first time corresponding to the scheduled task arrives, the SplashAdReqTimer in the advertising service module can automatically start and execute the scheduled task. That is, when the first time arrives, the advertising service module can automatically send a first advertisement request to the advertising server to request the first advertisement.
[0215] Optionally, the first advertising request may carry an ad slot identity (ID) corresponding to the target application and an application package name corresponding to the target application, so that upon receiving the first advertising request, the advertising server can accurately determine the advertisement that matches the first advertising request. The ad slot ID corresponding to the target application can be passed by the target application to the advertising SDK, and can be passed by the advertising SDK to the advertising service component, for example, to the advertising business module in the advertising service component, so that the advertising business module can send the first advertising request to the advertising server based on the ad slot ID to request the first advertisement.
[0216] It is understood that an ad slot can be an area or window in the interface provided by an application that can be used to display advertisements. In other words, an ad slot refers to the specific location in an application where an advertisement is displayed. The ad slot ID is the unique identifier of an ad slot in an application. The ad slot ID is applied for by the application developer on an advertising platform (such as an ad exchange) and integrated into the application when developing the application. The correspondence between the ad slot ID and the application can be stored in the application on the terminal device and in the advertising server that provides advertising services for the application.
[0217] Optionally, the advertising service module may send the first advertising request to the advertising server via a network protocol such as Hypertext Transfer Protocol (HTTP) or a secure HTTP channel (HTTPS). The HTTP request method may be OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, or CONNECT.
[0218] For example, the advertising service module may send the first advertising request via POST. For example, the first advertising request sent by the advertising service module may be as follows:
[0219] POST https: / / adx_server / ad_requestHTTP / 1.1
[0220] Host:adx_server
[0221] {"ad_id":"ad_id_1","package_name":"browser"}.
[0222] Wherein, ad_id can be the ad slot ID corresponding to the target application, such as ad_id_1. package_name can be the application package name corresponding to the target application, such as browser.
[0223] In some embodiments, after receiving the first advertisement request sent by the advertisement service module, the advertisement server may match advertisements based on information such as the advertisement slot ID and application package name carried in the first advertisement request, and may return the matched first advertisement to the terminal device. The advertisement service module in the terminal device may then obtain the first advertisement returned by the advertisement server.
[0224] Optionally, the advertising server may return the first advertisement to the terminal device in JavaScript object notation (JSON) format. JSON format is a lightweight data exchange format based on the JavaScript language. For example, the first advertisement returned by the advertising server to the terminal device may be as follows:
[0225]
[0226] It should be understood that the above description is based on the example of the first advertisement containing a video. The first advertisement may also contain pictures. When the first advertisement contains pictures, the data may include:
[0227] "image":{
[0228] "url":"https: / / ad_server / ad_image_1.png"
[0229] }
[0230] Among them, ret_code is the return value of the first advertisement, package_name is the application package name, ad_id is the ad slot ID, ad_type is the advertisement type, ad_content is the advertisement content, content_id is the advertisement material ID in the advertisement content, end_time is the end time of the advertisement, that is, the validity period of the advertisement, and data is the detailed metadata in the advertisement content, for example, it may include one or more of the content label, the advertisement landing page address (for example, https: / / xxx / ad_page.html / ), the video material address (for example, https: / / ad_server / ad_video_1.mp4), or the image material address (for example, https: / / ad_server / ad_image_1.png).
[0231] Optionally, the ad type ad_type may include multiple types such as banner, splash, and native. For example, the ad type of a banner ad may be represented by 0, the ad type of a splash ad may be represented by 1, and the ad type of a native ad may be represented by 2.
[0232] Optionally, the creative ID is associated with the creative. When an advertiser uploads an ad to the ad server, the creative ID can be assigned to the ad. During subsequent ad allocation or request processes, the creative ID can be used to associate the creative with the ad. Creatives can include text, images, videos, and sounds.
[0233] Optionally, the ad landing page can also be called an ad landing page, an ad promotion page, or an ad target page. The ad landing page is also used to display advertisements. The ad landing page can display more abundant advertisements than the ad slot, and can directly provide users with services such as product purchase and application installation. The ad landing page address refers to the address link corresponding to the ad landing page. Among them, part or all of the content in the advertisement displayed in the ad slot can be bound to the corresponding ad landing page. When the user clicks on the content in the ad slot, the terminal device can jump to the ad landing page bound to the content according to the ad landing page address corresponding to the ad landing page, that is, the terminal device can display the ad landing page bound to the content in the display interface.
[0234] It should be noted that the embodiments of the present application do not impose any restrictions on the specific manner in which the ad server performs ad matching, which can be determined based on actual scenarios. For example, the ad server can perform ad matching based on the information carried in the first ad request and the ad delivery requirements of the ad server. For example, the ad server can perform ad matching based on the information carried in the first ad request and the traffic volume of the contracted ad, and so on.
[0235] In one example, after the advertising service module obtains the first advertisement returned by the advertising server, the first advertisement (e.g., the advertisement position ad_id and related advertisement content ad_content of the first advertisement) can be saved locally. In addition, the advertising service module can also download the corresponding material files (e.g., video files and / or pictures, etc.) to the local according to the material address in the first advertisement (e.g., video material address and / or picture material address, etc.) to save the video files and / or pictures and other material files locally. For example, the downloaded video file can be saved in the local address local_video_path, and the downloaded picture can be saved in the local address local_image_path.
[0236] Optionally, after the advertising service module downloads the first advertisement locally, it can monitor whether the first advertisement has expired based on the end time (i.e., end_time) corresponding to the first advertisement. When the first advertisement expires, i.e., when the end time of the first advertisement is reached, the advertising service module can delete the locally cached first advertisement and the corresponding material file of the first advertisement.
[0237] Optionally, after the advertising service module downloads the first advertisement locally, it can also obtain the traffic of the first advertisement from the advertising server in real time or periodically. When the traffic of the first advertisement meets the requirements, the advertising service module can delete the locally cached first advertisement and the corresponding material files of the first advertisement to avoid over-delivery of advertisements.
[0238] Optionally, when there are multiple target startup times, the advertising service module may determine multiple first times based on each target startup time and a preset time threshold, and retrieve the first advertisement based on each of the multiple first times. In this case, after the advertising service module retrieves the first advertisement based on the later first time (e.g., first advertisement B), it may delete the first advertisement retrieved based on the earlier first time (e.g., first advertisement A), thereby reducing memory usage on the terminal device.
[0239] For example, when the advertising AI module predicts the target startup time A and target startup time B corresponding to the target application, assuming that the target startup time A is earlier than the target startup time B, for example, the target startup time A is 12:00 on October 21, 2023, and the target startup time B is 20:00 on October 21, 2023, the advertising business module can determine the first time A based on the target startup time A and the preset time threshold, for example, the first time A can be 11:50 on October 21, 2023, and can determine the first time B based on the target startup time B and the preset time threshold, for example, the first time B can be 19:50 on October 21, 2023. At this time, the advertising business module can send a first advertising request to the advertising server at the first time A to request the first advertisement (for example, the first advertisement A). In addition, the advertising business module can also send a first advertising request to the advertising server at the first time B to request the first advertisement (for example, the first advertisement B). After obtaining the first advertisement B, the advertising business module can delete the first advertisement A saved locally.
[0240] For example, when a user launches the target application at or after the target launch time, the advertising SDK integrated with the target application may send an advertising request (hereinafter referred to as advertising request C) to the advertising service component (e.g., the advertising service module within the advertising service component). After receiving the advertising request C sent by the advertising SDK, the advertising service module may query whether a first advertisement that meets the requirements is cached locally based on the advertising request C. If a first advertisement that meets the requirements is cached locally, the advertising service module may return the locally cached first advertisement that meets the requirements to the advertising SDK.
[0241] Optionally, the advertising service component can provide a remote call interface for the advertising SDK. The advertising SDK can use the remote call interface to send an advertising request C to the advertising service component. The advertising service module in the advertising service component can use the remote call interface to obtain the advertising request C sent by the advertising SDK. For example, the remote call interface can be as follows:
[0242] interface IAdRemoteServiceApi{
[0243] String queryCacheAd(String adId);
[0244] }
[0245] Wherein, adId is the ad slot ID corresponding to the target application requesting the first advertisement.
[0246] Optionally, the advertising service module can internally implement the queryCacheAd interface of the IAdRemoteServiceApi. Additionally, the advertising service module can read the target application's package name (packageName) through a system interface. Subsequently, the advertising service module can query locally for a first advertisement that meets the requirements based on the ad slot ID (i.e., adId) carried in the ad request C and the package name (packageName) read through the system interface.
[0247] For example, the first advertisement returned to the advertisement SDK must meet the following requirements: (1) the packageName in the first advertisement is the same as the packageName read by the advertisement service module; (2) the advertisement slot ID (i.e., ad_id) in the first advertisement is the same as the advertisement slot ID (i.e., adId) carried in the advertisement request C; (3) the end time (i.e., end_time) of the first advertisement has not expired, that is, the first advertisement is still within the validity period; (4) when the first advertisement contains material files such as video materials and / or picture materials, the downloaded video files and / or picture materials exist locally.
[0248] Optionally, after the advertising service module finds the first advertisement that meets the requirements, it can return the first advertisement to the advertising SDK. For example, the advertising service module can return the first advertisement that meets the requirements to the advertising SDK in JSON format. For example, the first advertisement returned by the advertising service module in JSON format can be as follows:
[0249]
[0250] It is understandable that after the advertising SDK obtains the first advertisement returned by the advertising business module, it can directly display the first advertisement. For example, it can display the advertisement at the location corresponding to the target application according to the advertisement position corresponding to the target application, without displaying a waiting page. This can increase the display speed of the advertisement, increase the display rate of the advertisement, increase the startup speed of the application, and improve the user experience. After the first advertisement is displayed, the advertising SDK can send information A to the target application. Information A can be used to inform the target application that the display of the first advertisement has ended and that the target application interface can be entered. After the target application receives information A, it can display the interface of the target application.
[0251] Optionally, when the advertising service module fails to find a first advertisement that meets the requirements, the advertising service module may send information B to the advertising SDK. Information B may be used to inform the advertising SDK that no first advertisement that meets the requirements is available locally. When the advertising SDK receives information B from the advertising service module indicating that no first advertisement is available, the advertising SDK may send information C to the target application. Information C may be used to inform the target application that no first advertisement is available and that the target application interface may be directly displayed. After receiving information C, the target application may directly enter the target application interface without displaying a waiting page, thereby speeding up application startup and improving the user experience.
[0252] It is understandable that when the advertising business module does not query the first advertisement that meets the requirements, the advertising business module may not send any information to the advertising SDK. When the advertising SDK does not receive the first advertisement sent by the advertising business module within the specified time, it can be determined that there is no first advertisement that meets the requirements locally. At this time, the advertising SDK can send information C to the target application. After the target application obtains information C, it can directly display the interface of the target application. Among them, the specified time can be specifically determined according to the actual scenario, and the embodiments of the present application do not impose any restrictions on this. For example, the specified time can be determined to be 2 seconds or 3 seconds, etc. according to the actual scenario.
[0253] See also Figure 4 , Figure 4 A schematic flow chart of an advertisement display method provided in another embodiment of the present application is shown.
[0254] like Figure 4As shown, when the target application is detected to be opened, the target application can call the advertising SDK to send an advertising request C to the advertising service component. For example, the advertising request C can be sent to the advertising business module in the advertising service component. The advertising request C can carry the advertising slot ID corresponding to the target application.
[0255] After receiving the ad request C from the ad SDK, the ad service module can query whether a first ad that meets the request is cached locally. If the ad service module determines that a first ad that meets the request is not cached locally, it can send a message A indicating that there is no first ad to the ad SDK. This message A can be used to inform the ad SDK that a first ad that meets the request is not cached locally.
[0256] After receiving message A from the advertising service module, the advertising SDK can send message B to the target application, indicating that the first advertisement is not available. This message B can be used to inform the target application that the first advertisement is not available and that the target application interface can be directly displayed. After receiving message B, the target application can display the target application interface.
[0257] When the advertising service module determines that a first advertisement meeting the requirements is available in the local cache, the advertising service module may send the first advertisement meeting the requirements to the advertising SDK.
[0258] After the advertising SDK receives the first advertisement returned by the advertising service module, it can directly display the first advertisement. After the first advertisement is displayed, the advertising SDK can send a display end message C to the target application. This message C can be used to inform the target application that the first advertisement display has ended and that the target application interface can be entered. After receiving the message C, the target application can display the target application interface.
[0259] The following is an illustrative description of the advertisement display method provided in the embodiment of the present application, taking the target application as a browser and the first advertisement as a splash screen advertisement as an example.
[0260] See also Figure 5 , Figure 5 A schematic flow chart of an advertisement display method provided by another embodiment of the present application is shown. The method can be applied to a communication system, which may include a terminal device and an advertisement server. The advertisement server may be an ADX. The terminal device and the advertisement server may be communicatively connected, for example, the terminal device may be communicatively connected to the advertisement server via a wired network or a wireless network. The advertisement server may store advertisements uploaded by various advertisers. The terminal device may be integrated with a system-level advertisement service component. The advertisement service component may include an advertisement AI module and an advertisement business module. A time prediction model may be provided in the advertisement AI module.
[0261] like Figure 5 As shown, the method may include:
[0262] S501. The advertising AI module obtains historical startup time.
[0263] For example, the advertising AI module can obtain the time when the user opened the browser in the past week (i.e., the historical startup time of the browser). Assume that the time when the user opened the browser in the past week is: 12:00 and 20:00 on October 21, 2023, 20:00 on October 22, 2023, 19:00 on October 23, 2023, 21:00 on October 24, 2023, 12:00 on October 25, 2023, 13:00 and 20:00 on October 26, 2023, and 12:00 on October 27, 2023.
[0264] S502: The advertising AI module predicts the time T when the user will next open the browser.
[0265] Optionally, the advertising AI module can predict the time T when the user will next open the browser (i.e., the target startup time corresponding to the browser) based on the time the user opened the browser in the past week, and send the predicted target startup time to the advertising business module. For example, the advertising AI module can input the time when the user opened the browser in the past week into the time prediction model for processing. The time prediction model can predict the target startup time corresponding to the browser based on the time the user opened the browser in the past week. Assume that the predicted target startup time corresponding to the browser is 12:00 on October 28, 2023.
[0266] S503: The advertising service module sets a timer task, and the triggering time of the timer task is Tm.
[0267] For example, after the advertising service module obtains the target startup time corresponding to the browser sent by the advertising AI module, it can determine the first time (e.g., Tm) to send the advertising request to the advertising server based on the target startup time and the preset time threshold m, and set a scheduled task based on the first time. The trigger time of the scheduled task can be the first time (i.e., Tm).
[0268] S504: When the first time arrives, the advertising service module triggers the execution of the scheduled task to send a first advertising request to request a splash screen advertisement.
[0269] Optionally, when the first time arrives, the advertising service module can trigger the execution of the scheduled task to send a first advertising request to the advertising server to request a splash screen advertisement. Assuming that the preset time threshold is 10 minutes, the advertising service module can send the first advertising request to the advertising server at 11:50 on October 28, 2023.
[0270] S505: The advertising server determines a splash screen advertisement according to the first advertising request, and returns the splash screen advertisement to the advertising service module.
[0271] Illustratively, after the advertising server obtains the first advertising request sent by the advertising service module, it may determine a splash screen advertisement that matches the first advertising request, and may return the splash screen advertisement to the advertising service module.
[0272] S506. The advertising service module saves the splash screen advertisement and the material files in the splash screen advertisement.
[0273] Optionally, after the advertising service module obtains the splash screen advertisement returned by the advertising server, it can save the splash screen advertisement locally and download and save the material file according to the material address in the splash screen advertisement.
[0274] S507: The user opens the browser at time T.
[0275] S508. The advertisement SDK integrated in the browser obtains the splash screen advertisement saved by the advertisement service module.
[0276] S509. The advertising SDK displays a splash screen advertisement.
[0277] It is understandable that when the user opens the browser at the target startup time (i.e., 12:00 on October 28, 2023) or later, the advertising SDK integrated in the browser can send an advertising request C to the advertising business module in the advertising service component to request the locally cached splash screen advertisement. After the advertising business module obtains the advertising request C sent by the advertising SDK, it can determine the locally cached splash screen advertisement (such as splash screen advertisement A) based on the advertising request C, and can send splash screen advertisement A to the advertising SDK. After the advertising SDK obtains the splash screen advertisement A returned by the advertising business module, it can display the splash screen advertisement A.
[0278] It should be understood that the size of the serial numbers of the steps in the above embodiments does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0279] Corresponding to the advertisement display method described in the above embodiment, the embodiment of the present application further provides an advertisement display device, and each module of the device can correspond to each step of the advertisement display method.
[0280] It should be noted that the information interaction, execution process, etc. between the above-mentioned devices / units are based on the same concept as the method embodiment of this application. Their specific functions and technical effects can be found in the method embodiment section and will not be repeated here.
[0281] Those skilled in the art can clearly understand that, for the convenience and brevity of description, only the division of the above-mentioned functional units and modules is used as an example for illustration. In actual applications, the above-mentioned functions can be distributed and completed by different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiment can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application. The specific working process of the units and modules in the above-mentioned system can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here.
[0282] The embodiment of the present application also provides a terminal device, which includes at least one memory, at least one processor, and a computer program stored in the at least one memory and executable on the at least one processor. When the processor executes the computer program, the terminal device implements the steps of any of the above-mentioned method embodiments. For example, the structure of the terminal device can be as follows: Figure 1 shown.
[0283] An embodiment of the present application further provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program. When the computer program is executed by a computer, the computer is enabled to implement the steps of any of the above method embodiments.
[0284] An embodiment of the present application provides a computer program product. When the computer program product is run on a terminal device, the terminal device implements the steps of any of the above method embodiments.
[0285] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the present application implements all or part of the processes in the above-mentioned embodiment method, which can be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium, and when the computer program is executed by the processor, it can implement the steps of the above-mentioned various method embodiments. Among them, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form. The computer-readable storage medium may at least include: any entity or device that can carry the computer program code to the device / terminal device, a recording medium, a computer memory, a read-only memory (ROM), a random access memory (RAM), an electric carrier signal, a telecommunication signal and a software distribution medium. For example, a USB flash drive, a mobile hard disk, a magnetic disk or an optical disk. In some jurisdictions, according to legislation and patent practice, a computer-readable storage medium cannot be an electric carrier signal or a telecommunication signal.
[0286] In the above embodiments, the description of each embodiment has its own focus. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant description of other embodiments.
[0287] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0288] In the embodiments provided in this application, it should be understood that the disclosed devices / terminal equipment and methods can be implemented in other ways. For example, the device / terminal equipment embodiments described above are merely illustrative. For example, the division of the modules or units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0289] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.
[0290] The above-described embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. These modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the various embodiments of the present application, and should all be included in the scope of protection of the present application.
Claims
1. An advertisement display method, characterized in that: Applied to a terminal device, the method includes: detecting a first operation, where the first operation is an operation of starting a target application; In response to the first operation, a first advertisement is displayed, the first advertisement is stored in the terminal device, the first advertisement is obtained by the terminal device from the advertising server at a first time, the first time is determined based on a first target startup time, the first time is earlier than the first target startup time, and the interval between the first time and the first target startup time is less than or equal to a preset time threshold, and the first target startup time is the time predicted by the terminal device to start the target application.
2. The method according to claim 1, characterized in that The method further comprises: Obtain a historical startup time of the target application, and predict the first target startup time based on the historical startup time.
3. The method according to claim 2, characterized in that The terminal device is provided with a time prediction model, and predicting the first target startup time according to the historical startup time includes: The first target startup time is predicted according to the time prediction model and the historical startup time.
4. The method according to any one of claims 1 to 3, characterized in that The method further comprises: The first time is determined according to the first target start time and the preset time threshold, and a first scheduled task is set according to the first time. The first scheduled task is to send a first advertisement request to the advertising server at the first time to request to obtain the first advertisement.
5. The method according to any one of claims 1 to 4, characterized in that The method further comprises: Obtaining a first advertisement returned by the advertisement server and saving the first advertisement, where the first advertisement is the advertisement returned by the advertisement server in response to a first advertisement request sent by the terminal device; According to the material address in the first advertisement, the material file corresponding to the first advertisement is downloaded and saved.
6. The method according to any one of claims 1 to 5, characterized in that The method further comprises: At a second time, the first advertisement is deleted, and the second time is when the first advertisement expires.
7. The method according to any one of claims 1 to 6, characterized in that The method further comprises: Determining a third time according to a second target startup time and the preset time threshold, wherein the second target startup time is a time predicted by the terminal device to start the target application, and the second target startup time is later than the first target startup time; Setting a second scheduled task according to the third time, wherein the second scheduled task is to send a second advertisement request to the advertisement server at the third time to request for obtaining a second advertisement; After acquiring the second advertisement returned by the advertisement server, the first advertisement is deleted and the second advertisement is determined as the first advertisement, where the second advertisement is the advertisement returned by the advertisement server in response to the second advertisement request.
8. The method according to any one of claims 1 to 7, characterized in that The step of displaying a first advertisement in response to the first operation includes: In response to the first operation, determining whether the first advertisement is stored in the terminal device; When the first advertisement is stored in the terminal device, the first advertisement is displayed.
9. The method according to any one of claims 1 to 7, characterized in that The step of displaying a first advertisement in response to the first operation includes: In response to the first operation, determining whether the first advertisement is stored in the terminal device; When the first advertisement is not stored in the terminal device, the interface of the target application is displayed.
10. The method according to any one of claims 1 to 9, characterized in that The first advertisement is a splash screen advertisement.
11. A terminal device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the terminal device implements the advertisement display method according to any one of claims 1 to 10.
12. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a computer, the computer is caused to implement the advertisement display method according to any one of claims 1 to 10.