Advertisement display method and related device

By preloading ad creatives on the terminal and recommending optimal ads from the server, the problem of slow ad creative download speed was solved, ad display latency was optimized, and user experience and exposure were improved.

CN115271775BActive Publication Date: 2026-04-21HUAWEI TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HUAWEI TECH CO LTD
Filing Date
2021-04-30
Publication Date
2026-04-21

AI Technical Summary

Technical Problem

Slow download speed of advertising creatives causes ad display latency to exceed media requirements, affecting user experience and exposure.

Method used

The terminal preloads some advertising materials and displays the undownloaded advertising materials within a preset time. Combined with the advertising server recommending the best advertisements based on the terminal information, the download efficiency is improved.

Benefits of technology

It reduces ad display latency, improves ad delivery efficiency and user experience, ensures timely ad display, and avoids impacting exposure.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115271775B_ABST
    Figure CN115271775B_ABST
Patent Text Reader

Abstract

The application provides an advertisement display method and related equipment thereof. The method comprises the following steps: a terminal sends an advertisement request to an advertisement server; the terminal receives a return message sent by the advertisement server in response to the advertisement request; the terminal judges whether a second advertisement has been downloaded within a preset time; if the terminal has downloaded the second advertisement within the preset time, the terminal displays the second advertisement; and if the terminal has not downloaded the second advertisement within the preset time, the terminal displays a first advertisement. The embodiment of the application can improve the display frequency and efficiency of advertisements.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communications, and more specifically, to an advertising display method and related equipment. Background Technology

[0002] Typically, advertisers upload their advertising creatives to an ad resource pool. These creatives can include images, text, videos, audio, and AR / VR content. When a terminal detects that a user has launched an application or entered a specific interface of an application, it can send an ad request to the ad server. The ad server then searches the ad resource pool for a target ad that matches the request and returns the ad information to the terminal. Based on this ad information, the terminal can further retrieve the advertising creative for the target ad from the ad server and display it on the terminal's screen.

[0003] When downloading the aforementioned advertising materials on a device, slow download speeds may occur. This could be due to factors such as large file sizes of images, videos, or audio files within the advertising materials, poor network quality during download, or timeouts when requesting the advertising server. Generally, media outlets have requirements regarding ad display latency. For example, most media outlets aim to keep the latency from requesting an ad to its final display within 2 seconds. Excessive latency negatively impacts the user experience. If the entire process exceeds 2 seconds, the application will directly connect to the media application. In this case, the ad's exposure will be affected because it cannot be displayed promptly. Summary of the Invention

[0004] This application provides an advertising display method in which the advertising server returns the optimal advertisement based on the pre-loaded advertising information on the terminal, thereby improving the efficiency of advertising delivery.

[0005] In a first aspect, an advertising display method is provided, comprising: a terminal sending an advertising request to an advertising server, the advertising request including a first set of advertising information, the first set of advertising information including one or more first advertising information, the advertisement corresponding to the first advertising information being an advertisement preloaded by the terminal; the terminal receiving a return message from the advertising server in response to the advertising request, the return message including first advertising information and second advertising information, the advertisement corresponding to the second advertising information being an advertisement not preloaded by the terminal; the terminal determining whether a second advertisement has been downloaded within a preset time; if the terminal has downloaded the second advertisement within the preset time, the terminal displays the second advertisement; if the terminal has not downloaded the second advertisement within the preset time, the terminal displays the first advertisement.

[0006] The method provided in the first aspect involves the terminal sending a preloaded advertisement request to the advertisement server before sending an advertisement request to the advertisement server; the terminal receiving second return information sent by the advertisement server, the return information including a second set of advertisement information, the second advertisement being an advertisement that needs to be preloaded in the terminal, and the second advertisement being one or more; and the terminal downloading a third advertisement based on the third advertisement information.

[0007] In the method provided in the first aspect, the preloaded ad request and the ad request include one or more of the following parameters: preload identifier, ad slot identifier, device identifier, user identifier, user behavior data, etc.

[0008] The method provided in the first aspect further includes: the terminal sending a second advertising request to an advertising server, the advertising request including a first advertising information set, the first advertising information set including one or more first advertisements, the first advertisements being advertisements pre-loaded by the terminal; the terminal receiving a third return message sent by the advertising server in response to the advertising request, the return message including the first advertising information; and the terminal displaying the first advertising material corresponding to the first advertisement.

[0009] In the method provided in the first aspect, the returned message includes one or more of the following parameters: download link of the advertising material, advertisement identifier, advertisement name, application package name, and terminal address information.

[0010] In the method provided in the first aspect, the terminal sends an advertising request to the advertising server by calling the advertising SDK.

[0011] The method provided in the first aspect further includes: the terminal acquiring a first operation of the user, the first operation being an operation to open an application or an operation to click a link in the application.

[0012] The method provided in the first aspect, before the terminal downloads the third advertisement based on the third advertisement information, further includes: the terminal determining to connect to a network via WIFI.

[0013] The second aspect provides a method in which an advertising server receives an advertising request sent by a terminal, the advertising request including a first set of advertising information, the first set of advertising information including one or more first advertising information, and the advertising corresponding to the first advertising information being an advertising preloaded by the terminal; the advertising server responds to the advertising request by obtaining an optimal advertising; if the first set of advertising includes the optimal advertising, it sends a third return message to the terminal, the return message containing information about the optimal advertising; if the first set of advertising does not include the optimal advertising, it obtains a backup advertising from the first set of advertising and sends a return message to the terminal, the return message containing information about the optimal advertising and the backup advertising information.

[0014] The second aspect of the method also includes:

[0015] The advertising server receives a preloaded advertisement request sent by the terminal; the advertising server sends a second return message to the terminal, the return message including a second set of advertisement information, the second advertisement being an advertisement that needs to be preloaded in the terminal, and the second advertisement being one or more.

[0016] The method provided in the second aspect includes a preloaded ad request and an ad request that include one or more of the following parameters: preload identifier, ad slot identifier, device identifier, user identifier, user behavior data, etc.

[0017] The second aspect provides a method in which the server obtains the optimal advertisement based on at least one of the following parameters: device identifier, user identifier, and user behavior data.

[0018] The second aspect provides a method in which the server obtains the second advertisement based on at least one of the following parameters: device identifier, user identifier, and user behavior data.

[0019] Thirdly, a communication device is provided, which includes units for performing the steps of the first aspect or any possible implementation of the first aspect.

[0020] Fourthly, a communication device is provided, comprising at least one processor and a memory coupled together, the memory storing program instructions that, when executed by the processor, perform the methods described in the first aspect or any possible implementation thereof.

[0021] Fifthly, a communication device is provided, comprising at least one processor and interface circuitry, the at least one processor being configured to execute the methods described in the first aspect or any possible implementation thereof.

[0022] Sixthly, a central device is provided, which includes any of the communication devices provided in the third, fourth, or fifth aspects described above.

[0023] In a seventh aspect, a computer program product is provided, comprising a computer program that, when executed by a processor, is used to perform a method in the first aspect or any possible implementation thereof, or to perform a method in the second aspect or any possible implementation thereof.

[0024] Eighthly, a computer-readable storage medium is provided, which stores a computer program that, when executed, performs the method of the first aspect or any possible implementation thereof, or performs the method of the second aspect or any possible implementation thereof.

[0025] Ninth aspect, a chip is provided, the chip comprising: a processor for calling and running a computer program from a memory, causing a communication device having the chip installed to perform a method of the first aspect or any possible implementation thereof, or to perform a method of the second aspect or any possible implementation thereof. Attached Figure Description

[0026] Figure 1 This is a schematic diagram of a communication system architecture applicable to an embodiment of this application.

[0027] Figure 2 This is a schematic diagram of another communication system architecture applicable to embodiments of this application.

[0028] Figure 3 This is a schematic diagram of another communication system architecture applicable to embodiments of this application.

[0029] Figure 4 This is a schematic block diagram of an example communication structure provided in an embodiment of this application.

[0030] Figure 5 This is a flowchart illustrating an example of an advertising display method provided in this application.

[0031] Figure 6 This is a flowchart illustrating another example of an advertising display method provided in this application.

[0032] Figure 7 This is a flowchart illustrating another example of an advertising display method provided in this application.

[0033] Figure 8This is an illustrative interface diagram of an advertiser creating an advertisement on an advertising platform, provided in this application.

[0034] Figure 9A This is one of the schematic interface diagrams of a terminal display advertisement provided in this application.

[0035] Figure 9B This is the second illustrative interface diagram of a terminal display advertisement provided in this application.

[0036] Figure 9C This is the third illustrative interface diagram of a terminal display advertisement provided in this application.

[0037] Figure 10 This is another illustrative interface diagram of a terminal display advertisement provided in this application.

[0038] Figure 11 This is another illustrative interface diagram of a terminal display advertisement provided in this application.

[0039] Figure 12 This is another example of an interface diagram showing an advertisement on a terminal.

[0040] Figure 13 This is an example of a terminal requesting an advertisement from an advertising server in a terminal operating system. Detailed Implementation

[0041] The technical solutions in this application will now be described with reference to the accompanying drawings.

[0042] In the description of the embodiments of this application, unless otherwise stated, " / " means "or", for example, A / B can mean A or B; "and / or" in this document is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. In addition, in the description of the embodiments of this application, "multiple" means two or more.

[0043] Hereinafter, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of this embodiment, unless otherwise stated, "a plurality of" means two or more.

[0044] Furthermore, various aspects or features of this application can be implemented as methods, apparatus, or articles of manufacture using standard programming and / or engineering techniques. The term "article of manufacture" as used herein encompasses a computer program accessible from any computer-readable device, carrier, or medium. For example, computer-readable media may include, but are not limited to: magnetic storage devices (e.g., hard disks, floppy disks, or magnetic tapes), optical discs (e.g., compact discs (CDs), digital versatile discs (DVDs), etc.), smart cards, and flash memory devices (e.g., erasable programmable read-only memory (EPROMs), cards, sticks, or key drives, etc.). Additionally, the various storage media described herein may represent one or more devices and / or other machine-readable media for storing information. The term "machine-readable medium" may include, but is not limited to, wireless channels and various other media capable of storing, containing, and / or carrying instructions and / or data.

[0045] The technical solutions of this application embodiment can be applied to various communication systems, such as: Global System of Mobile communication (GSM) system, Code Division Multiple Access (CDMA) system, Wideband Code Division Multiple Access (WCDMA) system, General Packet Radio Service (GPRS), Long Term Evolution (LTE) system, LTE Frequency Division Duplex (FDD) system, LTE Time Division Duplex (TDD) system, Universal Mobile Telecommunication System (UMTS), Worldwide Interoperability for Microwave Access (WiMAX) system, 5th Generation (5G) system, or New Radio (NR), etc.

[0046] In specific implementations, terminal 11 can be a desktop, laptop, tablet, handheld computer, mobile phone, laptop, ultra-mobile personal computer (UMPC), netbook, as well as cellular phone, personal digital assistant (PDA), dedicated media player, consumer electronic device, wearable device, AR (augmented reality) / VR (virtual reality) device, etc.

[0047] The term "user interface (UI)" used in the following embodiments of this application refers to the medium interface through which an application or operating system interacts and exchanges information with a user. It realizes the conversion between the internal form of information and the form that the user can accept. The user interface is source code written in a specific computer language such as Java or Extensible Markup Language (XML). The interface source code is parsed and rendered on the electronic device, ultimately presenting content that the user can recognize. A common form of user interface is the graphical user interface (GUI), which refers to a user interface related to computer operation displayed graphically. It can be visible interface elements such as text, icons, buttons, menus, tabs, text boxes, dialog boxes, status bars, navigation bars, and widgets displayed on the screen of an electronic device.

[0048] Advertising refers to the dissemination of information about goods or services to users through applications by advertisers in order to enhance brand awareness, promote services, increase product sales, and boost business revenue. Advertisements consist of advertising elements, including but not limited to: images, videos, audio, text, AR, VR, etc.

[0049] The ad creative ID (cacheContentId) is associated with the ad creative. When an advertiser uploads an ad to the ad server, a corresponding cacheContentId is assigned to the ad. In subsequent ad allocation or request processes, the corresponding ad creative is associated with the cacheContentId.

[0050] Advertising SDK: An SDK (Software Development Kit) is a software development toolkit. An advertising SDK provides advertising-related functionalities, such as requesting ads from an ad server and providing capabilities for ad display, clicking, and downloading. In some embodiments, applications can directly integrate this advertising SDK to acquire these advertising capabilities; in other embodiments, the terminal can integrate a system-level advertising SDK, which is a system module that can provide advertising services to all applications in the electronic device 100.

[0051] Server 12 maintains an advertising resource pool, which stores advertising materials (such as text, images, videos, and audio materials appearing in the advertisement) and advertising information (such as the advertisement type and the link address of the advertising materials) uploaded by various advertisers.

[0052] Figure 1 The diagram shown is a schematic representation of a communication system architecture applicable to an embodiment of this application. Figure 1 As shown, the communication system includes a user terminal 11 and an advertising server 12. Advertisers can upload advertisements to the advertising server in advance. Data and information can be transmitted between the terminal and the advertising server via LTE, 5G, or other communication technologies. When an advertisement request is made, the terminal, triggered by the user, can send an advertisement request to the advertising server. The advertising server then searches the advertising resource pool for the advertising information of a target advertisement that matches the request (e.g., the target advertisement's ID, name, advertisement type, and download link for its advertising materials), and returns this advertising information to the terminal. The terminal can then further retrieve the advertising materials for the target advertisement from the advertising server based on this information. For example, it can download the advertising materials for the target advertisement using the download link provided in the advertising information, and then display the advertising materials for the target advertisement on the terminal's display interface.

[0053] In one embodiment, such as Figure 2 As shown, terminal 11 has multiple applications 13 installed. The terminal's system provides an advertising SDK 14, a caching module 15, a data acquisition module 16, etc. These modules can be called by multiple applications to provide advertising services. The advertising SDK on the terminal is mainly used for application integration and provides services such as advertising-related requests, playback, and event reporting. The caching module is used to store pre-loaded advertising materials and can be a memory storage unit. The data acquisition module is used to acquire user behavior parameters or device parameters, which can be obtained by calling the device's API.

[0054] The advertising server 12 includes a request acquisition module 19, an advertising delivery module 17, and an advertising service module 18. The request acquisition module 19 is used to acquire advertising requests from terminals and extract valid advertising information from the advertising requests, such as the type of advertisement, user behavior parameters, or device parameters. The advertising delivery module allows advertisers to deliver advertisements according to their advertising needs and stores the advertisements delivered by advertisers on the server. The advertising service module is used to match the advertising requests from terminals with the advertising needs of advertisers and send the corresponding advertisements to the terminals.

[0055] In another embodiment, such as Figure 3 As shown, multiple applications are installed on the terminal, and each application integrates an advertising software development kit (SDK) module, a caching module, and a data acquisition module. When a third-party application, such as a media application, can directly integrate this advertising SDK, it will have the capability to display these advertisements.

[0056] like Figure 4 As shown in the embodiments of this application, terminal 11 is used as an example of electronic device 100. It should be understood that, Figure 4 The electronic device 100 shown is merely an example of a terminal, and the electronic device 100 may have more or fewer components than those shown in the figure, may combine two or more components, or may have different component configurations.

[0057] Electronic device 100 may include at least one of the following: mobile phone, foldable electronic device, tablet computer, desktop computer, laptop computer, handheld computer, notebook computer, ultra-mobile personal computer (UMPC), netbook, cellular phone, personal digital assistant (PDA), augmented reality (AR) device, virtual reality (VR) device, artificial intelligence (AI) device, wearable device, in-vehicle device, smart home device, or smart city device. This application embodiment does not impose any special limitation on the specific type of electronic device 100.

[0058] Electronic device 100 may include processor 110, external memory interface 120, internal memory 121, universal serial bus (USB) interface 130, charging management module 140, power management module 141, battery 142, antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, audio module 170, speaker 170A, receiver 170B, microphone 170C, headphone jack 170D, sensor module 180, button 190, motor 191, indicator 192, camera 193, display screen 194, and subscriber identification module (SIM) card interface 195, etc. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, a barometric pressure sensor 180C, a magnetic sensor 180D, an accelerometer sensor 180E, a distance sensor 180F, a proximity sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, and a bone conduction sensor 180M.

[0059] It is understood that the structures illustrated in the embodiments of this application do not constitute a specific limitation on the electronic device 100. In other embodiments of this application, the electronic device 100 may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

[0060] Processor 110 may include one or more processing units, such as: application processor (AP), modem processor, graphics processing unit (GPU), image signal processor (ISP), controller, video codec, digital signal processor (DSP), baseband processor, and / or neural network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.

[0061] The processor can generate operation control signals based on the instruction opcode and timing signals to control the instruction fetching and execution.

[0062] The processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in the processor 110 may be a cache memory. This memory can store instructions or data that the processor 110 has used or that are used frequently. If the processor 110 needs to use the instruction or data, it can directly retrieve it from this memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.

[0063] In some embodiments, the processor 110 may include one or more interfaces. These 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, etc. The processor 110 can connect to modules such as touch sensors, audio modules, wireless communication modules, displays, and cameras through at least one of these interfaces.

[0064] It is understood that the interface connection relationships between the modules illustrated in the embodiments of this application are merely illustrative and do not constitute a structural limitation on the electronic device 100. In other embodiments of this application, the electronic device 100 may also employ different interface connection methods or combinations of multiple interface connection methods as described in the above embodiments.

[0065] USB interface 130 is a USB standard-compliant interface used to connect electronic device 100 to peripheral devices, specifically a Mini USB interface, Micro USB interface, USB Type-C interface, etc. USB interface 130 can be used to connect a charger to charge electronic device 100, or to connect other electronic devices to enable data transfer between them. It can also be used to connect headphones to output audio stored in the electronic device. This interface can also be used to connect other electronic devices, such as VR devices. In some embodiments, the Universal Serial Bus standard specification can be USB 1.x, USB 2.0, USB 3.x, and USB 4.

[0066] The charging management module 140 receives charging input from a charger. The charger can be a wireless charger or a wired charger. In some wired charging embodiments, the charging management module 140 receives charging input from the wired charger via the USB interface 130. In some wireless charging embodiments, the charging management module 140 receives wireless charging input via the wireless charging coil of the electronic device 100. While charging the battery 142, the charging management module 140 can also supply power to the electronic device via the power management module 141.

[0067] The power management module 141 connects the battery 142, the charging management module 140, and the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140, providing power to the processor 110, internal memory 121, display screen 194, camera 193, and wireless communication module 160, etc. The power management module 141 can also monitor parameters such as battery capacity, battery cycle count, and battery health status (leakage current, impedance). In some other embodiments, the power management module 141 may also be located within the processor 110. In other embodiments, the power management module 141 and the charging management module 140 may be located in the same device.

[0068] The wireless communication function of electronic device 100 can be realized through antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modem processor and baseband processor, etc.

[0069] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in electronic device 100 can be used to cover one or more communication frequency bands. Different antennas can also be multiplexed to improve antenna utilization. For example, antenna 1 can be multiplexed as a diversity antenna for a wireless local area network. In some other embodiments, the antennas can be used in conjunction with a tuning switch.

[0070] The mobile communication module 150 can provide solutions for wireless communication, including 2G / 3G / 4G / 5G, applied to the electronic device 100. The mobile communication module 150 may include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves via antenna 1, and perform filtering, amplification, and other processing on the received electromagnetic waves before transmitting them to a modem processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modem processor and convert it into electromagnetic waves for radiation via antenna 1. In some embodiments, at least some functional modules of the mobile communication module 150 may be housed in the processor 110. In some embodiments, at least some functional modules of the mobile communication module 150 and at least some modules of the processor 110 may be housed in the same device.

[0071] The modem processor may include a modulator and a demodulator. The modulator modulates the low-frequency baseband signal to be transmitted into a mid-to-high frequency signal. The demodulator demodulates 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 processing by the baseband processor, the low-frequency baseband signal is transmitted to the application processor. The application processor outputs sound signals through an audio device (not limited to speaker 170A, receiver 170B, etc.) or displays images or videos through the display screen 194. In some embodiments, the modem processor may be a separate device. In other embodiments, the modem processor may be independent of the processor 110 and may be housed in the same device as the mobile communication module 150 or other functional modules.

[0072] The wireless communication module 160 can provide solutions for wireless communication applications on the electronic device 100, including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), Bluetooth Low Energy (BLE), ultra-wideband (UWB), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), and infrared (IR) technologies. The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via antenna 2, performs frequency modulation and filtering of the electromagnetic wave signals, and sends the processed signal to processor 110. The wireless communication module 160 can also receive signals to be transmitted from processor 110, perform frequency modulation and amplification, and convert them into electromagnetic waves for radiation via antenna 2.

[0073] In some embodiments, antenna 1 of electronic device 100 is coupled to mobile communication module 150, and antenna 2 is coupled to wireless communication module 160, enabling electronic device 100 to communicate with networks and other electronic devices via wireless communication technology. This 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 technologies, etc. The GNSS may include the Global Positioning System (GPS), the Global Navigation Satellite System (GLONASS), the BeiDou Navigation Satellite System (BDS), the Quasi-Zenith Satellite System (QZSS), and / or satellite-based augmentation systems (SBAS).

[0074] Electronic device 100 can implement display functions through a GPU, display screen 194, and application processor. The GPU is a microprocessor for image processing, connected to the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations and for graphics rendering. Processor 110 may include one or more GPUs, which execute program instructions to generate or modify display information.

[0075] Display screen 194 is used to display images, videos, etc. Display screen 194 includes a display panel. The display panel may 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 miniature LED, a microLED, a quantum dot light-emitting diode (QLED), etc. In some embodiments, electronic device 100 may include one or more display screens 194.

[0076] Electronic device 100 can realize camera function through camera 193, ISP, video codec, GPU, display screen 194, application processor AP, neural network processor NPU, etc.

[0077] Digital signal processors (DSPs) are used to process digital signals, and can also process other digital signals. For example, when electronic device 100 selects a frequency point, the DSP is used to perform Fourier transforms on the frequency energy, etc.

[0078] Video codecs are used to compress or decompress digital video. Electronic device 100 may support one or more video codecs. Thus, electronic device 100 can play or record videos in various encoding formats, such as Moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, MPEG4, etc.

[0079] An NPU (Neural Processing Unit) is a computational processor for neural networks (NNs). By borrowing the structure of biological neural networks, such as the transmission patterns between neurons in the human brain, it can rapidly process input information and continuously learn on its own. NPUs can enable intelligent cognitive applications in electronic devices, such as image recognition, facial recognition, speech recognition, and text understanding.

[0080] The external storage interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device 100. The external memory card communicates with the processor 110 through the external storage interface 120 to perform data storage functions. For example, it can save music, video, and other files to the external memory card, or transfer music, video, and other files from the electronic device to the external memory card.

[0081] Internal memory 121 can be used to store computer executable program code, including instructions. Internal memory 121 may include a program storage area and a data storage area. The program storage area may store the operating system, application programs required for at least one function (such as sound playback function, image playback function, etc.), etc. The data storage area may store data created during the use of electronic device 100 (such as audio data, phone book, etc.). In addition, internal memory 121 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, universal flash storage (UFS), etc. Processor 110 executes various functional methods or data processing of electronic device 100 by running instructions stored in internal memory 121 and / or instructions stored in memory disposed in the processor.

[0082] Electronic device 100 can implement audio functions, such as music playback and recording, through audio module 170, speaker 170A, receiver 170B, microphone 170C, headphone jack 170D, and application processor.

[0083] The audio module 170 is used to convert digital audio information into analog audio signals for output, and also to convert analog audio input into digital audio signals. The audio module 170 can also be used for encoding and decoding audio signals. In some embodiments, the audio module 170 may be located in the processor 110, or some functional modules of the audio module 170 may be located in the processor 110.

[0084] The speaker 170A, also known as a "loudspeaker," is used to convert audio electrical signals into sound signals. The electronic device 100 can listen to music through the speaker 170A or output audio signals for hands-free calling.

[0085] The receiver 170B, also known as the "earpiece," is used to convert audio electrical signals into sound signals. When the electronic device 100 answers a telephone call or voice message, the receiver 170B can be brought close to the ear to listen to the voice.

[0086] Microphone 170C, also known as a "microphone" or "voice transducer," is used to convert sound signals into electrical signals. When making a phone call or sending a voice message, the user can speak by bringing their mouth close to microphone 170C, inputting the sound signal into microphone 170C. Electronic device 100 may have at least one microphone 170C. In some embodiments, electronic device 100 may have two microphones 170C, which, in addition to collecting sound signals, can also perform noise reduction. In other embodiments, electronic device 100 may also have three, four, or more microphones 170C, which can collect sound signals, reduce noise, identify the sound source, and perform directional recording, etc.

[0087] The 170D headphone jack is used to connect wired headphones. The 170D headphone jack can be a USB 130 interface or a 3.5mm Open Mobile Terminal Platform (OMTP) standard interface, a CTIA (Cellular Telecommunications Industry Association of the USA) standard interface.

[0088] Pressure sensor 180A is used to sense pressure signals and convert them into electrical signals. In some embodiments, pressure sensor 180A can be disposed on display screen 194. There are many types of pressure sensors 180A, such as resistive pressure sensors, inductive pressure sensors, and capacitive pressure sensors. A capacitive pressure sensor may include at least two parallel plates with conductive material. When force is applied to pressure sensor 180A, the capacitance between the electrodes changes. Electronic device 100 determines the pressure intensity based on the change in capacitance. When a touch operation is applied to display screen 194, electronic device 100 detects the intensity of the touch operation based on pressure sensor 180A. Electronic device 100 can also calculate the touch position based on the detection signal from pressure sensor 180A. In some embodiments, touch operations applied to the same touch position but with different touch operation intensities can correspond to different operation commands. For example, when a touch operation with an intensity less than a first pressure threshold is applied to the SMS application icon, a command to view an SMS is executed. When a touch operation with an intensity greater than or equal to the first pressure threshold is applied to the SMS application icon, a command to create a new SMS is executed.

[0089] The fingerprint sensor 180H is used to collect fingerprints. The electronic device 100 can utilize the characteristics of the collected fingerprints to achieve fingerprint unlocking, accessing application locks, taking photos with fingerprints, answering calls with fingerprints, etc.

[0090] Touch sensor 180K, also known as a "touch device," can be located on display screen 194. The touch sensor 180K and display screen 194 together form a touchscreen, also known as a "touchscreen." Touch sensor 180K detects touch operations applied to or near it. The touch sensor can transmit the detected touch operation to the application processor to determine the type of touch event. Visual output related to the touch operation can be provided through display screen 194. In other embodiments, touch sensor 180K may also be located on the surface of electronic device 100, in a different position than display screen 194.

[0091] Button 190 may include a power button, volume buttons, etc. Button 190 may be a mechanical button or a touch button. Electronic device 100 can receive button input and generate key signal inputs related to user settings and function control of electronic device 100.

[0092] In some embodiments of this application, terminal-requested advertising can be divided into two processes: terminal preloading of advertising and terminal-requested advertising. Specifically, terminal preloading of advertising and terminal-requested advertising can be two independent processes. Terminal preloading of advertising refers to advertising materials that are pre-extracted and cached in the storage unit. In practice, users may download advertising materials and then display them a long time later (requiring an advertising request to be triggered), or they may not request to display these advertising materials at all. The terminal-requested advertising stage can be the process of receiving a user trigger, requesting the advertisement to be displayed from the server, and then displaying the advertisement on the terminal.

[0093] In some of the following embodiments, the steps in the terminal preloading advertisement stage are similar, and the details can be found in the following description:

[0094] Phase 1: Terminal pre-loading of advertisements.

[0095] like Figure 5-7 As shown, in S110, the terminal sends a first advertising request to the server, the first advertising request being used to request preloaded advertising information.

[0096] In some embodiments, terminal 11 may send the aforementioned advertising request to server 12 based on network protocols such as Hypertext Transfer Protocol (HTTP), Secure HTTP Channel (HTTPS), File Transfer Protocol (FTP), or Secure File Transfer Protocol (SFTP). In some embodiments, HTTP request methods include OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT, etc.

[0097] The aforementioned advertising request may include parameters such as the name of the current application, the application package name (pkgname), the application version number, the ad slot ID (slotid), and the requested ad type (adtype), so that the server receiving the advertising request can determine the advertising information that matches the advertising request.

[0098] Furthermore, the aforementioned advertising request may also include the width and height of the advertising space, wherein the width and height of the advertising space are generally smaller than the width and height of the terminal 11 screen.

[0099] In addition, the aforementioned advertising request may also include device information of terminal 11, such as device type of terminal 11, operating system version number of terminal 11, device manufacturer of terminal 11, device model of terminal 11, operating system language used by terminal 11, International Mobile Equipment Identity (IMEI), Mobile Equipment Identifier (MEID), Electronic Serial Number (ESN) or Android ID (unique identifier for Android devices) of terminal 11, and Media Access Control (MAC) address of terminal 11, etc.

[0100] In addition, the ad request also carries an "isPreload" field indicating whether it is a preload request, so that the server can determine whether it is a preloaded ad and return the corresponding ad. In this embodiment, the server 12 determines that the ad request is for requesting a preloaded ad, not for the ad being displayed, based on the presence of "isPreload": true in the ad request.

[0101] Ad placement identifiers are associated with ad placements within the application, which are integrated into the application. When the application requests an ad, it carries the ad placement identifier; upon receiving ad information from the server, the application displays the ad at the corresponding location within the application based on the ad placement identifier. An ad placement is used to display ads; it is a specific area or window within a page provided by the application. Ad placement types can include splash screen ads, app wall ads, interstitial ads, banner ads, etc. The aforementioned ad placement ID uniquely identifies the specific location within the current application where the ad to be played will be displayed; the requested ad type can include various types such as banner ads, splash screen ads, and native ads. For example, a banner ad type is represented by 0, a splash screen ad type by 1, and a native ad type by 2.

[0102] The timing of the first ad request can be determined by the ad SDK's triggering mechanism; for example, it could be triggered when the application is opened, or it could be triggered periodically every N minutes; or it could be determined based on network conditions, such as in a Wi-Fi scenario to protect the user's mobile data. The purpose of preloading ads on the device is to reduce the delay between the ad request and the display of the ad page on the device. Potentially displayed ads are stored on the device in advance to accommodate delays during subsequent ad requests, allowing the use of pre-cached ad creatives.

[0103] For example, the advertisement request sent by terminal 11 to server 12 is as follows:

[0104] {

[0105] "app": {

[0106] "name": "Huawei Browser", / / Application Name

[0107] "pkgname": "com.huawei.browser", / / Application package name

[0108] "version": "8.0.8.300" / / Application version number

[0109] },

[0110] "device": {

[0111] "height": 1920, / / height of the equipment

[0112] "oaid": "a22c389c-e0a1-8353-f014-d3b62721e7d2",

[0113] "language": "zh", / / Device language

[0114] "maker": "HUAWEI", / / Device manufacturer

[0115] "model": "MHA-AL00", / / Device model

[0116] "os": "android", / / Operating system

[0117] "type": 4, / / Device type

[0118] "version": "7.0", / / Device version

[0119] "width": 1080, / / Device width

[0120] },

[0121] "multislot": [{

[0122] "adtype": 3, / / Ad format

[0123] "height": 1920, / / Ad height

[0124] "slotid": "a09itw7hsf", / / Ad slot identifier

[0125] "test": 0, / / Is this a test ad?

[0126] "width": 1080 / / Width of the ad slot

[0127] }

[0128] ],

[0129] "network": {

[0130] "type": 2 / / Network type

[0131] },

[0132] "isPreload": true, / / Whether it is a preload request

[0133] "sdkversion": "3.4.11.300" / / SDK version number

[0134] }

[0135] In some embodiments of this application, the aforementioned advertising request may further include user behavior data and terminal device parameters recorded by terminal 11. In some embodiments, user behavior data includes the user's ID, user's search history, user's call history, user's address information (e.g., recently visited addresses), etc. On the other hand, the server can find the corresponding user profile through the user's ID and deliver advertisements corresponding to the user based on the user profile. The user profile may include: the user's favorite song types, the user's daily routine, the user's search history, the user's access history, the user's call history, the user's address information (e.g., recently visited addresses), the user's gender, the user's age range, etc.

[0136] In some embodiments, device parameters may include: whether the application is installed, WIFI information, device brand, device model, device type (watch, mobile phone or tablet), whether headphones are connected, the current location of the terminal (GPS data), and the application currently triggered on the terminal.

[0137] S120, based on the first advertisement request, the server retrieves the preloaded advertisement.

[0138] The advertising placement requirements can be set by the advertiser (or advertiser) when placing the advertisement, such as... Figure 8 The diagram shown is an illustrative interface diagram illustrating an example of an advertiser creating an app installation status-targeted ad on an advertising platform, as provided in this application. Advertisers can create ad tasks and set their ad requirements on this interface. For example... Figure 8 As shown, advertisers can select or enter a specific application that they want to target in the "Promote App ID" menu bar. For example, "First Application (APP)"; or, in the targeting information, they can select region, gender, age, whether the application is installed, the application's behavior, device type, and network connection method, etc.

[0139] User behavior can be categorized into leisure and puzzle, audio-visual entertainment, business strategy, practical tools, travel navigation, role-playing, shopping price comparison, travel and accommodation, etc. This category can also include subcategories. For example, the leisure and puzzle category can include leisure, elimination, knowledge puzzle, puzzle solving, music rhythm, etc., and the travel and accommodation category can include hotels, homestays, etc.

[0140] When selecting the optimal or backup advertisement, the server retrieves information from the advertisement request based on the information carried in the request and the server's advertising delivery requirements. Specifically, the terminal's advertisement request may carry user behavior data or device information of terminal 11, etc. In this way, server 12 can select the advertisement that is relevant to the above information from the advertisement resource pool as the optimal advertisement, thereby improving the efficiency of advertisement display and the user experience when using the application.

[0141] For example, if the user behavior data included in the ad request can be the user's search history, then the server 12 can determine the target information that the user has recently been interested in based on the user's search history. For example, if the user's search history is for a certain brand of car, then the server 12 can select the ad in the ad resource pool that is associated with the above target information as the optimal ad. For example, the ad in the ad resource pool with the ad demand "shopping price comparison" is the optimal ad.

[0142] For example, the aforementioned user behavior data can also be the song playback records of a user when using a music application. Based on the aforementioned song playback records, the user's favorite music genres and / or favorite singers can be determined. Then, the server 12 selects the advertisement in the advertising resource pool that corresponds to the aforementioned user preferences as the optimal advertisement; for example, the advertisement in the advertising resource pool with the advertising demand "audio-visual entertainment" is the optimal advertisement.

[0143] For example, if the device manufacturer carried in the above advertising request is Company H, then server 12 can select one or more advertisements related to Company H in the advertising resource pool as the optimal advertisement.

[0144] For example, when it is detected that a user is holding terminal 11 while running or opening a sports-related application, it can be determined that terminal 11 is in a sports scenario. Then, server 12 selects the advertisement corresponding to the sports scenario from the advertisement resource pool as the optimal advertisement; for example, the advertisement with the ad demand "utility tools" in the advertisement resource pool is the optimal advertisement. Similarly, when it is detected that a user is opening a game application, it can be determined that terminal 11 is in a game scenario. In a game scenario, server 12 selects the advertisement corresponding to the game scenario from the advertisement resource pool as the optimal advertisement; for example, the advertisement with the ad demand "casual puzzle" in the advertisement resource pool is the optimal advertisement.

[0145] In other cases, when the server retrieves information from ad requests and its own ad delivery requirements, it determines the retrieval priority based on specific circumstances, such as prioritizing server-side ad delivery requirements. For example, if an ad delivery requirement is to display a large number of ads within a certain period, the server will prioritize this requirement. In this case, it will not precisely match user behavior data or device parameters with the ad content, but will instead deliver the ad to a larger number of devices. In some embodiments, the server may prioritize returning ads with contractual scheduling with advertisers, or select ads with high eCPM (effective cost per mile, revenue per thousand impressions).

[0146] Among them, the advertisements associated with the target information can be: the advertising targeting needs are the same as or related to the needs in the advertising request. For example, the same case is that the advertising targeting needs are to place advertisements on H company's terminals, and at the same time, the parameters in the advertising request carry the terminal information of H company; the related case is that the advertising targeting needs are inclusive or similar categories or other related relationships with the needs in the advertising request. For example, the related case is that the advertising targeting needs are to place advertisements on mobile devices, and at the same time, the parameters in the advertising request carry the terminal information of H company's mobile phone.

[0147] In other embodiments, if the advertiser has not set specific targeting information, the server can pre-build an advertising prediction model using big data mining tools. Based on big data statistics, the server can then deliver the advertiser's ads to relevant user terminals to increase ad exposure. For example, if user behavior data indicates a frequent shopper, but the advertiser hasn't set specific targeting requirements, the server can determine the ad is a sales ad based on its content, thus classifying it as an ad related to the target information.

[0148] In this embodiment, based on the application package name in the first advertising request, pre-loaded advertisements A, B, and C related to the application are obtained. Specifically, the targeting condition set by the advertiser is to target users who have installed the "Huawei Browser" application with advertisements for the "Huawei mobile phone".

[0149] S130, the advertising server returns the first advertising information to the terminal.

[0150] For example, the returned first advertising information may include the return value (retcode) of the response message, "preloadAdinfo": / / Preload advertising information. When no matching advertising information is found for the advertising request, the response message may also include the reason for the failure.

[0151] The aforementioned advertising information may include parameters such as the ad slot ID corresponding to the ad request, the ad creative type, and the ad content ID. The ad creative type may include text ads, image ads, image-text ads, and GIF ads.

[0152] Furthermore, the aforementioned first advertising information may also include parameters such as the download link (html) of the advertising creative, the deeplink address, the advertising creative digest value (sha256), and the advertising interaction type. The advertising interaction type may include interactions such as no response after user click, the user clicking to open a related webpage, the user clicking to download the application, and the user clicking to enter the application.

[0153] {

[0154] "retcode": 200, / / Return value

[0155] "preloadAdinfo": / / Preload ad information

[0156] [{

[0157] “slotid”: “a09itw7hsf”, / / Ad slot identifier

[0158] “adid”: “A”, / / First Ad ID

[0159] "interactiontype": 3, / / The interaction type is "user clicks to enter the application"

[0160] "creativetype":2, / / Creative type is image ad

[0161] “image”:“http: / / cs.op.hicloud.com / contserver / data / 98BE13F2CD19D41.jpg”, / / Download link

[0162] “deeplink”: “jd application: / / XXXXXXXX” / / deeplink address

[0163] },

[0164] {

[0165] “slotid”: “a09itw7hsf”, / / Ad slot identifier

[0166] “adid”: “B”, / / Advertisement ID

[0167] "interactiontype": 3, / / The interaction type is "user clicks to enter the application"

[0168] "creativetype":2, / / Creative type is image ad

[0169] “image”:“http: / / cs.op.hicloud.com / contserver / data / 98BE13F2CD19D42.jpg”, / / Download link

[0170] “deeplink”: “jd application: / / XXXXXXXX” / / deeplink address

[0171] },

[0172] {

[0173] “slotid”: “a09itw7hsf”, / / Ad slot identifier

[0174] “adid”: “C”, / / Ad ID

[0175] "interactiontype": 3, / / The interaction type is "user clicks to enter the application"

[0176] "creativetype":2, / / Creative type is image ad

[0177] “image”:“http: / / cs.op.hicloud.com / contserver / data / 98BE13F2CD19D43.jpg”, / / Download link

[0178] “deeplink”: “jd application: / / XXXXXXXX” / / deeplink address} ]

[0180] }

[0181] In the returned information, the terminal can download from the server based on the link (URL link) corresponding to the advertisement's ID. For example, the corresponding image can be downloaded via http: / / cs.op.hicloud.com / contserver / data / 98BE13F2CD19D42.jpg.

[0182] In addition, in this embodiment, "interactiontype": 3 indicates that the interaction type is that the user enters the application after clicking. Specifically, after the user clicks on the advertisement, they can enter the corresponding application through the "deeplink" address: "jd application: / / XXXXXXXX".

[0183] S140: The terminal downloads the corresponding advertisement based on the advertisement information and stores it in the cache.

[0184] The terminal stores relevant information from the advertisement in a lightweight database (SQLite). Because the lightweight database (SQLite) consumes very few resources, a dedicated SQLite file can be configured within the terminal 11 to store advertisement information. The SQLite file can be a .db file, and its storage location can be in the phone's system or the app's file path. The advertisement information includes the advertisement ID, the download link for the advertisement creative, the advertisement placement identifier, and the advertisement type.

[0185] For example, when terminal 11 is in a Wi-Fi network, it can be triggered to download the corresponding advertising material from the advertising resource pool of server 12 in the background according to the download link or deeplink address in the advertising information, and save the advertising material locally. After the terminal downloads the advertising material locally, it will update the storage address of the advertising material in the SQLite file. The following table is an example. Among them, advertisement A has been downloaded and the storage address is diskcache: / / b5d132930c6141ff102b6f3b15565; while advertisements B and C have not yet been downloaded.

[0186]

[0187] This reduces the additional data usage for users when the terminal 11 downloads advertising materials on the mobile network; and since advertising materials are usually quite large, they can be stored locally as files, improving the reading speed of the terminal 11 when reading advertising materials.

[0188] Example 1:

[0189] Phase 2: The terminal requests the advertisement to be played.

[0190] In some cases, based on parameters in the ad request and the advertiser's real-time delivery needs, changes in user behavior data parameters, device parameters, advertiser delivery needs, or ad duration may cause the server to return different ad information for ad requests sent by the same client at different times. Furthermore, the number of pre-loaded ad creatives is limited by the size of the phone's local storage. The number of ad creatives the ad server needs to deliver is far greater than this; that is, in most cases, the returned ads are not in the pre-loaded list. The actual hit rate of pre-loaded ads on the terminal is generally between 30% and 50%. Therefore, in most cases where ad creatives are not pre-loaded, they still need to be downloaded through real-time ad requests.

[0191] S210, the electronic device 100 detects a first operation performed on the first page of the first application, and in response to the first operation, the terminal sends a second advertising request to the server, the second advertising request being used to obtain the advertising content to be displayed from the server.

[0192] In some embodiments, the first page can be any page provided by the first application, such as the main page or other sub-pages; the first operation can be a touch operation (such as clicking the icon of the first application, or switching pages of the first application (such as clicking the next page and swiping the page)), voice commands, and shaking operations, etc.

[0193] In some embodiments, while running an application, terminal 11 may be triggered to request corresponding advertising materials from server 12. For example, such as Figure 9A As shown, when a user is watching a video using a video application, and the pause button is triggered, terminal 11 can send an advertising request to server 12. Server 12 then returns the advertising information corresponding to this request to terminal 11. In this way, terminal 11 can retrieve the corresponding advertising material from server 12's advertising resource pool according to the aforementioned advertising information and display the retrieved advertising material on the currently paused video screen.

[0194] In some embodiments, such as Figure 9B As shown, when the user clicks the icon of the browser application on the desktop, the terminal 11 can call the application programming interface (API) of the browser application to start the player application. In addition, the terminal 11 can also send an advertisement request to the server 12 to request the advertisement to be played.

[0195] In some embodiments, such as Figure 9C As shown, when the browser application starts and displays the homepage content, the terminal sends a request to the service to request the advertising content to be displayed on the homepage.

[0196] The specific parameters carried in the second advertising request are similar to those in the first advertising request, and can be referred to the above description, so they will not be repeated here.

[0197] In this embodiment, the server 12 determines that the advertisement request is for requesting the advertisement to be displayed this time, and not for requesting the advertisement to be preloaded, based on the presence of "isPreload": true in the advertisement request.

[0198] In addition, the ad request will carry the identifiers of the pre-loaded ad slots. For example, in this embodiment, the ad request carries the cached ad A, ad B and ad C, "cacheContentIds"=["A", "B","C"].

[0199] For example, the second advertising request sent by terminal 11 to server 12 is as follows:

[0200] {

[0201] "app": {

[0202] "name": "Huawei Browser", / / Application Name

[0203] "pkgname": "com.huawei.browser", / / Application package name

[0204] "version": "8.0.8.300" / / Application version number

[0205] },

[0206] "device": {

[0207] "height": 1920, / / height of the equipment

[0208] "oaid": "a22c389c-e0a1-8353-f014-d3b62721e7d2",

[0209] "language": "zh", / / Device language

[0210] "maker": "HUAWEI", / / Device manufacturer

[0211] "model": "MHA-AL00", / / Device model

[0212] "os": "android", / / Operating system

[0213] "type": 4, / / Device type

[0214] "version": "7.0", / / Device version

[0215] "width": 1080, / / Device width

[0216] },

[0217] "multislot": [{

[0218] "adtype": 3, / / Ad format

[0219] "height": 1920, / / Ad height

[0220] "slotid": "a09itw7hsf", / / Ad slot identifier

[0221] "test": 0, / / Is this a test ad?

[0222] "width": 1080 / / Width of the ad slot

[0223] }

[0224] ],

[0225] "network": {

[0226] "type": 2 / / Network type

[0227] },

[0228] "isPreload": false, / / Whether it is a preload request

[0229] "cacheContentIds"=["A", "B","C"], / / Pre-loaded ad IDs

[0230] "sdkversion": "3.4.11.300" / / SDK version number

[0231] }

[0232] S220, Server 12 obtains the advertisement A to be displayed this time according to the second advertisement request.

[0233] After receiving an ad request, server 12 first determines whether the ad request is for preloading an ad or for requesting the ad to be displayed this time. In this embodiment, server 12 determines that the ad request is for requesting the ad to be displayed this time, and not for preloading an ad, based on the presence of "isPreload": false in the ad request.

[0234] Based on the information carried in the ad request and the ad delivery requirements on the server side, select ad A that best matches the ad delivery requirements from all the ads currently being delivered on the server side.

[0235] S230, Server 12 returns the second advertisement information requested in the second advertisement request.

[0236] Similar to the message format of the aforementioned advertising request, the response message sent by server 12 can also be expressed using the JSON message format.

[0237] For example, the response message sent by server 12 to terminal 11 is as follows:

[0238] {

[0239] "retcode": 200, / / Return value

[0240] "adinfo": / / Advertising information

[0241] [{

[0242] “slotid”: “a09itw7hsf”, / / Ad slot identifier

[0243] “adid”: “D”, / / Advertising ID

[0244] "spare": false, / / Whether it is a backup ad

[0245] "interactiontype": 3, / / The interaction type is "user clicks to enter the application"

[0246] "creativetype":2, / / Creative type is image ad

[0247] “image”:“http: / / cs.op.hicloud.com / contserver / data / 98BE13F2CD19D47.jpg”, / / Download link

[0248] “deeplink”: “jd application: / / XXXXXXXX” / / deeplink address

[0249] },

[0250] {

[0251] “slotid”: “a09itw7hsf”, / / Ad slot identifier

[0252] “adid”: “A”, / / Ad ID (This parameter is “adid”: “D” in the S260 embodiment)

[0253] "interactiontype": 3, / / The interaction type is "user clicks to enter the application"

[0254] "creativetype":2, / / Creative type is image ad

[0255] “image”:“http: / / cs.op.hicloud.com / contserver / data / 98BE13F2CD19D43.jpg”, / / Download link

[0256] “deeplink”: “jd application: / / XXXXXXXX” / / deeplink address} ]

[0258] }

[0259] S240. Based on the second advertising information, determine whether the advertisement to be displayed is in the cache.

[0260] S250. If the ad to be displayed is in the cache, the ad will be retrieved directly from the cache and displayed.

[0261] In some embodiments, the terminal determines that the advertisement A to be displayed in the returned second advertisement information is in the pre-loaded list based on the advertisement ID “adid”: “A” and the pre-loaded list “cacheContentIds”=["A", "B","C"]. The terminal 11 retrieves the advertisement A to be displayed from the cache and displays it. Figure 10 As shown.

[0262] S260. If the advertisement to be displayed is not in the cache, download the advertisement from the server and display it.

[0263] In some embodiments, the terminal determines, based on the advertisement ID “adid”: “D” and the preloaded list “cacheContentIds”=["A", "B","C"], that the advertisement D to be displayed in the returned second advertisement information is not in the preloaded list. The terminal 11 then retrieves the advertisement A to be displayed from the server and displays it. Figure 11 As shown.

[0264] In this scenario, to avoid excessive latency affecting the user experience, some applications can set ad display times. Specifically, the latency from requesting an ad to its final display is controlled within a certain timeframe, such as within 2 seconds. If the ad download time exceeds this preset time, the application will no longer display the ad and will directly connect to the media application. In this case, if the splash screen ad is not displayed and the download latency of the ad creative is too long, it may lead to the ad not being effectively displayed.

[0265] Example 2:

[0266] Phase 2: The terminal requests the advertisement to be played.

[0267] like Figure 6 As shown in step S300, the electronic device 100 detects a first operation performed on the first page of the first application. In response to the first operation, the terminal sends a third advertising request to the server. The third advertising request is used to obtain the advertising content to be displayed from the server.

[0268] In some embodiments, the first page can be any page provided by the first application, such as the main page or other sub-pages; the first operation can be a touch operation (such as clicking the icon of the first application, or switching pages of the first application (such as clicking the next page and swiping the page)), voice commands, and shaking operations, etc.

[0269] In some embodiments, while running an application, terminal 11 may be triggered to request corresponding advertising materials from server 12. For example, such as Figure 9A As shown, when a user is watching a video using a video application, and the pause button is triggered, terminal 11 can send an advertising request to server 12. Server 12 then returns the advertising information corresponding to this request to terminal 11. In this way, terminal 11 can retrieve the corresponding advertising material from server 12's advertising resource pool according to the aforementioned advertising information and display the retrieved advertising material on the currently paused video screen.

[0270] In some embodiments, such as Figure 9B As shown, when the user clicks the icon of the browser application on the desktop, the terminal 11 can call the application programming interface (API) of the browser application to start the player application. In addition, the terminal 11 can also send an advertisement request to the server 12 to request the advertisement to be played.

[0271] In some embodiments, such as Figure 9C As shown, when the browser application starts and displays the homepage content, the terminal sends a request to the service to request the advertising content to be displayed on the homepage.

[0272] The specific parameters carried in the third advertising request are similar to those in the first advertising request, and can be referred to the above description, so they will not be repeated here.

[0273] In this embodiment, the server 12 determines that the advertisement request is for requesting the advertisement to be displayed this time, and not for requesting the advertisement to be preloaded, based on the presence of "isPreload": true in the advertisement request.

[0274] In addition, the ad request will carry the identifiers of the pre-loaded ad slots. For example, in this embodiment, the ad request carries the cached ad A, ad B and ad C, "cacheContentIds"=["A", "B","C"].

[0275] For example, the advertisement request sent by terminal 11 to server 12 is as follows:

[0276] {

[0277] "app": {

[0278] "name": "Huawei Browser", / / Application Name

[0279] "pkgname": "com.huawei.browser", / / Application package name

[0280] "version": "8.0.8.300" / / Application version number

[0281] },

[0282] "device": {

[0283] "height": 1920, / / height of the equipment

[0284] "oaid": "a22c389c-e0a1-8353-f014-d3b62721e7d2",

[0285] "language": "zh", / / Device language

[0286] "maker": "HUAWEI", / / Device manufacturer

[0287] "model": "MHA-AL00", / / Device model

[0288] "os": "android", / / Operating system

[0289] "type": 4, / / Device type

[0290] "version": "7.0", / / Device version

[0291] "width": 1080, / / Device width

[0292] },

[0293] "multislot": [{

[0294] "adtype": 3, / / Ad format

[0295] "height": 1920, / / Ad height

[0296] "slotid": "a09itw7hsf", / / Ad slot identifier

[0297] "test": 0, / / Is this a test ad?

[0298] "width": 1080 / / Width of the ad slot

[0299] }

[0300] ],

[0301] "network": {

[0302] "type": 2 / / Network type

[0303] },

[0304] "isPreload": false, / / Whether it is a preload request

[0305] "cacheContentIds"=["A", "B","C"], / / Pre-loaded ad IDs

[0306] "sdkversion": "3.4.11.300" / / SDK version number

[0307] }

[0308] S310, Server 12 obtains the advertisement to be displayed this time based on the third advertisement request.

[0309] After receiving the third advertisement request, S3101-server 12 first determines whether the advertisement request is used to preload advertisements or to request the advertisement to be displayed this time.

[0310] In this embodiment, the server 12 determines that the ad request is for requesting the ad to be displayed this time, and not for preloading the ad, based on the presence of "isPreload": false in the ad request.

[0311] S3102 - If the advertisement request is used to request the advertisement to be displayed this time, the server retrieves the best advertisement from all the advertisements being displayed on the server side based on the information carried in the advertisement request and the advertisement delivery requirements on the server side.

[0312] S3103 - Determine if the optimal advertisement is already in the list of advertisements preloaded on the terminal.

[0313] S3104 - If the optimal advertisement is already in the list of advertisements preloaded in the terminal, then return the optimal advertisement directly.

[0314] In this embodiment, the server retrieves the optimal advertisement A from all the advertisements currently being displayed on the server side based on the information carried in the advertisement request and the advertisement delivery requirements on the server side; and determines that the optimal advertisement A is in the list of advertisements "cacheContentIds"=["A", "B","C"], and returns the most matching advertisement A to the terminal.

[0315] S3105 - If the optimal advertisement is not in the list of advertisements preloaded by the terminal, the server retrieves a backup advertisement from the list of advertisements preloaded in the advertisement request (specifically, the "cacheContentIds" parameter); the backup advertisement meets two conditions: the backup advertisement is an already preloaded advertisement ID, and the backup advertisement is the advertisement among the preloaded advertisement IDs that best matches the advertisement delivery requirements.

[0316] In this embodiment, the server retrieves the optimal advertisement D from all advertisements currently being displayed on the server side based on the information carried in the advertisement request and the advertisement delivery requirements on the server side; and determines that the optimal advertisement D is not in the pre-loaded advertisement IDs; then, it retrieves the backup advertisement A from the list of advertisements with "cacheContentIds"=["A", "B","C"]; and returns the most matching advertisement D and the backup advertisement A to the terminal.

[0317] In one embodiment, S320, server 12 returns the third advertising information of the aforementioned third advertising request, the third advertising information including a link to advertisement A.

[0318] The message format for the aforementioned advertising request is similar, and the response message sent by server 12 can also be expressed using JSON message format.

[0319] In this embodiment, after the determination step S3104, for example, the server 12 sends the following response message to the terminal 11:

[0320] {

[0321] "retcode": 200, / / Return value

[0322] "adinfo": / / Advertising information

[0323] [{

[0324] “slotid”: “a09itw7hsf”, / / Ad slot identifier

[0325] “adid”: “D”, / / Advertising ID

[0326] "spare": false, / / Whether it is a backup ad

[0327] "interactiontype": 3, / / The interaction type is "user clicks to enter the application"

[0328] "creativetype":2, / / Creative type is image ad

[0329] “image”:“http: / / cs.op.hicloud.com / contserver / data / 98BE13F2CD19D47.jpg”, / / Download link

[0330] “deeplink”: “jd application: / / XXXXXXXX” / / deeplink address

[0331] },

[0332] {

[0333] “slotid”: “a09itw7hsf”, / / Ad slot identifier

[0334] “adid”: “A”, / / Ad ID

[0335] "interactiontype": 3, / / The interaction type is "user clicks to enter the application"

[0336] "creativetype":2, / / Creative type is image ad

[0337] “image”:“http: / / cs.op.hicloud.com / contserver / data / 98BE13F2CD19D43.jpg”, / / Download link

[0338] “deeplink”: “jd application: / / XXXXXXXX” / / deeplink address} ]

[0340] }

[0341] S330. Based on the second advertising information, determine whether the advertisement to be displayed is in the cache.

[0342] S3301. If the advertisement to be displayed is in the cache, the advertisement is retrieved directly from the cache and displayed.

[0343] In some embodiments, the terminal determines that the advertisement A to be displayed in the returned second advertisement information is in the pre-loaded list based on the advertisement ID “adid”: “A” and the pre-loaded list “cacheContentIds”=["A", "B","C"]. The terminal 11 retrieves the advertisement A to be displayed from the cache and displays it. Figure 10 As shown.

[0344] In another embodiment, such as Figure 7 As shown in step S320, server 12 returns the third advertising information of the aforementioned third advertising request, which includes links to advertisements D and A.

[0345] The message format for the aforementioned advertising request is similar, and the response message sent by server 12 can also be expressed using JSON message format.

[0346] In addition, the advertisement information includes supplementary information indicating whether the returned advertisement is the optimal or a backup advertisement. For example, if the "spare" parameter is marked as false, it means that the advertisement is the optimal advertisement and not a backup advertisement; if the parameter is marked as true, it means that the advertisement is a backup advertisement.

[0347] In this embodiment, after the determination step S3105, the server 12 sends the following response message to the terminal 11:

[0348] {

[0349] "retcode": 200, / / Return value

[0350] "adinfo": / / Advertising information

[0351] [{

[0352] “slotid”: “a09itw7hsf”, / / Ad slot identifier

[0353] “adid”: “D”, / / Advertising ID

[0354] "spare": false, / / Whether it is a backup ad

[0355] "interactiontype": 3, / / The interaction type is "user clicks to enter the application"

[0356] "creativetype":2, / / Creative type is image ad

[0357] “image”:“http: / / cs.op.hicloud.com / contserver / data / 98BE13F2CD19D47.jpg”, / / Download link

[0358] “deeplink”: “jd application: / / XXXXXXXX” / / deeplink address

[0359] },

[0360] {

[0361] “slotid”: “a09itw7hsf”, / / Ad slot identifier

[0362] “adid”: “A”, / / Ad ID

[0363] "spare": true, / / Whether to use a spare ad

[0364] "interactiontype": 3, / / The interaction type is "user clicks to enter the application"

[0365] "creativetype":2, / / Creative type is image ad

[0366] “image”:“http: / / cs.op.hicloud.com / contserver / data / 98BE13F2CD19D43.jpg”, / / Download link

[0367] “deeplink”: “jd application: / / XXXXXXXX” / / deeplink address} ]

[0369] }

[0370] S330. Based on the second advertising information, determine whether the advertisement to be displayed is in the cache.

[0371] S3302. Based on the second advertising information, it is determined that the advertisement in the second advertising information is not in the cache, and the terminal 11 obtains the advertisement D to be downloaded from the server 12.

[0372] S340, Terminal 11 determines whether the download time of advertisement D exceeds the preset time.

[0373] In one embodiment, the terminal starts timing from the first operation and determines whether a preset time has elapsed since the second operation began. In another embodiment, timing starts from the terminal sending the first request and determines whether a preset time has elapsed since the second request was sent.

[0374]

[0375] In one embodiment, the terminal queries SQLite to determine whether the advertising material has been downloaded; specifically, it can determine whether the advertisement has been downloaded by checking if the storage location in slashMediaPath has been updated. In the embodiment shown in the table above, since the storage address with aid D has not been updated, it is determined that advertisement D has not been downloaded at this moment.

[0376] In other embodiments, the terminal can query whether there are advertising materials in the folder corresponding to the cache path. Specifically, it can query whether there are corresponding advertising materials by querying the name or identifier of the advertising material corresponding to the advertising ad aid. The advertising material identifier can be the name of the advertising material or other identifiers converted from it.

[0377] S3401, such as Figure 12 As shown, if the terminal determines that the download time of the advertisement has exceeded the preset time, the terminal directly retrieves the cached advertisement A from the cache, and the terminal 11 displays advertisement A on its display interface.

[0378] In this embodiment, during the playback of the advertisement to be played, the terminal 11 does not need to download the second advertisement material from the advertisement resource pool. The terminal 11 can output the already saved second advertisement material to the display interface of the terminal 11 for display. The terminal 11 displays the first advertisement material in its display interface to complete the playback process of the advertisement to be played.

[0379] In this way, terminal 11 does not need to download the second advertising material from the advertising resource pool, ensuring that there is a backup advertisement to display when the download of the advertisement times out. This allows users to avoid spending a lot of time waiting for the download of advertising materials while using the application, thereby increasing the success rate of advertisement recommendation and the user experience when using the application.

[0380] For example, such as Figure 12 As shown, when terminal 11 displays the second advertising material, it can prompt the user through text or other means that the second advertising material currently being displayed was downloaded in advance in a WIFI environment. In this way, the user does not have to worry about incurring additional data charges when displaying the second advertising material, thereby improving the user experience when using the video application.

[0381] S3402, such as Figure 12 As shown, if the terminal determines that advertisement D has been downloaded within a preset time, the terminal displays advertisement D on its display interface to complete the playback process of the advertisement to be played.

[0382] As described above, through some embodiments, if the optimal advertisement A completes download within a preset time, and if it has, it indicates that the time from the terminal request (or user trigger) to the terminal displaying the advertisement material is short, then the optimal advertisement A is displayed. If the optimal advertisement A does not complete download within the preset time, then the alternative advertisement D is displayed from the local cache, reducing the delay time of advertisement display.

[0383] Please refer to Figure 13 , Figure 13 Taking the layered architecture operating system of Android or HarmonyOS as an example, this application provides a detailed illustration of the information exchange diagram when a terminal requests an advertisement from a server. This application does not limit the specific architecture of the terminal; for detailed descriptions of software systems with other architectures, please refer to conventional techniques.

[0384] The application layer may include a series of application packages, such as camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, SMS, a first app, and a launcher. For ease of description, applications will be referred to as "applications" below. Applications on the first device can be native applications (such as those installed on the first device before it leaves the factory when the operating system is installed) or third-party applications (such as applications downloaded and installed by the user through an app store). This embodiment of the application does not limit the scope of the application.

[0385] The application framework layer provides application programming interfaces (APIs) and programming frameworks for applications in the application layer. For example... Figure 13 As shown, the application framework layer may include a window manager service (WMS) (or window management module), an input event management server (IMS), an advertising SDK, a storage module, and a data acquisition module. The specific functions of the advertising SDK, storage module, and data acquisition module are described above and will not be repeated here. The application framework layer also includes the functional functions required by the Android or HarmonyOS system during runtime, the Android core libraries, and the Android virtual machine. System libraries may include multiple functional modules, such as browser kernels, 3D graphics, and font libraries. System libraries may also include multiple functional modules, such as surface managers, media libraries, 3D graphics processing libraries (e.g., OpenGL ES), and 2D graphics engines (e.g., SGL).

[0386] The kernel layer is the layer between hardware and software. It can contain display drivers, input / output device drivers (e.g., keyboard, touchscreen, headphones, speakers, microphones, etc.), device nodes, camera drivers, audio drivers, and sensor drivers. Users input through input devices, and the kernel layer generates corresponding raw input events based on these inputs, storing them in the device nodes. Input / output device drivers can detect these user input events, such as when a user launches an application.

[0387] IMS can be used to translate and encapsulate raw input events to obtain input events containing more information, and then send them to WMS. WMS stores clickable areas (such as controls) and the position information of the focus window for each application. Therefore, WMS can correctly dispatch input events to the specified controls or focus windows. WMS carries data and attributes related to the "interface" and is used to manage the state of the "interface." For example, it is used to manage window procedures and event dispatch. Managing window procedures refers to the orderly output of content to the physical screen or other display devices with the assistance of the application server and WMS, based on the application's display requests.

[0388] In this embodiment, during the process of the terminal requesting an advertisement from the server, the terminal's input / output device driver or sensor driver can detect user input events. For example, this input event could be a user clicking a button on an interface to enter the next level of that interface, or a user inputting via voice or a custom gesture, or other sensory input events. The terminal's input / output device driver or sensor driver reports the user's input events to the IMS, which then distributes the input events to the corresponding applications. The application calls the advertising SDK, which obtains user behavior data parameters and / or terminal parameters through the data acquisition module; the advertising SDK also sends an advertisement request to the server and obtains the corresponding advertisement-related information (e.g., advertisement ID, advertisement link); if a locally pre-loaded advertisement is being called, the advertising SDK calls the storage module to retrieve the pre-loaded advertisement; after obtaining the advertisement material, the advertising SDK calls the WMS interface, and the WMS re-calls the display driver to display the advertisement on the terminal.

[0389] In other embodiments, after the advertising SDK obtains the advertising creative, it can return the advertising creative to the application layer. This can be applied to some native advertising, such as advertising displayed on the terminal's negative one screen. The application calls the WMS interface, and the WMS calls the display driver again to display the advertisement on the terminal.

[0390] It should also be understood that the parameter codes in the above embodiments are merely exemplary and should not impose any limitations on the parameter code format carried by the information in the embodiments of this application. In other embodiments of this application, the parameter code format carried by the information in the embodiments of this application may also be other formats, etc. The embodiments of this application are not limited here.

[0391] It should also be understood that the methods, situations, categories, and classifications of embodiments in this application are for the convenience of description only and should not constitute a special limitation. Various methods, categories, situations, and features in embodiments can be combined without contradiction.

[0392] It should also be understood that the various numerical designations used in the embodiments of this application are merely for descriptive convenience and are not intended to limit the scope of the embodiments of this application. The order of the process numbers described above does not imply 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.

[0393] It should also be understood that the above description of the embodiments of this application focuses on highlighting the differences between the various embodiments. Any similarities or differences not mentioned can be referred to each other. For the sake of brevity, they will not be repeated here.

[0394] It should also be understood that in the embodiments of this application, "predefined" can be implemented by pre-storing the corresponding code, table or other means that can be used to indicate relevant information in the device, and this application does not limit the specific implementation method.

[0395] In this embodiment, the communication device, computer-readable storage medium, computer program product or chip are all used to execute the corresponding methods provided above. Therefore, the beneficial effects they can achieve can be referred to the beneficial effects in the corresponding methods provided above, and will not be repeated here.

[0396] In one alternative approach, when data transmission is implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are implemented. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., digital video disk (DVD)), or a semiconductor medium (e.g., solid-state disk (SSD)).

[0397] It is understood that the memory in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. Non-volatile memory can be ROM, programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be RAM, which is used as an external cache. RAM has various different types, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct rambus RAM (DRRAM).

[0398] In this application, various objects such as messages / information / devices / network elements / systems / apparatus / actions / operations / processes / concepts may be named. It is understood that these specific names do not constitute a limitation on the relevant objects. The names may be changed depending on the scenario, context, or usage habits. The understanding of the technical meaning of the technical terms in this application should be mainly determined from their functions and technical effects embodied / performed in the technical solution.

[0399] In the various embodiments of this application, unless otherwise specified or in case of logical conflict, the terminology and / or descriptions of different embodiments are consistent and can be referenced by each other. The technical features of different embodiments can be combined to form new embodiments according to their inherent logical relationship.

[0400] Those skilled in the art will recognize that the units and algorithm steps of the various examples 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 implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art 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. In other words, the electronic device is presented in the form of functional modules. Here, "module" can refer to application-specific integrated circuits (ASICs), circuits, processors and memories executing one or more software or firmware programs, integrated logic circuits, and / or other devices that can provide the above-described functions.

[0401] The methods in the embodiments of this application can be implemented, in whole or in part, by software, hardware, firmware, or any combination thereof. When implemented in software, they can be implemented, in whole or in part, as a computer program product. The computer program product includes one or more computer programs or instructions. When the computer program or instructions are loaded and executed on a computer, the processes or functions described in the embodiments of this application are performed, in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer program or instructions can be stored in a computer-readable storage medium or transmitted through the computer-readable storage medium. The computer-readable storage medium can be any available medium accessible to a computer or a data storage device such as a server integrating one or more available media.

[0402] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0403] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0404] The units described as separate components may or may not be physically separate. 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 the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0405] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0406] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a readable storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned readable storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, ROM, RAM, magnetic disks, or optical disks.

[0407] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A method for displaying an advertisement, comprising: sending, by a terminal, an advertisement request to an advertisement server, wherein the advertisement request comprises a first advertisement information set, and the first advertisement information set comprises one or more first advertisement information, and the first advertisement information corresponds to a preloaded advertisement of the terminal; the preloaded advertisement refers to an advertisement material pre-extracted and cached in a storage unit; the preloaded advertisement is displayed at a specific time or not displayed; receiving, by the terminal, a return message sent by the advertisement server in response to the advertisement request, wherein the return message comprises first advertisement information and second advertisement information, and the second advertisement information corresponds to an un-preloaded advertisement of the terminal; determining, by the terminal, whether the second advertisement has been downloaded within a preset time; displaying, by the terminal, the second advertisement if the second advertisement has been downloaded within the preset time; and displaying, by the terminal, the first advertisement if the second advertisement has not been downloaded within the preset time. Before the terminal sends the advertisement request to the advertisement server, the method further comprises: sending, by the terminal, a first advertisement request to the advertisement server; receiving, by the terminal, advertisement information sent by the advertisement server; and downloading, by the terminal, a corresponding preloaded advertisement according to the advertisement information. The preloaded advertisement request and the advertisement request comprise one or more of the following parameters: a preloaded identifier, an advertisement position identifier, a device identifier, a user identifier, and user behavior data. The method further comprises: sending, by the terminal, a second advertisement request to the advertisement server, wherein the advertisement request comprises a first advertisement information set, and the first advertisement information set comprises one or more first advertisements, and the first advertisements are preloaded advertisements of the terminal; receiving, by the terminal, a third return message sent by the advertisement server in response to the advertisement request, wherein the return message comprises first advertisement information; and displaying, by the terminal, a first advertisement material corresponding to the first advertisement. The return message comprises one or more of the following parameters: a download link of the advertisement material, an identifier of the advertisement, a name of the advertisement, a package name of an application program, and address information of the terminal. The terminal sends the advertisement request to the advertisement server by calling an advertisement SDK.

2. The method of claim 1, wherein, Before the terminal sends the advertisement request to the advertisement server, the method further comprises: obtaining, by the terminal, a first operation of a user, wherein the first operation is an operation for opening an application program or a click operation on a link in the application program. Before the terminal downloads a third advertisement according to the third advertisement information, the method further comprises: determining, by the terminal, that the terminal is connected to a network through WIFI. 9.A method for displaying an advertisement, comprising: receiving, by an advertisement server, an advertisement request sent by a terminal, wherein the advertisement request comprises a first advertisement information set, and the first advertisement information set comprises one or more first advertisement information, and the first advertisement information corresponds to a preloaded advertisement of the terminal; and obtaining, by the advertisement server, an optimal advertisement in response to the advertisement request, wherein the optimal advertisement is an advertisement related to user behavior data or device information carried by the advertisement request. ​ 3. The method of claim 1, wherein, ​ 4. The method of claim 1, wherein, ​ ​ ​ ​ 5. The method of claim 1, wherein, ​ 6. The method of claim 1, wherein, ​ 7. The method of claim 1, wherein, ​ ​ 8. The method according to any one of claims 1-7, characterized in that, ​ ​ ​ ​ ​ If the optimal advertisement is included in the first advertisement set, a third return message is sent to the terminal, the return message being information of the optimal advertisement; If the optimal advertisement is not included in the first advertisement set, a backup advertisement is obtained from the first advertisement set, and a return message is sent to the terminal, the return message being information of the optimal advertisement and information of the backup advertisement.

10. The method of claim 9, wherein, The method further comprises: The advertisement server receives a preloading advertisement request sent by the terminal; The advertisement server sends second return information to the terminal, the return information including a second advertisement information set, the second advertisement being an advertisement that needs to be preloaded in the terminal, and the second advertisement being one or more.

11. The method of claim 9, wherein, The preloading advertisement request and the advertisement request include one or more of the following parameters: preloading identification, advertisement position identification, device identification, user identification, and user behavior data.

12. The method of claim 9, wherein, The server obtains the optimal advertisement according to at least one of the following parameters: device identification, user identification, and user behavior data.

13. The method according to any one of claims 9-12, characterized in that, The server obtains the second advertisement according to at least one of the following parameters: device identification, user identification, and user behavior data.

14. A computer-readable storage medium, characterized in that, The computer readable storage medium stores a computer program, the computer program including program instructions, the program instructions causing the processor to execute the method according to any one of claims 1-8 when executed by the processor.

15. A chip, characterized by Comprise: The processor is configured to call and run the computer program from the memory, so that the communication device installed with the chip executes the method according to any one of claims 1-8.

Citation Information

Patent Citations

  • Method for displaying advertisement and terminal

    CN108235812A

  • Advertisement display method and equipment

    CN110381346A

Cited By

  • Advertisement display method and related device

    WO2022228109A1