Patent Description:
Generally, an advertiser uploads, to an advertisement resource pool, an advertisement creative (such as an advertisement image, text, video, and audio) that needs to be delivered. In a process of using an application (app), a user triggers a terminal to obtain a corresponding advertisement creative from the advertisement resource pool and display the advertisement creative on a display screen of the terminal.

When the terminal detects that the user starts an app or a specified screen of an app is displayed, it may be considered that the terminal has a request for displaying an advertisement at that time. Further, as shown in <FIG>, the terminal may send an advertisement request to an advertisement server, and the advertisement server searches the advertisement resource pool for advertisement information of a target advertisement (such as an ID, a name, and an advertisement type of the target advertisement, and a download link of an advertisement creative of the target advertisement) matching the advertisement request, and returns the advertisement information to the terminal. The terminal may further obtain the advertisement creative of the target advertisement from the advertisement server based on the advertisement information. For example, the advertisement creative of the target advertisement is downloaded based on the download link of the advertisement creative in the advertisement information. Then, the advertisement creative of the target advertisement is displayed on the display screen of the terminal.

However, when the terminal downloads the advertisement creative, if an image, a video, or audio included in the advertisement creative is relatively large, or a network bandwidth is insufficient during download, downloading of the advertisement creative is relatively slow. Consequently, during use of the app, the user needs to spend a large amount of time waiting for downloading the advertisement creative. This reduces a promotion success rate of an advertisement, and greatly affects user experience when the user uses the app. <CIT> discloses a method of prefetching advertisement items and storing them in an advertisement cache of a user terminal.

Embodiments of this application provide an advertisement display method and a terminal, so as to reduce duration of loading an advertisement creative during running of an app, thereby increasing a promotion success rate of an advertisement and improving user experience during use of the app.

To achieve the foregoing objectives, the following technical solutions are used in the embodiments of this application, as defined by the appended claims.

In this way, when the terminal needs to display the future to-be-played advertisement at a future moment, the obtained second advertisement creative can be directly output to the display screen for displaying, thereby saving time of downloading the second advertisement creative by the terminal. Therefore, in a process of using an app, a user does not need to spend a large amount of time waiting for the terminal to download an advertisement creative, thereby increasing a promotion success rate of an advertisement and improving user experience during use of the app.

In the embodiments of this application, names of the foregoing terminals impose no limitation on device themselves. During actual implementation, these devices may have other names. All devices with functions similar to those in the embodiments of this application fall within the scope of the claims of this application and equivalent technologies of this application.

The terms "first" and "second" mentioned below are merely used for a purpose of description, and shall not be understood as an indication or implication of relative importance or implicit indication of a quantity of indicated technical features. Therefore, a feature limited by "first" or "second" may explicitly or implicitly include one or more features. In the descriptions of the embodiments of this application, "plurality" means at least two, unless otherwise specified.

An embodiment of this application provides an advertisement display method, and the method may be applied to an advertising system shown in <FIG>. The system includes a terminal <NUM> and at least one server <NUM> (for example, an advertisement server).

An advertisement resource pool is maintained on the server <NUM>. The advertisement resource pool stores advertisement creatives (for example, text, an image, a video, and audio included in an advertisement) and advertisement information (for example, an advertisement type and an advertisement creative link address) uploaded by advertisers.

In a process of running an app on the terminal <NUM>, the terminal <NUM> may be triggered to request a corresponding advertisement creative from the server <NUM>. For example, in a process in which a user watches a video by using a video application, when detecting that the user triggers a pause button, the terminal <NUM> may send an advertisement request to the server <NUM>, and the server <NUM> returns advertisement information corresponding to the advertisement request to the terminal <NUM>. In this case, the terminal <NUM> may obtain a corresponding advertisement creative from the advertisement resource pool of the server <NUM> based on the advertisement information, and display the obtained advertisement creative on a current video pause screen.

The advertisement information refers to a description parameter used for indicating a characteristic attribute of a to-be-played advertisement, for example, an advertisement ID and name, an advertisement type, and an advertisement creative link address. This is not limited in this embodiment of this application.

Correspondingly, the advertisement creative is specific advertisement content to be displayed on a display screen of the terminal <NUM>, for example, text, an image, a video, and audio included in an advertisement. This is not limited in this embodiment of this application.

In this embodiment of this application, when the terminal <NUM> needs to display a current to-be-played advertisement on the display screen, the terminal <NUM> may obtain, from the server <NUM> at one time, advertisement information of the current to-be-played advertisement (that is, first advertisement information) and advertisement information of a future to-be-played advertisement (that is, second advertisement information) that is predicted by the server <NUM> and that is likely to be displayed on the terminal <NUM> in the future. Then, the terminal <NUM> may further obtain an advertisement creative of the current to-be-played advertisement (that is, a first advertisement creative) based on the first advertisement information, and display the first advertisement creative on the current display screen, to complete a display process of the current to-be-played advertisement.

In addition, the terminal <NUM> may further obtain an advertisement creative of the future to-be-played advertisement (that is, a second advertisement creative) based on the second advertisement information. Therefore, when the terminal <NUM> needs to display the future to-be-played advertisement at a future moment, the obtained second advertisement creative can be directly output to the display screen for displaying, thereby saving time of downloading the second advertisement creative from the server <NUM> by the terminal <NUM>. In this way, during use of the app, the user does not need to spend a large amount of time waiting for the terminal <NUM> to download an advertisement creative, thereby increasing a promotion success rate of an advertisement and improving user experience during use of the app.

In specific implementation, the terminal <NUM> may be a desktop computer, a laptop computer, a tablet computer, a handheld computer, a mobile phone, a notebook computer, an ultra-mobile personal computer (Ultra-mobile Personal Computer, UMPC), a netbook, a cellular phone, a personal digital assistant (Personal Digital Assistant, PDA), a dedicated media renderer, a consumer electronic device, a wearable device, an AR (augmented reality)/VR (virtual reality) device, or the like.

As shown in <FIG>, in this embodiment of this application, description is provided by using an example in which the terminal <NUM> is a mobile phone. It should be understood that a mobile phone <NUM> shown in <FIG> is only an example of the terminal, and the mobile phone <NUM> may have more or fewer components than those shown in the figure, or a combination of two or more components, or components arranged in a different manner.

As shown in <FIG>, the mobile phone <NUM> may specifically include components such as a processor <NUM>, a radio frequency (RF) circuit <NUM>, a memory <NUM>, a touchscreen <NUM>, a Bluetooth apparatus <NUM>, one or more sensors <NUM>, a Wi-Fi apparatus <NUM>, a positioning apparatus <NUM>, an audio frequency circuit <NUM>, a peripheral interface <NUM>, and a power supply system <NUM>. These components may communicate with each other by using one or more communications buses or signal lines (which are not shown in <FIG>). A person skilled in the art can understand that a hardware structure shown in <FIG> does not constitute any limitation on the mobile phone, and the mobile phone <NUM> may include more or fewer components than those shown in the figure, or a combination of some components, or components arranged in a different manner.

The following describes each component of the mobile phone <NUM> in detail with reference to <FIG>.

The processor <NUM> is a control center of the mobile phone <NUM>, and connects various parts of the mobile phone <NUM> by using various interfaces and lines, and runs or executes an application program (which may be referred to as app hereinafter) stored in the memory <NUM> and invokes data stored in the memory <NUM>, to perform various functions of the mobile phone <NUM> and process data. In some embodiments, the processor <NUM> may include one or more processing units. For example, the processor <NUM> may be a Kirin <NUM> chip manufactured by Huawei Technologies Co.

The radio frequency circuit <NUM> may be configured to receive and send a radio signal in an information receiving and sending process or a call process. Particularly, the radio frequency circuit <NUM> may receive downlink data from a base station and then send the downlink data to the processor <NUM> for processing, and also send related uplink data to the base station. Generally, the radio frequency circuit includes but is not limited to an antenna, at least one amplifier, a transceiver, a coupler, a low noise amplifier, a duplexer, and the like. In addition, the radio frequency circuit <NUM> may communicate with other devices through radio communication. Any communications standard or protocol may be used for the radio communication, including but not limited to Global System for Mobile Communications, General Packet Radio Service, Code Division Multiple Access, Wideband Code Division Multiple Access, Long Term Evolution, email, short message service, and the like.

The memory <NUM> is configured to store an application program and data. The processor <NUM> executes the application program and the data stored in the memory <NUM>, to perform various functions of the mobile phone <NUM> and process data. The memory <NUM> mainly includes a program storage area and a data storage area. The program storage area may store an operating system and an application program required by at least one function (such as an audio playback function and an image playback function). The data storage area may store data (such as audio data and a phone book) created during use of the mobile phone <NUM>. In addition, the memory <NUM> may include a high-speed random access memory, and may further include a non-volatile memory such as a disk storage device, a flash memory device, or another volatile solid-state storage device. The memory <NUM> may store various operating systems such as an iOS operating system developed by Apple and an Android operating system developed by Google.

The touchscreen <NUM> may include a touchpad <NUM>-<NUM> and a display <NUM>-<NUM>. The touchpad <NUM>-<NUM> may collect a touch event performed by a user of the mobile phone <NUM> on or near the touchpad (for example, an operation performed on the touchpad <NUM>-<NUM> or near the touchpad <NUM>-<NUM> by the user by using a finger, a stylus, or any other appropriate object), and send collected touch information to another component such as the processor <NUM>. In <FIG>, the touchpad <NUM>-<NUM> and the display <NUM>-<NUM> are used as two independent components to implement input and output functions of the mobile phone <NUM>. However, in some embodiments, the touchpad <NUM>-<NUM> and the display <NUM>-<NUM> can be integrated to implement the input and output functions of the mobile phone <NUM>. It can be understood that the touchscreen <NUM> is made of a plurality of stacked layers of materials. In this embodiment of this application, only the touchpad (layer) and the display (layer) are displayed, and other layers are not recorded in this embodiment of this application. In addition, in some other embodiments of this application, the touchpad <NUM>-<NUM> may cover the display <NUM>-<NUM>, and the touchpad <NUM>-<NUM> is larger than the display <NUM>-<NUM>, so that the entire display <NUM>-<NUM> is covered by the touchpad <NUM>-<NUM>; or the touchpad <NUM>-<NUM> may be disposed on a front side of the mobile phone <NUM> in a full-panel form, that is, any touch performed by the user on the front side of the mobile phone <NUM> can be sensed by the mobile phone, so as to implement experience of full touch on the front side of the mobile phone. In some other embodiments, the touchpad <NUM>-<NUM> is disposed on the front side of the mobile phone <NUM> in the full-panel form, and the display <NUM>-<NUM> may also be disposed on the front side of the mobile phone <NUM> in the full-panel form, thereby implementing a frameless structure on the front side of the mobile phone.

In this embodiment of this application, the mobile phone <NUM> may further have a fingerprint recognition function. For example, a fingerprint sensor <NUM> may be disposed on a rear side of the mobile phone <NUM> (for example, below a rear-facing camera), or a fingerprint sensor <NUM> may be disposed on the front side of the mobile phone <NUM> (for example, below the touchscreen <NUM>). For another example, a fingerprint collection device <NUM> may be disposed in the touchscreen <NUM>, to implement the fingerprint recognition function, that is, the fingerprint collection device <NUM> may be integrated into the touchscreen <NUM> to implement the fingerprint recognition function of the mobile phone <NUM>. In this case, the fingerprint collection device <NUM> is disposed in the touchscreen <NUM>, and may be a part of the touchscreen <NUM> or may be disposed in the touchscreen <NUM> in another manner. A main component of the fingerprint collection device <NUM> in this embodiment of this application is a fingerprint sensor. The fingerprint sensor may be implemented by using any type of sensing technology, including but not limited to an optical technology, a capacitive technology, a piezoelectric technology, an ultrasonic sensing technology, or the like.

In this embodiment of this application, the mobile phone <NUM> may further include the Bluetooth apparatus <NUM>, configured to implement data exchange between the mobile phone <NUM> and another terminal (for example, a mobile phone or a smartwatch) in a short distance from the mobile phone <NUM>. The Bluetooth apparatus in this embodiment of this application may be an integrated circuit, a Bluetooth chip, or the like.

The Wi-Fi apparatus <NUM> is configured to provide, for the mobile phone <NUM>, network access compliant with a Wi-Fi related standard and protocol. The mobile phone <NUM> may connect to a Wi-Fi access point by using the Wi-Fi apparatus <NUM>, to help the user send or receive emails, view web pages, access streaming media, and the like. The Wi-Fi apparatus <NUM> provides wireless broadband Internet access for the user. In some other embodiments, the Wi-Fi apparatus <NUM> may alternatively be used as a Wi-Fi wireless access point, to provide Wi-Fi network access for another terminal.

The mobile phone <NUM> may further include at least one sensor <NUM> such as a light sensor, a motion sensor, and another sensor. Specifically, the light sensor may include an ambient light sensor and a proximity sensor. The ambient light sensor may adjust luminance of the display of the touchscreen <NUM> based on brightness of ambient light. The proximity sensor may turn off the display when the mobile phone <NUM> is moved close to an ear. As a type of motion sensor, an accelerometer sensor may detect acceleration magnitudes in all directions (usually three axes), may detect a magnitude and a direction of gravity when the accelerometer sensor is stationary, and may be configured to recognize mobile phone postures (such as landscape-portrait mode switching, related games, and magnetometer posture calibration), vibration-recognition-related functions (such as a pedometer and knock), and the like. Other sensors such as a gyroscope, a barometer, a hygrometer, a thermometer, and an infrared sensor may be further configured for the mobile phone <NUM>.

The positioning apparatus <NUM> is configured to provide a geographical location for the mobile phone <NUM>. It can be understood that the positioning apparatus <NUM> may be specifically a receiver of a positioning system such as a Global Positioning System (GPS), a BeiDou Navigation Satellite System, or a Russian GLONASS. After receiving a geographical location sent by the foregoing positioning system, the positioning apparatus <NUM> sends this information to the processor <NUM> for processing, or send this information to the memory <NUM> for saving. In some other embodiments, the positioning apparatus <NUM> may alternatively be a receiver of an auxiliary global positioning system (AGPS). The AGPS, acting as an auxiliary server, assists the positioning apparatus <NUM> in completing distance measuring and positioning services. In this case, the auxiliary positioning server communicates with the positioning apparatus <NUM> (that is, a GPS receiver) of the terminal such as the mobile phone <NUM> by using a wireless communications network, to provide positioning assistance. In some other embodiments, the positioning apparatus <NUM> may alternatively be based on a Wi-Fi access point positioning technology. Each Wi-Fi access point has a globally unique MAC address. When Wi-Fi is enabled on the terminal, the terminal can perform scanning and collect broadcast signals from surrounding Wi-Fi access points, so as to obtain MAC addresses broadcast by the Wi-Fi access points. The terminal sends, to a location server by using a wireless communications network, the data (for example, the MAC addresses) that can indicate the Wi-Fi access points. The location server retrieves geographical locations of all the Wi-Fi access points, calculates a geographical location of the terminal based on strength of Wi-Fi broadcast signals, and sends the geographical location to the positioning apparatus <NUM> of the terminal.

The audio frequency circuit <NUM>, a loudspeaker <NUM>, and a microphone <NUM> may provide an audio frequency interface between the user and the mobile phone <NUM>. The audio frequency circuit <NUM> may transmit, to the loudspeaker <NUM>, an electrical signal converted from received audio data, and the loudspeaker <NUM> converts the electrical signal into an audio signal for output. In addition, the microphone <NUM> converts a collected audio signal into an electrical signal, and the audio frequency circuit <NUM> receives the electrical signal and converts it into audio data, and then outputs the audio data to the RF circuit <NUM>, so that the audio data is sent to, for example, another mobile phone, or the RF circuit <NUM> outputs the audio data to the memory <NUM> for further processing.

The peripheral interface <NUM> is configured to provide various interfaces to external input/output devices (such as a keyboard, a mouse, an external display, an external memory, and a subscriber identity module card). For example, a Universal Serial Bus (USB) interface is used to connect to a mouse, and metal contacts in a card slot of a subscriber identity module are used to connect to a subscriber identity module (SIM) card provided by a telecom operator. The peripheral interface <NUM> may be used to couple the external input/output devices to the processor <NUM> and the memory <NUM>.

The mobile phone <NUM> may further include the power supply apparatus <NUM> (for example, a battery and a power supply management chip) that supplies power to the components. The battery may be logically connected to the processor <NUM> by using the power supply management chip, so as to implement functions such as charging management, discharging management, and power consumption management by using the power supply apparatus <NUM>.

Although not shown in <FIG>, the mobile phone <NUM> may further include a camera (a front-facing camera and/or a rear-facing camera), a flash, a miniature projection apparatus, a near field communication (NFC) apparatus, and the like.

The following describes in detail an advertisement display method provided in an embodiment of this application with reference to the accompanying drawings.

In some embodiments of this application, when the terminal <NUM> detects that a user starts an app or a specified screen of an app is displayed, it may be considered that the terminal <NUM> has a request for displaying an advertisement at that time. As shown in <FIG>, when it is detected that the user touches an icon of a player application on a screen, the terminal <NUM> may call an application programming interface (API) of the player application to start the player application, and the terminal <NUM> may further send, to the server <NUM>, an advertisement request for requesting a current to-be-played advertisement.

As shown in <FIG>, the advertisement display method provided in this embodiment of this application includes the following steps <NUM> and <NUM>.

<NUM>: The terminal <NUM> sends an advertisement request for a current to-be-played advertisement to the server <NUM>.

<NUM>: The server <NUM> returns a response message of the advertisement request to the terminal <NUM>, where the response message includes first advertisement information of the current to-be-played advertisement and second advertisement information of a future to-be-played advertisement, and the second advertisement information is information that is about the future to-be-played advertisement and that is obtained by the server <NUM>.

In step <NUM>, the terminal <NUM> may send the advertisement request to the server <NUM> according to a network protocol such as the Hypertext Transfer Protocol (HTTP), the HTTP Secure (HTTPS), the File Transfer Protocol (FTP), or the Secure File Transfer Protocol (SFTP).

For example, when the user starts a client A installed on the terminal <NUM>, the client A may be triggered to call an advertisement software development kit (software development kit, SDK), to send an advertisement request in an HTTP JavaScript object notation (JavaScript Object Notation, JSON) message format to an advertisement server.

The advertisement request may carry parameters such as an application package name (pkgname) of a current app, an advertisement slot ID (slotid), and a requested-advertisement type (adtype), so that the server receiving the advertisement request can determine advertisement information matching the advertisement request.

The advertisement slot ID is used to uniquely identify a specific position, in which the current to-be-played advertisement is displayed, on the current app. The requested-advertisement type may include a plurality of types such as a banner (banner) advertisement, a splash (splash) advertisement, and a native (native) advertisement. For example, the banner advertisement type is represented by <NUM>, the splash advertisement type is represented by <NUM>, and the native advertisement type is represented by <NUM>.

Further, the advertisement request may include an advertisement slot width (width) and an advertisement slot height (height). The advertisement slot width and the advertisement slot height are usually less than a width and a height of a screen of the terminal <NUM>.

In addition, the advertisement request may further include device information of the terminal <NUM>, for example, a device type (devicetype) of the terminal <NUM>, an operating system version (version) of the terminal <NUM>, a device maker (maker) of the terminal <NUM>, a device model (model) of the terminal <NUM>, an operating system language (language) used on the terminal <NUM>, an international mobile equipment identity (IMEI), a mobile equipment identifier (MEID), an electronic serial number (ESN), or an Android ID (a unique identifier for an Android device) of the terminal <NUM>, and a Media Access Control (MAC) address of the terminal <NUM>.

For example, the advertisement request sent by the terminal <NUM> to the server <NUM> is as follows:
<IMG>.

In some embodiments of this application, the advertisement request may further include user behavior data recorded by the terminal <NUM>, for example, a type of user favorite songs and user work and rest habits, so that the server <NUM> can determine, based on the advertisement request, advertisement information matching user behavior.

After receiving the advertisement request, the server <NUM> may compare, one by one, parameters carried in the advertisement request and advertiser-uploaded advertisement information in an advertisement resource pool, and use advertisement information satisfying the parameters in the advertisement request as the first advertisement information of the current to-be-played advertisement.

In addition, in this embodiment of this application, after the server <NUM> receives the advertisement request, the server <NUM> may further predict the future to-be-played advertisement that is likely to be displayed on the terminal <NUM> in the future.

In some embodiments of this application, the server <NUM> may predict, based on device-related device information of the terminal <NUM> carried in the advertisement request, the future to-be-played advertisement that is likely to be displayed on the terminal <NUM> in the future.

For example, a device maker carried in the foregoing advertisement request is Huawei, and therefore the server <NUM> may use one or more advertisements related to Huawei in the advertisement resource pool as the future to-be-played advertisement. For example, an advertisement of a new mobile phone released by Huawei is used as the future to-be-played advertisement.

In some other embodiments of this application, the server <NUM> may alternatively predict, based on application information that is related to a current application and that is carried in the advertisement request, the future to-be-played advertisement that is likely to be displayed on the terminal <NUM> in the future.

For example, an application package name carried in the advertisement request is a package name of a game app, and therefore the server <NUM> may use, as the future to-be-played advertisement, an advertisement of a game app, whose type is similar to that of the game app, in the advertisement resource pool.

For another example, after the user starts a video-type application A on the terminal <NUM>, the terminal <NUM> is triggered to generate an advertisement request carrying a package name of the application A, and the terminal <NUM> sends the advertisement request to the server <NUM>. After receiving the advertisement request, the server <NUM> may determine, based on the package name of the application A, that the application A is a video-type application, and the server <NUM> may further search the advertisement resource pool for an advertisement corresponding to the video-type application, and use the advertisement as the future to-be-played advertisement, for example, an advertisement of a current hit show. After the user starts a music-type application B on the terminal <NUM>, the terminal <NUM> may be triggered to generate an advertisement request carrying a package name of the application B, and send the advertisement request to the server <NUM>. After receiving the advertisement request, the server <NUM> may determine, based on the package name of the application B, that the application B is a music-type application, and the server <NUM> may further search the advertisement resource pool for an advertisement corresponding to the music-type application, and use the advertisement as the future to-be-played advertisement, for example, an advertisement of a headphone brand.

In some other embodiments of this application, the server <NUM> may alternatively predict, based on the user behavior data carried in the advertisement request, the future to-be-played advertisement that is likely to be displayed on the terminal <NUM> in the future.

For example, the user behavior data may be a user search record, and therefore the server <NUM> may determine, based on the user search record, target information that is recently concerned by the user, for example, a car, a particular brand of clothing, or a favorite food. Then, the server <NUM> may use an advertisement related to the target information in the advertisement resource pool as the future to-be-played advertisement.

For another example, the user behavior data may alternatively be a song playback record of the user when a music app is used, and therefore when the user starts the music app on the terminal <NUM>, the terminal <NUM> may be triggered to generate an advertisement request carrying the song playback record, and the terminal <NUM> sends the advertisement request to the server <NUM>. Then, after receiving the advertisement request, the server <NUM> may determine a user preference such as a user favorite music type and/or a favorite singer based on the carried song playback record, and the server <NUM> further searches the advertisement resource pool for an advertisement corresponding to the user preference as the future to-be-played advertisement, for example, an advertisement of a singer's concert.

It can be learned that in this embodiment of this application, when sending the advertisement request to the server <NUM>, the terminal <NUM> may add at least one of the following information to the advertisement request: the user behavior data, the device information of the terminal <NUM>, and the package name of the application currently triggering the advertisement request. In this way, the server <NUM> may determine, based on the foregoing information, a future to-be-played advertisement that is relatively highly required by the user and that has a relatively high probability of being played on the terminal <NUM> in the future, thereby increasing a promotion success rate of an advertisement and improving user experience when the user uses the app.

In a possible design manner, as shown in <FIG>, the advertising system provided in this embodiment of this application may further include an advertisement prediction apparatus <NUM>. The advertisement prediction apparatus <NUM> may be connected to the server <NUM> in a form of an independent physical device, or may be integrated into the server <NUM> in a form of a functional module. This is not limited in this embodiment of this application.

After the server <NUM> receives the advertisement request sent by the terminal <NUM>, the server <NUM> may alternatively further interact with the advertisement prediction apparatus <NUM>, to predict the future to-be-played advertisement that is likely to be displayed on the terminal <NUM> in the future.

For example, the advertisement prediction apparatus <NUM> may pre-build, by using a big data mining tool, an advertisement prediction model based on historical advertisement data displayed on different terminals. In this case, after receiving the advertisement request sent by the terminal <NUM>, the server <NUM> may send the advertisement request to the advertisement prediction model. The advertisement prediction model predicts, from the advertisement resource pool based on a related parameter carried in the advertisement request such as application information, one or more future to-be-played advertisements that are likely to be displayed on the terminal <NUM> in the future, and feeds back advertisement information of the predicted future to-be-played advertisement (that is, the second advertisement information) to the server <NUM>.

In this case, in step <NUM>, the server <NUM> uses, as a response message of the advertisement request, the determined first advertisement information of the current to-be-played advertisement and the second advertisement information of the predicted future to-be-played advertisement that is likely to be displayed on the terminal <NUM> in the future, and sends the response message to the terminal <NUM>.

Similar to the advertisement request, the response message sent by the server <NUM> may also be represented in the JSON message format.

For example, the response message may include a return value (retcode) of the response message, the first advertisement information (adinfo) of the current to-be-played advertisement, and the second advertisement information (preadinfo) of the future to-be-played advertisement. If the first advertisement information or the second advertisement information matching the advertisement request is not successfully found, the response message may further include a respond failure error cause (reason).

The advertisement information (the first advertisement information and/or the second advertisement information) may include parameters such as an advertisement slot ID (slotid), an advertisement creative type (creativetype), and a content ID (contentid) of an advertisement creative corresponding to the advertisement request. The advertisement creative type may include types such as a text advertisement, an image advertisement, an image-text advertisement, and a graphics interchange format (GIF) advertisement.

Further, the advertisement information (the first advertisement information and/or the second advertisement information) may include parameters such as an advertisement creative download link (html), an advertisement creative digest value (sha256), and an advertisement interaction type (interactiontype). The advertisement interaction type may include interaction types such as no response to a user touch, opening a related web page after a user touch, downloading an application after a user touch, and entering an application after a user touch.

For example, the response message sent by the server <NUM> to the terminal <NUM> is as follows:
{
"retcode":<NUM>, //return value
"adinfo": //first ad information
{
"slotid": "82a0da26160a1034995080fb06adelde", //ad slot ID
"interactiontype": <NUM>,//an interaction
type is entering an application after a user touch
"creativetype":<NUM>, //a creative type is an image ad
"html":"http://cs. com/contserver/data/98BE13F2CD19D40. jpg",//download link
"sha256": "45hsfrfswgh4345435" //advertisement creative digest value }
"premulticontent": //second ad information (including two pieces of ad information)
{
{
"slotid": " 82a0da26160a1034995080fb06ade1de", //ad slot ID
"interactiontype": <NUM>, //an interaction
type is entering an application after a user touch
"creativetype":<NUM>, //a creative type is an image ad
"html":"http://cs. com/contserver/data/98B1E3F2CD1GHR4. jpg", //download link
"sha256": "568gwe4235gdgfdh45" //advertisement creative digest value
}
{
"slotid": " 82a0da26160a1034995080fb06ade1de", //ad slot ID
"interactiontype": <NUM>, //an interaction type
is entering an application after a user touch
"creativetype":<NUM>, //a creative type is an image ad
"html":"http://cs. com/contserver
/data/345ETF89DFFw23KL. jpg", //download link
"sha256": "1346590fdgfhj8531f" //advertisement creative digest value
}
}
}.

It can be learned that, in steps <NUM> and <NUM>, each time when the terminal <NUM> sends the advertisement request to the server <NUM>, the server <NUM> determines, for the terminal <NUM>, the first advertisement information of the current to-be-displayed advertisement suitable for being displayed currently, and also predicts, for the terminal <NUM>, the second advertisement information of the future to-be-played advertisement that is likely to be displayed on the terminal <NUM>. In this way, the terminal <NUM> can obtain the advertisement information of the future to-be-played advertisement in advance without increasing a quantity of interactions between the terminal <NUM> and the server <NUM>, so that the terminal <NUM> can download an advertisement creative of the future to-be-played advertisement based on the advertisement information in advance, thereby saving user waiting time that is caused by real-time downloading of an advertisement creative when an advertisement needs to be played.

In addition, a lightweight database (SQLite) occupies very few resources, and a SQLite specially used for storing advertisement information may be disposed on the terminal <NUM>. After obtaining the first advertisement information and the second advertisement information, the terminal <NUM> may store the first advertisement information and the second advertisement information into the SQLite, so that the terminal <NUM> obtains corresponding advertisement information from the SQLite subsequently, and obtains, based on the advertisement information, an advertisement creative corresponding to the advertisement information.

In some embodiments of this application, after the terminal <NUM> obtains the response message sent by the server <NUM>, as shown in <FIG>, the following steps <NUM> to <NUM> may be continued.

<NUM>: The terminal <NUM> determines whether a first advertisement creative corresponding to the first advertisement information is stored locally.

Specifically, the first advertisement information carries a content ID of the first advertisement creative corresponding to the first advertisement information, and therefore the terminal <NUM> can search locally stored advertisement creatives to determine whether a content ID same as the content ID in the first advertisement information exists.

If the content ID exists, it is determined that the first advertisement creative corresponding to the first advertisement information is stored locally, and the terminal <NUM> may continue to perform step <NUM>; otherwise, it is determined that the first advertisement creative corresponding to the first advertisement information is not stored locally, and the terminal <NUM> may continue to perform steps <NUM> and <NUM>.

<NUM>: The terminal <NUM> obtains the first advertisement creative corresponding to the first advertisement information from the server <NUM>.

<NUM>: The terminal <NUM> displays the first advertisement creative on a display screen of the terminal <NUM>.

In step <NUM>, if the first advertisement creative corresponding to the first advertisement information is not stored locally, the terminal <NUM> may download the first advertisement creative corresponding to the first advertisement information from the advertisement resource pool of the server <NUM> based on a download link carried in the first advertisement information. Further, as shown in <FIG>, in step <NUM>, the terminal <NUM> displays the first advertisement creative on the display screen of the terminal <NUM>, to complete a playback process of the current to-be-played advertisement.

Correspondingly, if the first advertisement creative corresponding to the first advertisement information is stored locally, the terminal <NUM> may directly perform step <NUM>, that is, display the first advertisement creative on the display screen of the terminal <NUM>, to complete the playback process of the current to-be-played advertisement. In this case, in the process of playing the current to-be-played advertisement, the terminal <NUM> does not need to download the first advertisement creative corresponding to the first advertisement information from the advertisement resource pool, so that the user does not need to spend a large amount of time waiting for downloading an advertisement creative during use of an app, thereby increasing a promotion success rate of an advertisement and improving user experience during use of the app.

In some other embodiments of this application, after the terminal <NUM> obtains the response message sent by the server <NUM>, as shown in <FIG>, the following steps <NUM> to <NUM> may be continued.

<NUM>: The terminal <NUM> requests a second advertisement creative corresponding to the second advertisement information from the server <NUM> based on the second advertisement information.

<NUM>: The terminal <NUM> receives the second advertisement creative sent by the server <NUM>.

Specifically, the second advertisement information carries a download link of the second advertisement creative corresponding to the second advertisement information, and therefore the terminal <NUM> may download the second advertisement creative from the advertisement resource pool of the server <NUM> based on the download link.

For example, when the terminal <NUM> is in a Wi-Fi network, the terminal <NUM> may be triggered to download, in the background, the second advertisement creative based on the download link in the second advertisement information. This can reduce extra traffic overheads brought to the user when the terminal <NUM> downloads an advertisement creative by using a mobile network.

Further, after downloading the second advertisement creative, the terminal <NUM> may calculate a digest value (sha256) of the second advertisement creative, and further compare the digest value obtained through calculation and the digest value of the advertisement creative carried in the second advertisement information. When the two digest values are the same, it indicates that the second advertisement creative is not tampered with during downloading. When the two digest values are different, it indicates that the second advertisement creative is tampered with during downloading. In this case, the terminal <NUM> may delete the downloaded second advertisement creative, and send an alarm message to the server <NUM>, to prompt the server <NUM> to process the malicious tampering behavior in a timely manner.

<NUM>: The terminal <NUM> displays the second advertisement creative on the display screen of the terminal <NUM>.

A first moment at which the terminal <NUM> displays the first advertisement creative on the display screen of the terminal <NUM> in step <NUM> is earlier than a second moment at which the terminal <NUM> displays the second advertisement creative on the display screen of the terminal <NUM> in step <NUM>.

That is, a moment at which the terminal <NUM> displays the first advertisement creative is earlier than a moment at which the terminal <NUM> displays the second advertisement creative. For example, when a video application A is started, the terminal <NUM> obtains the first advertisement creative based on the obtained first advertisement information and displays the first advertisement creative on a current display screen. In a process of playing a video by using the video application A, the terminal <NUM> may download the second advertisement creative of the future to-be-played advertisement based on the second advertisement information. Then, when a pause operation triggered by the user is detected, the terminal <NUM> may display the downloaded second advertisement creative on a current pause screen. For another example, when a video application A is started, the terminal <NUM> may display the obtained first advertisement creative on the current display screen. In a process of running the application A, the terminal <NUM> may download the second advertisement creative of the future to-be-played advertisement based on the second advertisement information. Then, when an application B is started, the terminal <NUM> may display the downloaded second advertisement creative on the current display screen. This is not limited in this embodiment of this application.

In a possible design method, after downloading the second advertisement creative, the terminal <NUM> may first locally store the second advertisement creative. For example, a size of an advertisement creative is usually relatively large, and therefore the second advertisement creative may be locally stored in a form of a file, thereby improving a read speed during reading of the advertisement creative by the terminal <NUM>.

Then, when the user re-triggers an advertisement request on the terminal <NUM> in the future, as described in steps <NUM> to <NUM>, if advertisement information, returned by the server <NUM> to the terminal <NUM>, of a current to-be-played advertisement carries a content identifier of the second advertisement creative, it indicates that the current to-be-played advertisement at that time is the second advertisement creative. Then, the terminal <NUM> may output the already stored second advertisement creative to the display screen of the terminal <NUM> for displaying.

In this way, in a process of playing the current to-be-played advertisement, the terminal <NUM> does not need to download the second advertisement creative from the advertisement resource pool, so that the user does not need to spend a large amount of time waiting for downloading an advertisement creative during use of an app, thereby increasing a promotion success rate of an advertisement and improving user experience during use of the app.

In another possible design method, after the terminal <NUM> downloads the second advertisement creative, the user re-triggers a request for displaying an advertisement during use of the app in the future. For example, as shown in <FIG>, if the terminal <NUM> detects that the user touches a pause button when a video A is being played, the terminal <NUM> is triggered to display a new advertisement creative on the current display screen. In this case, the terminal <NUM> may output the locally stored second advertisement creative to the display screen of the terminal <NUM> for displaying.

For example, as shown in <FIG>, when displaying the second advertisement creative, the terminal <NUM> may prompt to the user in forms such as text that the second advertisement creative currently displayed is downloaded in advance in a Wi-Fi environment. Therefore, when the second advertisement creative is displayed, the user does not need to worry about extra traffic overheads, thereby improving user experience when the user uses the video app.

In some embodiments of this application, if there is a plurality of locally stored second advertisement creatives, the terminal <NUM> may randomly select one of the plurality of second advertisement creatives for displaying on the current display screen.

Alternatively, the terminal <NUM> may further obtain scenario description data at that time, and the scenario description data is used to indicate a current application scenario of the terminal <NUM>. In this case, the terminal <NUM> may select, from the plurality of second advertisement creatives, a second advertisement creative related to the scenario description data for displaying, so as to increase a promotion success rate of an advertisement.

For example, the scenario description data may specifically include a type of a program currently played on an app. As shown in <FIG>, four different types of second advertisement creatives are downloaded by the terminal in advance. When the terminal <NUM> plays a food show, if it is detected that the user touches the pause button, the terminal <NUM> is triggered to obtain the type of the program currently being played on the app, and as shown in <FIG>, the food show is being played on the currently running video application. Then, the terminal <NUM> may search the prestored second advertisement creatives for an advertisement creative related to food, for example, an advertisement creative of a food advertisement in <FIG>. The terminal <NUM> further displays the advertisement creative related to food on the current display screen.

Alternatively, the scenario description data may further include screen content of the current display screen of the terminal <NUM>. For example, the terminal <NUM> is playing a TV series B by using a video application, and as shown in (a) of <FIG>, the terminal <NUM> detects that the user touches the pause button when the TV series B is played to a fifth minute. In this case, the terminal <NUM> obtains screen content of the current display screen, for example, an eating picture that is currently being played. Then, still as shown in (a) of <FIG>, the terminal <NUM> may search the prestored second advertisement creatives for an advertisement creative related to food, and further display the second advertisement creative related to food on the current display screen. Afterwards, as shown in (b) of <FIG>, the terminal <NUM> detects that the user touches the pause button again when the TV series B is played to a twentieth minute, and at that time, the terminal <NUM> is triggered again to obtain screen content of the current display screen, for example, a picture of shopping by a leading actress in the TV series that is currently being played. Then, still as shown in (b) of <FIG>, the terminal <NUM> may search the prestored second advertisement creatives for an advertisement creative related to shopping, and further display the second advertisement creative related to shopping (for example, a clothing advertisement) on the current display screen.

Alternatively, the scenario description data may further include information about a current application scenario of the terminal <NUM>. For example, when it is detected that the user holds the terminal <NUM> while running or starts a sports-related app, it can be determined that the terminal <NUM> is in a sports scenario. In the sports scenario, if it is detected that the terminal <NUM> has a request for displaying an advertisement, as shown in (a) of <FIG>, the terminal <NUM> may search the prestored second advertisement creatives for an advertisement creative related to sports, and further displays the second advertisement creative related to sports (for example, a sporting goods advertisement) on the current display screen. For another example, when it is detected that the user starts a game app, it can be determined that the terminal <NUM> is in a game scenario. In the game scenario, if it is detected that the terminal <NUM> has a request for displaying an advertisement, as shown in (b) of <FIG>, the terminal <NUM> may search the prestored second advertisement creatives for an advertisement creative related to games, and further displays the second advertisement creative related to games on the current display screen.

It can be learned from the foregoing embodiment that, when displaying the downloaded second advertisement creative, the terminal <NUM> may intelligently display, to the user based on the current application scenario, an advertisement creative related to the current application scenario. In this way, in a process of watching an advertisement by the user, time of downloading an advertisement creative can be saved, and the user is also able to watch an advertisement best matching the current application scenario, thereby increasing a promotion success rate of an advertisement and improving user experience when the user uses the app.

It should be noted that in the foregoing embodiment, description is provided by using an example in which the server <NUM> adds, to the response message, the first advertisement information of the current to-be-displayed advertisement and the second advertisement information of the predicted future to-be-played advertisement that are determined for the terminal <NUM>. It can be understood that in some other embodiments of this application, a process of predicting, by the server <NUM>, the second advertisement information of the future to-be-played advertisement that is likely to be displayed on the terminal <NUM> in the future and a process of sending, by the server <NUM>, the second advertisement information to the terminal <NUM> may alternatively be performed independently by the server <NUM>.

For example, when detecting that the terminal <NUM> has a request for displaying an advertisement, the terminal <NUM> may send an advertisement request to the server <NUM>; then, the server <NUM> may determine, for the terminal, only the first advertisement information of the current to-be-played advertisement corresponding to the advertisement request, so that the terminal <NUM> can obtain the first advertisement creative of the current to-be-played advertisement based on the first advertisement information and display the first advertisement creative. In this implementation, the terminal <NUM> may regularly or irregularly send, to the server <NUM>, an extra future to-be-played advertisement request for requesting the future to-be-played advertisement; then, the server <NUM> that receives the future to-be-played advertisement request may further predict, for the terminal <NUM>, the future to-be-played advertisement that is likely to be played in the future, and sends the second advertisement information of the future to-be-played advertisement to the terminal <NUM>, so that the terminal <NUM> may download the advertisement creative of the future to-be-played advertisement in advance based on the second advertisement information before playing the future to-be-played advertisement. This is not limited in this embodiment of this application.

It can be understood that, to perform the foregoing functions, the terminal and the like include corresponding hardware structures and/or software modules for performing the functions. A person skilled in the art may be easily aware that units and algorithm steps of each example described in combination with the embodiments disclosed in this specification may be implemented by hardware, or a combination of hardware and computer software in the embodiments of this application. Whether a function is performed by hardware or by computer software drive hardware depends on particular applications and design constraint conditions of the technical solutions. For specific applications, a person skilled in the art may use different methods to implement the described functions; however, this implementation should not be construed as going beyond the scope of the embodiments of this application.

In the embodiments of this application, the terminal and the like may be divided into functional modules based on the foregoing method examples. For example, various functional modules corresponding to various functions may be obtained through division, or two or more functions may be integrated into one processing module. The integrated module may be implemented in a form of hardware, or may be implemented in a form of a software function module. It should be noted that the module division in the embodiments of this application is an example and is merely logical function division. There may be another division manner in actual implementation.

For the division into functional modules corresponding to functions, <FIG> is a possible schematic structural diagram of the terminal <NUM> in the foregoing embodiments. The terminal <NUM> includes an obtaining unit <NUM>, a sending unit <NUM>, and a display unit <NUM>.

The obtaining unit <NUM> is configured to: obtain first advertisement information of a current to-be-played advertisement and second advertisement information of a predicted future to-be-played advertisement, where the first advertisement information is used to indicate a characteristic attribute of a to-be-played advertisement currently displayed on the terminal <NUM>, and the second advertisement information is used to indicate a characteristic attribute of a to-be-played advertisement to be displayed on the terminal <NUM> in the future; obtain a first advertisement creative of the current to-be-played advertisement based on the first advertisement information; and obtain a second advertisement creative of the future to-be-played advertisement based on the second advertisement information.

The display unit <NUM> is configured to separately display the first advertisement creative and the second advertisement creative.

Further, the sending unit <NUM> is configured to send an advertisement request for the current to-be-played advertisement to a server, where the advertisement request is used to trigger the server to determine first advertisement information corresponding to the current to-be-played advertisement, and to predict second advertisement information corresponding to the future to-be-played advertisement.

The obtaining unit <NUM> is further configured to receive a response message sent by the server, where the response message includes the first advertisement information and the second advertisement information.

Further, the second advertisement information includes a download link of the second advertisement creative; and the obtaining unit <NUM> is specifically configured to: when the terminal <NUM> is in a Wi-Fi network, download the second advertisement creative based on the download link of the second advertisement creative.

Further, the first advertisement information includes a content identifier; and the obtaining unit <NUM> is specifically configured to: determine, through searching, whether a target advertisement creative corresponding to the content identifier is stored in the terminal <NUM>; if the target advertisement creative corresponding to the content identifier is stored, use the target advertisement creative as the first advertisement creative; or if the target advertisement creative corresponding to the content identifier is not stored, obtain, from the server, a first advertisement creative corresponding to the content identifier.

Further, the display unit <NUM> is specifically configured to display the first advertisement creative at a first moment, and display the second advertisement creative at a second moment. The second moment is later than the first moment.

In a possible design method, the display unit <NUM> is specifically configured to: when third advertisement information obtained by the terminal <NUM> includes a content identifier of the second advertisement creative, display the second advertisement creative.

In another possible design method, the obtaining unit <NUM> is further configured to: when the second moment arrives, obtain scenario description data, where the scenario description data is used to indicate a current application scenario of the terminal <NUM>; and the display unit <NUM> is specifically configured to: when the scenario description data is related to the second advertisement creative, display the second advertisement creative.

For function descriptions of the corresponding functional modules, refer to all related content of the steps in the foregoing method embodiments.

In addition, when an integrated unit is used, <FIG> is a possible schematic structural diagram of the terminal <NUM> in the foregoing embodiments. The terminal <NUM> includes a processing module <NUM> and a communications module <NUM>. The processing module <NUM> is configured to perform control management on actions of the terminal <NUM>. The communications module <NUM> is configured to support communication between the terminal <NUM> and another network entity. The terminal <NUM> may further include a storage module <NUM>, configured to store program code and data of the terminal <NUM>.

The processing module <NUM> may be a processor or a controller, for example, a central processing unit (Central Processing Unit, CPU), a general-purpose processor, a digital signal processor (Digital Signal Processing, DSP), an application-specific integrated circuit (Application-Specific Integrated Circuit, ASIC), a field programmable gate array (Field Programmable Gate Array, FPGA), or another programmable logic device, a transistor logic device, a hardware component, or a combination thereof. The controller/processor may implement or execute various example logical blocks, modules, and circuits described with reference to content disclosed in this application. Alternatively, the processor may be a combination of processors implementing a computing function, for example, a combination of one or more microprocessors, or a combination of the DSP and a microprocessor. The communications module <NUM> may be a transceiver, a transceiver circuit, a communications interface, or the like. The storage module <NUM> may be a memory.

When the processing module <NUM> is a processor, the communications module <NUM> is an RF transceiver circuit, and the storage module <NUM> is a memory, the terminal <NUM> provided in this embodiment of this application may be the mobile phone <NUM> shown in <FIG>.

All or some of the foregoing embodiments may be implemented by using software, hardware, firmware, or any combination thereof. When a software program is used to implement the embodiments, the embodiments may be implemented completely or partially in a 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 the computer, the procedure or functions according to the embodiments of this application are all or partially generated. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable apparatuses. The computer instructions may be stored in a computer-readable storage medium or may be transmitted from a computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website, computer, server, or data center to another website, computer, server, or data center in a wired (for example, a coaxial cable, an optical fiber, or a digital subscriber line (DSL)) or wireless (for example, infrared, radio, or microwave) manner. The computer-readable storage medium may be any usable medium accessible by a computer, or a data storage device, such as a server or a data center, integrating one or more usable media. The usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, or a magnetic tape), an optical medium (for example, a DVD), a semiconductor medium (for example, a Solid State Disk Solid State Disk (SSD)), or the like.

Claim 1:
An advertisement display method, comprising:
detecting, by a terminal (<NUM>), a first application started or pausing a video in response to a first operation of a user;
sending, by the terminal (<NUM>), a first advertisement request when detecting the first application started or when detecting , by the terminal (<NUM>), pausing the video in response to a first operation of a user;
obtaining, by the terminal (<NUM>) from a server (<NUM>), a first response message, wherein the first response message comprises a first advertisement information of a first to-be-played advertisement and a second advertisement information of a second to-be-played advertisement, wherein the first advertisement information is used to indicate a characteristic attribute of the first to-be-played advertisement and comprises a first content identifier, and the second advertisement information is used to indicate a characteristic attribute of the second to-be-played advertisement and comprises a second content identifier;
obtaining, by the terminal (<NUM>), a first advertisement creative of the first to-be-played advertisement based on the first advertisement information;
displaying, by the terminal (<NUM>), the first advertisement creative at a first moment;
obtaining, by the terminal (<NUM>), a second advertisement creative of the second to-be-played advertisement based on the second advertisement information and storing the second advertisement creative in the terminal (<NUM>); and
detecting, by the terminal, the first application restarted or detecting, by the terminal, pausing the video in response to a second operation of the user;
sending, by the terminal (<NUM>), a second advertisement request;
obtaining, by the terminal (<NUM>) from the server (<NUM>), a second response message, wherein, when the second response message comprises the second advertisement information:
obtaining, by the terminal (<NUM>), the second advertisement creative stored in the terminal (<NUM>) according to the second advertisement information; and
displaying, by the terminal (<NUM>), the second advertisement creative at a second moment when detecting the first application restarted or when detecting pausing the video in response to a second operation of the user, wherein the second moment is later than the first moment.