Message push method, terminal device, push server and readable storage medium
By implementing frequency control logic in terminal devices, the problem of poor user experience caused by excessively high push message frequency is solved, server resource usage is reduced, and the real-time performance and flexibility of frequency control are improved.
Patent Information
- Application Number
- CN202210931957.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-04
- Publication Date
- 2025-09-23
- Estimated Expiration
- 2042-08-04
AI Technical Summary
In the prior art, the frequency of application servers pushing messages to terminal devices is too high, resulting in a poor user experience, and the push server occupies a large amount of resources and has poor real-time frequency control.
Frequency control logic is implemented in the terminal device to determine whether to push a message by obtaining the first information and the second information of the target message category, thereby reducing server resource usage and improving real-time performance.
It improves user experience, reduces power consumption of terminal devices, reduces pressure on push servers, and improves the real-time and flexibility of frequency control.
Smart Images

Figure CN117555700B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of electronic technology, and in particular to a message push method, a terminal device, a push server, and a readable storage medium. Background Art
[0002] With the rapid development of the mobile internet, application (APP) servers are increasingly pushing messages to end devices. While this improves people's lives, the disorganized push of large numbers of messages can disrupt user experience. For example, excessive push frequency can cause a large number of messages to pop up on the end device interface in a short period of time, severely impacting the user experience.
[0003] Therefore, it is necessary to control the frequency at which the application server pushes messages to the terminal device to improve the user experience. Summary of the Invention
[0004] The present application provides a message push method, terminal device, push server and readable storage medium, which can control the frequency of message push to the terminal device and improve user experience.
[0005] In the first aspect, the present application provides a message push method, which is executed by a terminal device, and the method includes: receiving a message to be pushed sent by a push server, the message to be pushed carrying a target message category to which the message to be pushed belongs; obtaining target first information corresponding to the target message category; the target first information is the threshold information in the target judgment condition, and the target judgment condition is used to judge whether to push messages of the target message category; determining the target second information corresponding to the target message category; the target second information is the historical push data information of messages of the target message category; according to the target first information and the target second information, based on the target judgment condition, determining whether to push the message to be pushed.
[0006] The target message category refers to the message category to which the message to be pushed belongs, that is, the category to which the message to be pushed belongs within the preset message categories. The preset message categories can be divided into one or more dimensions, such as the application type to which the message belongs, the business type to which the message belongs, and the display effect of the message. For example, based on the display effect of the message, the preset message categories may include messages with background colors, messages with base images, animated messages, large font messages, and foldable messages.
[0007] The judgment condition corresponding to the target message category is called the target judgment condition. Among them, the judgment condition is also called the frequency control condition in the specific implementation. The target first information refers to the first information corresponding to the target message category, and the first information is also called the frequency control condition parameter in the specific implementation. The first information may include at least one of the push number threshold, push time, push interval threshold, etc. The target first information includes at least one of the push number threshold of the target message category, the push time of the target message category, and the push time interval threshold of the target message category. Optionally, the first information can be a numerical value, a mathematical formula, a rule statement, etc. The embodiment of the present application does not impose any limitation on the specific form of the first information.
[0008] The target message category refers to the second information corresponding to the target message category. The second information is also referred to as frequency control data in the specific implementation. The second information has the same information type (or information dimension) as the first information. Corresponding to the first information, the second information may include at least one of the following: the number of messages pushed, the current time, the time interval between the current time and the time when the most recent message was pushed. The target second information may include at least one of the following: the number of messages pushed of the target message category, the current time, the time interval between the current time and the time when the most recent message of the target message category was pushed, etc.
[0009] The message push method provided in the first aspect, after receiving the message to be pushed sent by the push server, obtains the target first information and target second information corresponding to the target message category, and determines whether to push the message to be pushed based on the target first information and target second information and the target judgment condition. This method can control the frequency of pushing messages to the terminal device, prevent excessive disturbance to the user, improve user experience, and reduce the number of messages pushed by the terminal device, which can reduce the power consumption of the terminal device. Moreover, the execution subject of the above process is the terminal device. Specifically, the target second information is determined by the terminal device, and the judgment of whether to push the message to be pushed is also determined by the terminal device, that is, the logical algorithm for frequency control of the push message (referred to as frequency control) is implemented by the terminal device. Therefore, for the push server, there is no need to manage the second information of each terminal device, and there is no need to perform frequency control logic operations, which greatly saves the resources of the push server, reduces the pressure on the push server, and saves the cost of the push server. In addition, the process of determining the target second information and the process of determining whether to push the message to be pushed (i.e., determining the frequency control strategy) are both performed in the terminal device, without excessive interaction with other devices, and there is no time difference, thus improving the real-time performance of frequency control.
[0010] In a possible implementation, obtaining the target first information corresponding to the target message category includes: receiving the target first information sent by a push server.
[0011] That is, the target first information is sent by the push server to the terminal device. Optionally, after receiving the message to be pushed from the application server, the push server can determine the target first information corresponding to the target message category and send the target first information and the message to be pushed to the terminal device. Optionally, the target first information can be included in the message to be pushed.
[0012] In this implementation, the target first information is sent to the terminal device by the push server, and the target second information is determined by the terminal device, thereby decoupling the management of the first information and the second information. For the terminal device, the first information can be obtained directly from the push server, which reduces the complexity of the terminal device software logical operations and improves the reliability and stability of the terminal device software.
[0013] In a possible implementation, obtaining target first information corresponding to a target message category includes: determining the target first information corresponding to the target message category according to first correspondence information; the first correspondence information includes correspondences between multiple message categories and multiple first information.
[0014] In other words, the target first information is determined by the terminal device itself. This further reduces the time difference between obtaining the first information and generating the frequency control strategy, improving the real-time performance of frequency control. Furthermore, since the target first information is determined by the terminal device, the push server does not need to carry the target first information in the push message sent to the terminal device, significantly reducing redundant network resources.
[0015] In one possible implementation, the first information corresponding to the message category is determined based on the first correspondence information, including: if the target message category is included in multiple message categories, and the first information corresponding to the target message category is not a null value, then the first information corresponding to the target message category is determined as the target first information; if the target message category is not included in multiple message categories, or the first information corresponding to the target message category in the first correspondence information is a null value, then a first request information is sent to the push server to request the first information corresponding to the target message category; the first information corresponding to the target message category sent by the push server is received, and the first information corresponding to the target message category is determined as the target first information.
[0016] In this implementation, when the target first information exists in the correspondence, the target first information is directly obtained; when the target first information is not included in the first correspondence information, the information is obtained from the push server, thereby improving the flexibility of the frequency.
[0017] In one possible implementation, before determining the target first information corresponding to the target message category based on the first correspondence information, the method also includes: after establishing a connection with the push server, sending a second request message to the push server to request the first correspondence information; and receiving the first correspondence information sent by the push server.
[0018] The second request message corresponds to all parameter request messages in the specific implementation manner.
[0019] In this implementation, the push server manages the first information of each message category, and when the push channel is first established, the push server uniformly sends the first information corresponding to all message categories to the terminal device. In this way, it is convenient to manage the first correspondence information through the push server.
[0020] In a possible implementation, the method includes: receiving an update message sent by a push server; and updating the first correspondence information in response to the update message.
[0021] The update message corresponds to the parameter update message in the specific implementation manner.
[0022] In this implementation, when the first correspondence information in the push server changes, the first correspondence information in the terminal device is synchronously updated, thereby ensuring the real-time and accuracy of the first correspondence information in the terminal device, thereby ensuring the accuracy of frequency control.
[0023] In one possible implementation, the target first information is the push count threshold, which represents the threshold number of messages of the target message category allowed to be pushed within a preset time period; the target second information is the number of messages already pushed, which represents the number of messages of the target message category pushed within the current period, where the current period refers to the period at the current moment, and the duration of the current period is the preset period; the target condition is that the number of messages already pushed is less than the push count threshold, and according to the target first information and the target second information, based on the target judgment condition, it is determined whether to push the message to be pushed, including: if the push count threshold and the number of messages already pushed meet the target judgment condition, the message to be pushed is pushed; if the push count threshold and the number of messages already pushed do not meet the target judgment condition, the message to be pushed is blocked.
[0024] In this implementation, the message frequency can be controlled simply and quickly through the push number threshold and the number of messages pushed, preventing excessive disturbance to users and improving user experience. In addition, the number of messages pushed by the terminal device is reduced, which can reduce the power consumption of the terminal device.
[0025] In a possible implementation, the end time of the current cycle is the current time, or the start time of the current cycle is a preset time.
[0026] The end time of the current cycle is the current time, that is, the statistical period for the number of pushed messages is a dynamic statistical period. The number of pushed messages refers to the total number of messages of the target message category that have been pushed within the preset time period with the current time as the end time. The start time of the current cycle is the preset time, that is, the statistical period for the number of pushed messages is a non-dynamic statistical period. A non-dynamic statistical period is, for example, from 0:00 to 23:59 every day. Assuming that the preset time is 0:00 on July 24, 2022, the current cycle is from 0:00 on July 24, 2022 to 23:59 on July 24, 2022. The number of pushed messages refers to the total number of messages that have been pushed in the time period from 0:00 on July 24, 2022 to the current time.
[0027] In the second aspect, the present application provides a message push method, which is executed by a push server, and the method includes: receiving a message to be pushed sent by an application server, wherein the message to be pushed carries a target message category to which the message to be pushed belongs; sending the message to be pushed to a terminal device; receiving a first request message sent by the terminal device; and sending a first message corresponding to the target message category to the terminal device in response to the first request message.
[0028] In one possible implementation, the method further includes: receiving a second request message sent by the terminal device; sending first correspondence information to the terminal device in response to the second request message; the first correspondence information includes correspondences between multiple message categories and multiple first information.
[0029] In a possible implementation, the method further includes: sending an update message to the terminal device, where the update message is used to instruct the terminal device to update the first correspondence information.
[0030] In the third aspect, the present application provides a message push method, which is executed by a push server, and the method includes: receiving a message to be pushed sent by an application server, wherein the message to be pushed carries a target message category to which the message to be pushed belongs; obtaining target first information corresponding to the target message category; the target first information is the threshold information in the target judgment condition, and the target judgment condition is used to determine whether to push a message of the target message category; and sending the message to be pushed and the target first information to the terminal device.
[0031] The specific implementation methods and beneficial effects of the message push methods provided in the second and third aspects can be found in the first aspect and will not be repeated here.
[0032] In a fourth aspect, the present application provides an apparatus, included in a terminal device, that implements the terminal device behaviors described in the first aspect and possible implementations of the first aspect. The functionality can be implemented in hardware or by hardware executing corresponding software. The hardware or software includes one or more modules or units corresponding to the functionality described above. For example, a receiving module or unit, a processing module or unit, etc.
[0033] In a fifth aspect, the present application provides a device, which is included in a push server, and has the function of implementing the push server behavior in the second aspect and the possible implementation of the second aspect, or has the function of implementing the terminal device behavior in the third aspect and the possible implementation of the third aspect. The function can be implemented by hardware, or the corresponding software can be executed by hardware. The hardware or software includes one or more modules or units corresponding to the above functions. For example, a receiving module or unit, a processing module or unit, etc.
[0034] In a sixth aspect, the present application provides a terminal device, which includes: a processor, a memory, and an interface; the processor, the memory, and the interface cooperate with each other so that the terminal device executes any one of the methods in the technical solution of the first aspect.
[0035] In the seventh aspect, the present application provides a push server, which includes: a processor, a memory and an interface; the processor, the memory and the interface cooperate with each other so that the push server executes any one of the methods in the technical solutions of the second aspect or the third aspect.
[0036] In an eighth aspect, the present application provides a chip comprising a processor. The processor is configured to read and execute a computer program stored in a memory to perform the method of the first aspect and any possible implementation thereof, or the method of the second aspect and any possible implementation thereof, or the method of the third aspect and any possible implementation thereof.
[0037] Optionally, the chip also includes a memory, and the memory is connected to the processor via circuits or wires.
[0038] Further optionally, the chip also includes a communication interface.
[0039] In the ninth aspect, the present application provides a message push system, including a terminal device and a push server, wherein the terminal device is used to execute any one of the methods in the technical solution of the first aspect; the push server is used to execute any one of the methods in the technical solution of the second aspect, or any one of the methods in the technical solution of the third aspect.
[0040] In the tenth aspect, the present application provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, the processor executes any one of the methods in the technical solutions of the first aspect, the second aspect or the third aspect.
[0041] In the eleventh aspect, the present application provides a computer program product, which includes: a computer program code, which, when the computer program code runs on a terminal device, enables the terminal device to execute any one of the methods in the technical solutions of the first aspect, the second aspect or the third aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0042] Figure 1 This is a structural diagram of a message push system provided in an embodiment of the present application;
[0043] Figure 2 1 is a schematic structural diagram of a terminal device 100 provided in an embodiment of the present application;
[0044] Figure 3 This is a software structure diagram of a terminal device 100 provided in an embodiment of the present application;
[0045] Figure 4 This is a flow chart of a message push method provided in an embodiment of the present application;
[0046] Figure 5 This is a schematic diagram of an application scenario of a message push method provided in an embodiment of the present application;
[0047] Figure 6 This is a schematic diagram of an interface after a message push provided in an embodiment of the present application;
[0048] Figure 7 This is a schematic diagram of a scenario for processing blocked messages provided in an embodiment of the present application;
[0049] Figure 8 This is a flowchart of another message push method provided in an embodiment of the present application;
[0050] Figure 9 This is a schematic diagram of another application scenario of a message push method provided in an embodiment of the present application;
[0051] Figure 10 This is a schematic diagram of a scenario in which a terminal device requests frequency control parameters from a push server, provided in an embodiment of the present application;
[0052] Figure 11 This is a schematic diagram of a process in which a terminal device obtains all frequency control condition parameters, provided in an embodiment of the present application;
[0053] Figure 12This is a schematic diagram of a process in which a push server updates frequency control condition parameters, provided in an embodiment of the present application;
[0054] Figure 13 This is a schematic diagram of an interface for a user to delete a pushed message provided in an embodiment of the present application. DETAILED DESCRIPTION
[0055] The technical solutions in the embodiments of the present application will be described below in conjunction with the accompanying drawings in the embodiments of the present application. In the description of the embodiments of the present application, unless otherwise specified, " / " means or, for example, A / B can mean A or B; "and / or" in this article is merely a description of the association relationship of associated objects, indicating that three relationships can exist, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, in the description of the embodiments of the present application, "multiple" means two or more than two.
[0056] In the following, the terms "first," "second," and "third" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the quantity of the technical features indicated. Therefore, a feature specified as "first," "second," or "third" may explicitly or implicitly include one or more of the features.
[0057] References to "one embodiment" or "some embodiments" in this specification mean that one or more embodiments of the present application include a particular feature, structure, or characteristic described in conjunction with that embodiment. Thus, phrases such as "in one embodiment," "in some embodiments," "in other embodiments," and "in other embodiments" appearing in different places in this specification do not necessarily refer to the same embodiment, but rather mean "one or more but not all embodiments," unless otherwise specifically emphasized. The terms "including," "comprising," "having," and variations thereof all mean "including but not limited to," unless otherwise specifically emphasized.
[0058] To better understand the embodiments of the present application, the terms or concepts that may be involved in the embodiments are explained below.
[0059] An application server, also known as an APP server, is a server that provides services to applications installed on a terminal device. In an embodiment of the present application, the application server can be used to push messages to the terminal device. Pushed messages include, but are not limited to, notification messages and transparent messages.
[0060] A push server, also known as a push server, is a server that receives messages pushed by an application server and pushes the messages to terminal devices.
[0061] The push service module, also known as the push processing module, push module, or push message processing module, is a module within a terminal device that establishes a push channel with a push server and receives and processes push messages through that channel. Because the push service module implements its functionality through a process, it is also called a push process or push process.
[0062] A push channel, also known as a push connection channel, is the information transmission channel between a terminal device and a push server. This channel can be persistent, meaning it remains connected as long as the terminal device and the push server are connected.
[0063] The following describes the message push method provided in the embodiments of the present application.
[0064] Application servers push a large number of messages to terminal devices, which brings convenience to users' lives but also interferes with their normal use of the terminal devices. Therefore, it is necessary to control the frequency of message push. For ease of description, frequency control will be referred to as frequency control below.
[0065] In the related art, there is a message push system and method, which manages push messages uniformly through a push server to control the frequency of push messages. For example, Figure 1 This is a structural diagram of a message push system provided in an embodiment of the present application. Figure 1 As shown, the message push system may include an application server 101, a push server 102, and a terminal device 103. The number of the application server 101 and the terminal device 103 may be one or more.
[0066] The message push method provided by the related technology is that the application server 101 sends the message to be pushed to the push server 102, and the message to be pushed carries the identifier of the target terminal. The push server receives the message to be pushed, and obtains the number of pushed messages and the push number threshold corresponding to the target terminal, and determines the frequency control strategy (hereinafter referred to as the frequency control strategy) based on the number of pushed messages and the push number threshold of the target terminal. The frequency control strategy is used to determine how to handle the push message, for example, shielding the message to be pushed, or displaying the push message, etc. The push server sends the frequency control strategy to the target terminal, and the target terminal processes the message to be pushed according to the frequency control strategy.
[0067] In this message push method, the frequency control-related data of all terminal devices managed by the push server must be stored on the push server, such as the number of messages pushed to all terminal devices and the push message threshold. Moreover, the modification, addition, deletion, and search of this data must be performed on the push server, which requires a large amount of push server resources and causes excessive pressure on the push server. On the other hand, the push server needs to interact with the terminal device to obtain the terminal device's frequency control-related data, so there is a time difference between obtaining data and updating data. The frequency control strategy generated by the push server needs to be sent to the terminal device for execution, so there is also a time difference between the generation and execution of the frequency control strategy. All of these factors will lead to poor real-time performance of frequency control.
[0068] In view of this, an embodiment of the present application provides a message push method, in which the management of frequency control related data and the generation process of frequency control strategies are both implemented in the terminal device, thereby saving the resources of the push server, greatly reducing the pressure on the push server, and improving the real-time performance of frequency control.
[0069] The message push method provided in the embodiment of the present application can be applied to Figure 1 The message push system shown. Optionally, the application server 101 and the push server 102 can be cloud servers. Optionally, the terminal device can be a mobile phone, a tablet computer, a wearable device, a large-screen device (such as a smart screen, a TV or a teaching display device, etc.), a car-mounted device, an augmented reality (AR) / virtual reality (VR) device, a laptop computer, an ultra-mobile personal computer (UMPC), a netbook, a personal digital assistant (PDA), etc., which can install an application (APP). The embodiment of the present application does not impose any restrictions on the specific type of the terminal device.
[0070] The following describes the structure of the terminal device by taking a mobile phone as an example in conjunction with the accompanying drawings. Figure 21 is a schematic diagram of the structure of a terminal device 100 provided in an embodiment of the present application. The terminal device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display 194, and a subscriber identification module (SIM) card interface 195. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.
[0071] It should be understood that the structures illustrated in the embodiments of the present application do not constitute a specific limitation on the terminal device 100. In other embodiments of the present application, the terminal device 100 may include more or fewer components than shown, or may combine or separate certain components, or arrange the components differently. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0072] The processor 110 may include one or more processing units. For example, the processor 110 may include an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU). The different processing units may be independent devices or integrated into one or more processors.
[0073] The controller may be the nerve center and command center of the terminal device 100. The controller may generate an operation control signal according to the instruction operation code and the timing signal to complete the control of fetching and executing instructions.
[0074] Processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in processor 110 is a cache memory. This memory can store instructions or data that have just been used or are being recycled by processor 110. If processor 110 needs to use the same instruction or data again, it can directly retrieve it from the memory. This avoids duplicate accesses, reduces processor 110 latency, and thus improves system efficiency.
[0075] In some embodiments, the processor 110 may include one or more interfaces. The interfaces may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface.
[0076] The I2C interface is a bidirectional synchronous serial bus that includes a serial data line (SDA) and a serial clock line (SCL). In some embodiments, the processor 110 may include multiple I2C bus lines. The processor 110 may be coupled to the touch sensor 180K, the charger, the flash, the camera 193, and the like via different I2C bus interfaces. For example, the processor 110 may be coupled to the touch sensor 180K via the I2C interface, enabling communication between the processor 110 and the touch sensor 180K via the I2C bus interface, thereby implementing the touch function of the terminal device 100.
[0077] The I2S interface can be used for audio communication. In some embodiments, the processor 110 can include multiple I2S buses. The processor 110 can be coupled to the audio module 170 via the I2S bus to enable communication between the processor 110 and the audio module 170. In some embodiments, the audio module 170 can transmit audio signals to the wireless communication module 160 via the I2S interface, enabling the function of answering calls through a Bluetooth headset.
[0078] The PCM interface can also be used for audio communication, sampling, quantizing, and encoding analog signals. In some embodiments, the audio module 170 and the wireless communication module 160 can be coupled via a PCM bus interface. In some embodiments, the audio module 170 can also transmit audio signals to the wireless communication module 160 via the PCM interface, enabling the function of answering calls via a Bluetooth headset. Both the I2S interface and the PCM interface can be used for audio communication.
[0079] The UART interface is a universal serial data bus used for asynchronous communication. This bus can be a bidirectional communication bus. It converts the data to be transmitted between serial communication and parallel communication. In some embodiments, the UART interface is typically used to connect the processor 110 and the wireless communication module 160. For example, the processor 110 communicates with the Bluetooth module in the wireless communication module 160 via the UART interface to implement Bluetooth functionality. In some embodiments, the audio module 170 can transmit audio signals to the wireless communication module 160 via the UART interface, enabling the function of playing music through Bluetooth headphones.
[0080] The MIPI interface can be used to connect the processor 110 to peripheral devices such as the display 194 and the camera 193. MIPI interfaces include the camera serial interface (CSI) and the display serial interface (DSI). In some embodiments, the processor 110 and the camera 193 communicate via the CSI interface to implement the camera function of the terminal device 100. The processor 110 and the display 194 communicate via the DSI interface to implement the display function of the terminal device 100.
[0081] The GPIO interface can be configured via software. The GPIO interface can be configured as either a control signal or a data signal. In some embodiments, the GPIO interface can be used to connect the processor 110 to the camera 193, display 194, wireless communication module 160, audio module 170, sensor module 180, etc. The GPIO interface can also be configured as an I2C interface, an I2S interface, a UART interface, a MIPI interface, etc.
[0082] The USB interface 130 is an interface that complies with USB standards and may be a Mini USB interface, a Micro USB interface, a USB Type-C interface, or the like. The USB interface 130 can be used to connect a charger to charge the terminal device 100 and to transfer data between the terminal device 100 and peripheral devices. It can also be used to connect headphones to play audio. This interface can also be used to connect other electronic devices, such as AR devices.
[0083] It is understood that the interface connection relationship between the modules illustrated in the embodiments of the present application is merely an illustrative illustration and does not constitute a structural limitation on the terminal device 100. In other embodiments of the present application, the terminal device 100 may also adopt a different interface connection method from the above embodiments, or a combination of multiple interface connection methods.
[0084] The charging management module 140 is configured to receive charging input from a charger. The charger can be either a wireless charger or a wired charger. In some wired charging embodiments, the charging management module 140 can receive charging input from the wired charger via the USB interface 130. In some wireless charging embodiments, the charging management module 140 can receive wireless charging input via the wireless charging coil of the terminal device 100. While charging the battery 142, the charging management module 140 can also provide power to the terminal device via the power management module 141.
[0085] The power management module 141 is used to connect 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, and provides power to the processor 110, the internal memory 121, the external memory, the display 194, the camera 193, and the wireless communication module 160. The power management module 141 can also be used to monitor parameters such as battery capacity, battery cycle count, and battery health status (leakage, impedance). In some other embodiments, the power management module 141 can also be set in the processor 110. In other embodiments, the power management module 141 and the charging management module 140 can also be set in the same device.
[0086] The wireless communication function of the terminal device 100 can be implemented through the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor and the baseband processor.
[0087] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Figure 2 The structures of antenna 1 and antenna 2 are merely examples. Each antenna in terminal device 100 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve antenna utilization. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In other embodiments, the antennas can be used in conjunction with tuning switches.
[0088] The mobile communication module 150 can provide solutions for wireless communications including 2G / 3G / 4G / 5G applied to the terminal device 100. The mobile communication module 150 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves from the antenna 1, and filter, amplify, and process the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modulation and demodulation processor, and convert it into electromagnetic waves for radiation through the antenna 1. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the processor 110. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the same device as at least some of the modules of the processor 110.
[0089] The modem processor may include a modulator and a demodulator. The modulator is used to modulate the low-frequency baseband signal to be transmitted into a medium-high frequency signal. The demodulator is used to demodulate the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After being processed by the baseband processor, the low-frequency baseband signal is passed to the application processor. The application processor outputs a sound signal through an audio device (not limited to the speaker 170A, the receiver 170B, etc.) or displays an image or video through the display screen 194. In some embodiments, the modem processor may be an independent device. In other embodiments, the modem processor may be independent of the processor 110 and be set in the same device as the mobile communication module 150 or other functional modules.
[0090] The wireless communication module 160 can provide wireless communication solutions including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR), etc. applied to the terminal device 100. The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, frequency modulates and filters the electromagnetic wave signals, and sends the processed signals to the processor 110. The wireless communication module 160 can also receive the signal to be sent from the processor 110, frequency modulate it, amplify it, and convert it into electromagnetic waves for radiation through the antenna 2.
[0091] In some embodiments, antenna 1 of terminal device 100 is coupled to mobile communication module 150, and antenna 2 is coupled to wireless communication module 160, so that terminal device 100 can communicate with a network and other devices via wireless communication technology. Wireless communication technology may include global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), wideband code division multiple access (WCDMA), time-division code division multiple access (TD-SCDMA), long term evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technology. 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 the satellite based augmentation system (SBAS).
[0092] The terminal device 100 implements display functions through a GPU, display screen 194, and an application processor. The GPU is a microprocessor for image processing that connects the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 may include one or more GPUs that execute program instructions to generate or modify display information.
[0093] Display screen 194 is used to display images, videos, etc. Display screen 194 includes a display panel. The display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), a MiniLED, a MicroLED, a Micro-oLed, or a quantum dot light-emitting diode (QLED). In some embodiments, terminal device 100 may include one or N display screens 194, where N is a positive integer greater than 1.
[0094] The terminal device 100 can realize the shooting function through the ISP, camera 193, video codec, GPU, display screen 194 and application processor.
[0095] The ISP processes data fed back by camera 193. For example, when taking a photo, the shutter is opened, and light is transmitted through the lens to the camera's photosensitive element. The light signal is converted into an electrical signal, which is then passed to the ISP for processing and transformed into a visible image. The ISP can also perform algorithmic optimization on image noise, brightness, and skin tone. It can also optimize parameters such as exposure and color temperature of the captured scene. In some embodiments, the ISP can be located within camera 193.
[0096] The camera 193 is used to capture still images or videos. The object generates an optical image through the lens and projects it onto the photosensitive element. The photosensitive element can be a charge coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the light signal into an electrical signal, and then passes the electrical signal to the ISP for conversion into a digital image signal. The ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into an image signal in a standard RGB, YUV or other format. In some embodiments, the terminal device 100 may include 1 or N cameras 193, where N is a positive integer greater than 1.
[0097] The digital signal processor is used to process digital signals. In addition to processing digital image signals, it can also process other digital signals. For example, when the terminal device 100 selects a frequency point, the digital signal processor is used to perform Fourier transform on the frequency point energy.
[0098] Video codecs are used to compress or decompress digital video. Terminal device 100 may support one or more video codecs. This allows terminal device 100 to play or record videos in various encoding formats, such as Moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, and MPEG4.
[0099] The NPU is a neural network (NN) computing processor. Drawing on the structure of biological neural networks, such as the transmission patterns between neurons in the human brain, it rapidly processes input information and can continuously self-learn. The NPU can enable intelligent cognitive applications in the terminal device 100, such as image recognition, face recognition, speech recognition, and text comprehension.
[0100] The external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the terminal device 100. The external memory card communicates with the processor 110 via the external memory interface 120 to implement data storage functions. For example, files such as music and videos can be stored on the external memory card.
[0101] The internal memory 121 can be used to store computer executable program codes, and the executable program codes include instructions. The processor 110 executes various functional applications and data processing of the terminal device 100 by running the instructions stored in the internal memory 121. The internal memory 121 may include a program storage area and a data storage area. Among them, the program storage area can store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc. The data storage area can store data created during the use of the terminal device 100 (such as audio data, a phone book, etc.), etc. In addition, the internal memory 121 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc.
[0102] The terminal device 100 can implement audio functions such as music playback and recording through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the headphone jack 170D, and the application processor.
[0103] The audio module 170 is used to convert digital audio information into analog audio signal output, and is also used to convert analog audio input into digital audio signals. The audio module 170 can also be used to encode and decode audio signals. In some embodiments, the audio module 170 can be provided in the processor 110, or some functional modules of the audio module 170 can be provided in the processor 110.
[0104] The speaker 170A, also called a "speaker", is used to convert audio electrical signals into sound signals. The terminal device 100 can listen to music or listen to hands-free calls through the speaker 170A.
[0105] The receiver 170B, also called a "handset", is used to convert audio electrical signals into sound signals. When the terminal device 100 receives a call or voice message, the user can hear the voice by placing the receiver 170B close to the ear.
[0106] Microphone 170C, also known as "microphone" or "microphone", is used to convert sound signals into electrical signals. When making a call or sending a voice message, the user can speak by putting their mouth close to the microphone 170C to input the sound signal into the microphone 170C. The terminal device 100 can be provided with at least one microphone 170C. In other embodiments, the terminal device 100 can be provided with two microphones 170C, which can not only collect sound signals but also realize noise reduction function. In other embodiments, the terminal device 100 can also be provided with three, four or more microphones 170C to realize sound signal collection, noise reduction, and can also identify the source of sound, realize directional recording function, etc.
[0107] The headphone jack 170D is used to connect a wired headphone and can be the USB interface 130 or a 3.5mm open mobile terminal platform (OMTP) standard interface or a cellular telecommunications industry association of the USA (CTIA) standard interface.
[0108] Pressure sensor 180A is used to sense pressure signals and convert them into electrical signals. In some embodiments, pressure sensor 180A can be located on display screen 194. There are many types of pressure sensors 180A, such as resistive, inductive, and capacitive. A capacitive pressure sensor can include at least two parallel plates made of conductive material. When force is applied to pressure sensor 180A, the capacitance between the electrodes changes. Terminal device 100 determines the intensity of the pressure based on this change in capacitance. When a touch operation is applied to display screen 194, terminal device 100 detects the touch intensity based on pressure sensor 180A. Terminal device 100 can also calculate the touch location based on the detection signal from pressure sensor 180A. In some embodiments, touch operations applied to the same touch location but with different touch intensities can correspond to different operation instructions. For example, when a touch operation with an intensity less than a first pressure threshold is applied to a short message application icon, an instruction to view short messages is executed. When a touch operation with an intensity greater than or equal to the first pressure threshold is applied to a short message application icon, an instruction to create a new short message is executed.
[0109] The gyroscope sensor 180B can be used to determine the motion posture of the terminal device 100. In some embodiments, the angular velocity of the terminal device 100 around three axes (i.e., x, y, and z axes) can be determined by the gyroscope sensor 180B. The gyroscope sensor 180B can be used for shooting anti-shake. For example, when the shutter is pressed, the gyroscope sensor 180B detects the angle of the terminal device 100 shaking, calculates the distance that the lens module needs to compensate based on the angle, and allows the lens to offset the shaking of the terminal device 100 through reverse movement to achieve anti-shake. The gyroscope sensor 180B can also be used for navigation and somatosensory game scenes.
[0110] The air pressure sensor 180C is used to measure air pressure. In some embodiments, the terminal device 100 calculates the altitude through the air pressure value measured by the air pressure sensor 180C to assist in positioning and navigation.
[0111] The magnetic sensor 180D includes a Hall effect sensor. The terminal device 100 can use the magnetic sensor 180D to detect the opening and closing of the flip case. In some embodiments, when the terminal device 100 is a flip phone, the terminal device 100 can detect the opening and closing of the flip cover based on the magnetic sensor 180D. Furthermore, based on the detected opening and closing status of the case or flip cover, features such as automatic unlocking of the flip cover can be configured.
[0112] Accelerometer 180E can detect the magnitude of acceleration of the terminal device 100 in all directions (generally three axes). When the terminal device 100 is stationary, it can detect the magnitude and direction of gravity. It can also be used to identify the terminal device's posture, enabling applications such as switching between landscape and portrait modes and pedometers.
[0113] The distance sensor 180F is used to measure distance. The terminal device 100 can measure distance using infrared or laser. In some embodiments, when shooting a scene, the terminal device 100 can use the distance sensor 180F to measure distance to achieve fast focusing.
[0114] The proximity light sensor 180G may include, for example, a light emitting diode (LED) and a light detector, such as a photodiode. The light emitting diode may be an infrared light emitting diode. The terminal device 100 emits infrared light outward through the light emitting diode. The terminal device 100 uses a photodiode to detect infrared reflected light from nearby objects. When sufficient reflected light is detected, it can be determined that there is an object near the terminal device 100. When insufficient reflected light is detected, the terminal device 100 can determine that there is no object near the terminal device 100. The terminal device 100 can use the proximity light sensor 180G to detect when the user holds the terminal device 100 close to the ear to talk, so as to automatically turn off the screen to save power. The proximity light sensor 180G can also be used in leather case mode and pocket mode to automatically unlock and lock the screen.
[0115] Ambient light sensor 180L is used to sense ambient light brightness. Terminal device 100 can adaptively adjust the brightness of display screen 194 based on the perceived ambient light. Ambient light sensor 180L can also be used to automatically adjust white balance when taking photos. Ambient light sensor 180L can also work with proximity light sensor 180G to detect whether terminal device 100 is in a pocket to prevent accidental touches.
[0116] The fingerprint sensor 180H is used to collect fingerprints. The terminal device 100 can use the collected fingerprint characteristics to implement fingerprint unlocking, access application locks, fingerprint photography, fingerprint call answering, etc.
[0117] The temperature sensor 180J is used to detect temperature. In some embodiments, the terminal device 100 uses the temperature detected by the temperature sensor 180J to execute a temperature processing strategy. For example, when the temperature reported by the temperature sensor 180J exceeds a threshold, the terminal device 100 reduces the performance of the processor located near the temperature sensor 180J to reduce power consumption and implement thermal protection. In other embodiments, when the temperature is lower than another threshold, the terminal device 100 heats the battery 142 to prevent the terminal device 100 from shutting down abnormally due to low temperature. In other embodiments, when the temperature is lower than another threshold, the terminal device 100 boosts the output voltage of the battery 142 to prevent abnormal shutdown due to low temperature.
[0118] The touch sensor 180K is also called a "touch panel." The touch sensor 180K can be provided on the display screen 194. The touch sensor 180K and the display screen 194 form a touch screen, also called a "touch screen." The touch sensor 180K is used to detect touch operations applied thereto or in the vicinity thereof. The touch sensor can transmit the detected touch operations to the application processor to determine the type of touch event. Visual output related to the touch operations can be provided via the display screen 194. In other embodiments, the touch sensor 180K can also be provided on the surface of the terminal device 100, at a location different from that of the display screen 194.
[0119] The bone conduction sensor 180M can acquire vibration signals. In some embodiments, the bone conduction sensor 180M can acquire vibration signals from the vibrating bones of the human body's vocal cords. The bone conduction sensor 180M can also contact the human pulse to receive blood pressure signals. In some embodiments, the bone conduction sensor 180M can also be set in headphones to form bone conduction headphones. The audio module 170 can parse the vibration signals of the vibrating bones of the vocal cords acquired by the bone conduction sensor 180M to obtain voice signals and implement voice functions. The application processor can parse heart rate information based on the blood pressure signals acquired by the bone conduction sensor 180M to implement heart rate detection functions.
[0120] The buttons 190 include a power button, a volume button, etc. The buttons 190 may be mechanical buttons or touch buttons. The terminal device 100 may receive key inputs and generate key signal inputs related to user settings and function control of the terminal device 100.
[0121] Motor 191 can generate vibration prompts. Motor 191 can be used for incoming call vibration prompts, and can also be used for touch vibration feedback. For example, touch operations acting on different applications (such as taking pictures, audio playback, etc.) can correspond to different vibration feedback effects. For touch operations acting on different areas of the display screen 194, motor 191 can also correspond to different vibration feedback effects. Different application scenarios (for example: time reminders, receiving messages, alarm clocks, games, etc.) can also correspond to different vibration feedback effects. The touch vibration feedback effect can also support customization.
[0122] The indicator 192 may be an indicator light, which may be used to indicate the charging status, power level changes, messages, missed calls, notifications, etc.
[0123] The SIM card interface 195 is used to connect a SIM card. The SIM card can be connected to and disconnected from the terminal device 100 by inserting or removing it from the SIM card interface 195. The terminal device 100 can support one or N SIM card interfaces, where N is a positive integer greater than one. The SIM card interface 195 can support Nano SIM cards, Micro SIM cards, SIM cards, and the like. Multiple cards can be inserted into the same SIM card interface 195 at the same time. The multiple cards can be of the same or different types. The SIM card interface 195 is also compatible with different types of SIM cards. The SIM card interface 195 is also compatible with external memory cards. The terminal device 100 interacts with the network through the SIM card to implement functions such as calls and data communications. In some embodiments, the terminal device 100 uses an eSIM, i.e., an embedded SIM card. The eSIM card can be embedded in the terminal device 100 and cannot be separated from the terminal device 100.
[0124] The software system of the terminal device 100 can adopt a layered architecture, an event-driven architecture, a micro-kernel architecture, a micro-service architecture, or a cloud architecture. In the embodiment of the present application, the Android system with a layered architecture is used as an example to illustrate the software structure of the terminal device 100.
[0125] Figure 3 This is a software structure diagram of the terminal device 100 in an embodiment of the present application. The layered architecture divides the software into several layers, each with clear roles and division of labor. The layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into four layers: the application layer, the application framework layer, the Android runtime and system libraries, and the kernel layer. The application layer can include a series of application packages.
[0126] like Figure 3 As shown, the application package may include applications such as camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, short message, etc.
[0127] The application framework layer provides an application programming interface (API) and programming framework for the applications in the application layer. The application framework layer includes some predefined functions.
[0128] like Figure 3 As shown, the application framework layer may include a window manager, a content provider, a view system, a phone manager, a resource manager, a notification manager, etc. In the embodiment of the present application, the application framework layer also includes a push service module.
[0129] The push service module is used to establish a push channel with the push server, receive or send messages through the push channel, and process the messages. Optionally, the push service module may include a channel management unit, a logic algorithm unit, and a data unit. The channel management unit is used to establish a push channel with the push server and receive or send messages through the push channel. The logic algorithm unit is used to process messages according to a preset logic algorithm, for example, generating a frequency control strategy according to a frequency control algorithm. The data unit is used to manage messages during the message push process and to count and manage message-related data, for example, to count and manage the number of messages that have been pushed.
[0130] The window manager is used to manage window programs. The window manager can obtain the display size, determine whether there is a status bar, lock the screen, take screenshots, etc.
[0131] Content providers are used to store and retrieve data and make it accessible to applications. Data can include videos, images, audio, calls made and received, browsing history and bookmarks, phone books, etc.
[0132] The view system includes visual controls, such as those for displaying text and images. The view system is used to build applications. A display interface can consist of one or more views. For example, a display interface containing a text notification icon might include a view for displaying text and a view for displaying images.
[0133] The phone manager is used to provide communication functions of the terminal device 100, such as management of call status (including answering, hanging up, etc.).
[0134] The resource manager provides various resources for applications, such as localized strings, icons, images, layout files, video files, and so on.
[0135] The Notification Manager allows applications to display notifications in the status bar. These messages can be displayed briefly and then disappear automatically, without requiring user interaction. For example, the Notification Manager can be used to notify users of completed downloads and message reminders. The Notification Manager can also display notifications in the top status bar of the system as icons or scrolling text, such as notifications from background applications, or as dialog windows on the screen. Examples include displaying text messages in the status bar, emitting alert sounds, vibrating the device, or flashing indicator lights.
[0136] The Android runtime includes the core library and the virtual machine. The Android runtime is responsible for scheduling and management of the Android system.
[0137] The core library consists of two parts: one is the function that needs to be called by the Java language, and the other is the Android core library.
[0138] The application layer and application framework layer run in a virtual machine. The virtual machine executes Java files in the application layer and application framework layer as binary files. The virtual machine manages object lifecycles, stack management, thread management, security and exception management, and garbage collection.
[0139] The system library can include multiple functional modules, such as a surface manager, media libraries, a 3D graphics processing library (such as OpenGL ES), and a 2D graphics engine (such as SGL).
[0140] The surface manager is used to manage the display subsystem and provide fusion of 2D and 3D layers for multiple applications.
[0141] The media library supports playback and recording of a variety of common audio and video formats, as well as static image files. The media library can support a variety of audio and video encoding formats, such as: MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, etc.
[0142] The 3D graphics processing library is used to implement 3D graphics drawing, image rendering, compositing, and layer processing.
[0143] A 2D graphics engine is a drawing engine for 2D drawings.
[0144] The kernel layer is the layer between hardware and software. The kernel layer includes at least display driver, camera driver, audio driver, and sensor driver.
[0145] For ease of understanding, the following embodiments of this application will be based on the terminal device having Figure 2 and Figure 3 As an example, combined with the accompanying drawings and application scenarios, Figure 1 The message push system shown implements the message push method provided in the embodiment of the present application. As mentioned above, the message push system may include multiple application servers and multiple terminal devices. For ease of explanation, the following embodiment of the present application uses an application server A pushing a message to a terminal device C as an example for explanation.
[0146] Example 1:
[0147] Figure 4 This is a flow chart of a message push method provided in an embodiment of the present application. Figure 5 This is a schematic diagram of an application scenario of a message push method provided in an embodiment of the present application. Figure 4and Figure 5 As shown, the method includes:
[0148] S101. Application server A sends a message to be pushed to a push server. The message to be pushed carries a message category to which the message to be pushed belongs.
[0149] Optionally, the message to be pushed may be a notification message or a transparent message.
[0150] Optionally, the message to be pushed may carry an identifier of the terminal device C. Optionally, the identifier of the terminal device C may be, for example, an identity document (ID) or a media access control address (MAC) of the terminal device C, which is information representing the unique identity of the terminal device C.
[0151] In an embodiment of the present application, the message to be pushed may also carry a message category. The message category is used to characterize the category to which the message to be pushed belongs in the preset message category. Optionally, there may be multiple ways of dividing the preset message categories (or referred to as division dimensions). In one embodiment, the messages may be divided based on the application type to which the messages belong, and the preset message categories obtained may include, for example, messages of the first application, messages of the second application, messages of the third application... In another embodiment, the messages may be divided based on the business type to which the messages belong, and the preset message categories obtained may include, for example, audio messages, video messages, communication messages, and the like.
[0152] In another embodiment, messages can be divided based on the display effect of the message, and the preset message categories obtained may include, for example, messages with background color, messages with base images, animated messages, large font messages, and foldable messages. Among them, a message with a background color refers to a message with a non-white background color when displayed. A message with a base image refers to a message with a background image when displayed. Animated messages refer to messages with dynamic effects when displayed. Large font messages refer to messages with larger fonts when displayed. Messages with background color, messages with base images, animated messages, and large font messages will all have a strong visual impact on users, and therefore generally require frequency control. A foldable message refers to a message with longer content, but the message content can be folded and unfolded when displayed. Foldable messages have longer content, and if they are pushed too frequently, they may disturb the user, and therefore also require frequency control.
[0153] Of course, as needed, the message to be pushed may also carry other information, and the embodiment of the present application does not impose any limitation on this.
[0154] For ease of understanding, this embodiment is described by taking an example where application server A pushes a and b to be pushed to terminal device C. Figure 5 As shown, application server A sends a to-be-pushed message a and a to-be-pushed message b to the push server. Message a carries message category a to which message a belongs, and message b carries message category b to which message b belongs.
[0155] S102: The push server receives a message to be pushed and determines a frequency control condition parameter (or referred to as first information) corresponding to the message category.
[0156] Frequency control condition parameters, also known as frequency control condition parameters, are parameters within the frequency control conditions (also known as judgment conditions), i.e., parameters within the conditions used to determine whether to control (e.g., block) pushed messages. Frequency control condition parameters corresponding to a message category are parameters within the frequency control conditions corresponding to that message category, i.e., parameters within the conditions used to determine whether to control messages of that message category.
[0157] Optionally, the frequency control condition parameters may include at least one of a message push count threshold, a push time, a push interval threshold, and the like. The push count threshold represents the total number of messages allowed to be pushed within a preset time period. The time period corresponding to the push count threshold may be hours, days, weeks, months, and the like. For example, the push count threshold is 5 messages per day, or the push count threshold is 10 messages per week. The push time refers to the time or time period during which messages are allowed to be pushed. The push interval threshold refers to the minimum time interval between the time when the current message is pushed and the time when the previous message is pushed.
[0158] Optionally, the frequency control condition parameter may be expressed in a numerical value, a mathematical formula, a rule statement, etc. The embodiment of the present application does not impose any limitation on the specific form of the frequency control condition parameter.
[0159] In one specific embodiment, the frequency control condition parameter includes a push number threshold, which is represented by a numerical value. For example, 5 indicates that the push number threshold is 5 messages per day. In another specific embodiment, the frequency control condition parameter includes the push number threshold, which is represented by a mathematical formula and a rule statement, such as: determine whether the current time - 0:00 is greater than 6 hours; if so, then the push number threshold = 1 message per hour; if not, then the push number threshold = 8 messages per hour.
[0160] Optionally, the dimension of the frequency control condition parameter can be consistent with the dimension of the preset message category. For example, when the dimension of the preset message category is the display effect of the message, the dimension of the frequency control condition parameter is also the display effect of the message, such as the frequency control condition parameter is that the push number threshold for push messages with background color is 10 / day, the push number threshold for push messages with base map is 5 / day, etc. For another example, when the dimension of the preset message category is application type, the setting dimension of the frequency control condition parameter is also the application type, such as the frequency control condition parameter is that the push number threshold for push messages of the first application is 5 / day, the push number threshold for push messages of the second application is 8 / day, etc.
[0161] Optionally, the frequency control condition parameters may not distinguish between dimensions, such as the total push count threshold for all categories of messages is 100 messages per day.
[0162] Optionally, the push server may pre-store a plurality of preset correspondences between message categories and a plurality of frequency control condition parameters. After receiving the message to be pushed, the push server may query and obtain the frequency control condition parameters corresponding to the message to be pushed based on the correspondences.
[0163] S103: The push server sends the message to be pushed and the frequency control condition parameters to the terminal device C through the push channel.
[0164] Optionally, the push server may place the frequency control condition parameters in the message body of the message to be pushed, so that the frequency control condition parameters are sent to the terminal device C together with the message to be pushed.
[0165] like Figure 5 As shown, the push server sends pending push message a and pending push message b to terminal device C. Message a carries message category a and frequency control condition parameter a for pending push message a, while message b carries message category b and frequency control condition parameter b for pending push message b. Assume that frequency control condition parameter a is: push number threshold a = 10 messages / day; frequency control condition parameter b is: push number threshold b = 5 messages / day.
[0166] Of course, as needed, the message to be pushed sent by the push server to the terminal device C may also carry other information, such as the processing method for blocked messages, etc., and the embodiment of the present application does not impose any limitation on this.
[0167] S104. Terminal device C receives the message to be pushed and the frequency control condition parameters sent by the push server, and determines the frequency control data (or second information) corresponding to the message category.
[0168] Frequency control data is data used to determine whether the frequency control conditions are met, that is, data used to determine whether to control the pushed messages. The specific data type of the frequency control data can be determined according to the frequency control condition parameters. Optionally, when the frequency control condition parameters include the push time, the frequency control data can include the current time, such as the current time. When the frequency control condition parameters include a push interval threshold, the frequency control data can include the time interval between the current time and the time when the last message was pushed. Optionally, when the frequency control condition parameters include a push number threshold, the frequency control data can include the number of messages pushed.
[0169] The number of pushed messages is used to represent the total number of messages that have been pushed in the current time period. The number of pushed messages corresponding to a message category is used to represent the total number of messages of that message category that have been pushed in the current time period. Among them, the statistical period of the number of pushed messages is consistent with the time period corresponding to the push number threshold in the frequency control condition parameter. For example, if the push number threshold in the frequency control condition parameter is 10 messages / day, the statistical period is 1 day (24 hours), and the number of pushed messages corresponding to a message category represents the total number of messages of that message category that have been pushed within 1 day.
[0170] Among them, the statistical period for the number of pushed messages can be a dynamic statistical period or a non-dynamic statistical period. Specifically, when the statistical period is a dynamic statistical period, the number of pushed messages refers to the total number of messages that have been pushed within the preset time length with the current time as the end time. For example, if the current time is 13:00 on July 24, 2022, and the statistical period is 1 day, the number of pushed messages refers to the total number of messages that have been pushed within the 24 hours with the current time being 13:00 on July 24, 2022 as the end time, that is, the total number of messages that have been pushed within the 24 hours before the current time.
[0171] When the statistical period is non-dynamic, the number of pushed messages refers to the total number of messages pushed during the statistical period to which the current time belongs, according to the non-dynamic statistical period classification rules. Taking a statistical period of one day as an example, a non-dynamic statistical period could be from 00:00 to 23:59 daily, or from 02:00 one day to 01:59 the next day. For example, if the current time is 13:00 on July 24, 2022, and the non-dynamic statistical period is from 00:00 to 23:59 daily, the number of pushed messages refers to the total number of messages pushed from 00:00 to 13:00 on July 24, 2022.
[0172] In this embodiment, the number of pushed messages corresponding to the message category can be counted and updated by the data unit in the push service module of the terminal device C. The specific counting and updating methods are described in detail in the subsequent embodiments.
[0173] Optionally, a correspondence between various message categories and the number of messages pushed can be established in the data unit. Based on this correspondence, the number of messages pushed corresponding to each message category can be queried. Optionally, this correspondence can be expressed in a table, as shown in Table 1. The table includes the correspondence between various message categories and the number of messages pushed. As shown in Table 1, the number of messages pushed corresponding to message category a is 10, and the number of messages pushed corresponding to message category b is 3.
[0174] Table 1
[0175] Message Category Number of messages pushed Message Category a 10 Message category b 3 Message category c 5 Message Category d 2 …… ……
[0176] S105. The terminal device C processes the push message according to the frequency control condition parameters corresponding to the message category and the frequency control data corresponding to the message category.
[0177] Optionally, this step may be performed by a logic algorithm unit in the push service module in terminal device C. Specifically, the logic algorithm unit may compare the frequency control data corresponding to the message category with the frequency control condition parameters to obtain a comparison result, and determine a processing method (i.e., a frequency control strategy) for the push message based on the comparison result and preset processing logic. Processing methods for push messages include, but are not limited to, blocking (i.e., not pushing) the message to be pushed and pushing the message to be pushed.
[0178] For example, the frequency control condition parameter is the push number threshold, and the frequency control data is the number of pushed messages: the logic algorithm unit compares the relationship between the number of pushed messages corresponding to the message category and the push number threshold corresponding to the message category. If the number of pushed messages corresponding to the message category is equal to the push number threshold corresponding to the message category, the message to be pushed is blocked; if the number of pushed messages corresponding to the message category is less than the push number threshold corresponding to the message category, the message to be pushed is pushed normally.
[0179] For another example, the frequency control condition parameter is the push time period, and the frequency control data is the current moment: the logic algorithm unit compares the current moment with the push time period corresponding to the message category. If the current moment is within the push time period corresponding to the message category, the message to be pushed is pushed normally; if the current moment is outside the push time period corresponding to the message category, the message to be pushed is blocked.
[0180] For another example, the frequency control condition parameter is the push interval threshold, and the frequency control data is the time interval between the current moment and the moment when the last message was pushed: the logic algorithm unit compares the push interval threshold corresponding to the message category and the time interval between the current moment and the moment when the last message was pushed. If the time interval between the current moment and the moment when the last message was pushed is greater than or equal to the push interval threshold corresponding to the message category, the message to be pushed is pushed normally; if the time interval between the current moment and the moment when the last message was pushed is less than the push interval threshold corresponding to the message category, the message to be pushed is blocked.
[0181] Continue with Figure 5 The example shown is used as an example for explanation: the push number threshold a = 10 messages / day, the push number threshold b = 5 messages / day, the number of pushed messages a is 10, and the number of pushed messages b is 3. Therefore, the logic algorithm unit determines that the number of pushed messages a is equal to the push number threshold a, and the message a to be pushed is blocked; the logic algorithm unit determines that the number of pushed messages b is less than the push number threshold b, and the message b to be pushed is pushed normally. For example, if both the message a to be pushed and the message b to be pushed are notification messages, Figure 6 This is a schematic diagram of an interface after a message push provided in an embodiment of the present application. Figure 6 As shown, the message a to be pushed is blocked, and the message b to be pushed is pushed normally, so Figure 6 The notification bar shown in FIG only displays the message b to be pushed (shown as message b in the figure), but does not display the message a to be pushed.
[0182] In this embodiment, firstly, the method can control the frequency of message pushes from the application server to the terminal device, preventing excessive interruptions to the user and improving the user experience. Furthermore, the number of messages pushed to the terminal device is reduced, thereby reducing the power consumption of the terminal device. Secondly, the frequency control data required for the frequency control process is acquired and managed by the terminal device, and the frequency control logic algorithm is also integrated into the terminal device. That is, the terminal device performs the frequency control logic operations. Therefore, the push server does not need to manage the frequency control data of each terminal device or perform frequency control logic operations, which significantly saves push server resources, reduces the pressure on the push server, and saves push server costs. Thirdly, both the acquisition and update of frequency control data and the calculation, generation, and execution of frequency control policies are performed within the terminal device, eliminating the need for excessive interaction with other devices and eliminating time lags, thereby improving the real-time performance of frequency control. Fourthly, the frequency control condition parameters are sent from the push server to the terminal device, and the frequency control data is managed by the terminal device. This decouples the frequency control condition parameters from the frequency control data management. The terminal device can directly obtain the frequency control condition parameters from the push server, reducing the complexity of the terminal device software logic operations and improving the reliability and stability of the terminal device software.
[0183] It should be noted that, in some embodiments, the push server may not determine the push condition parameters, but directly determine the frequency control conditions corresponding to the message category, and send the frequency control conditions to the terminal device C. The frequency control condition is a condition used to determine whether to control the pushed message. The frequency control condition includes frequency control condition parameters. Frequency control conditions are, for example: the number of pushed messages is less than the push number threshold, the current moment is in the push time period, the time interval between the current moment and the moment when the last message was pushed is greater than the push interval threshold, etc. The terminal device determines whether the frequency control data meets the frequency control conditions. If so, the push message is blocked; if not, the push message is pushed normally.
[0184] In the message push method provided in the embodiment of the present application, there are multiple methods for processing blocked messages, for example, the following methods may be used:
[0185] 1) Terminal device C reports a failure receipt message of the blocked message to the push server through the push channel, and the push server sends the failure receipt message to application server A.
[0186] The failure receipt message indicates a message push failure. Optionally, the failure receipt message may include the message identifier of the failed message (i.e., the blocked message), such as the message ID. Sending a failure receipt message allows the application server to promptly monitor the message push status, facilitating adjustments to the application server's message push strategy.
[0187] For example, Figure 7 This is a schematic diagram of a scenario for processing blocked messages provided in an embodiment of the present application. Figure 7 As shown, after the terminal device C blocks the message a to be pushed, it sends a failure receipt message a to the push server. The failure receipt message a can carry the message ID a of the message a to be pushed. The push server sends the failure receipt message a to the application server A.
[0188] 2) Terminal device C saves the blocked message and pushes it again when the push conditions are met according to the preset rules.
[0189] Specifically, the logic algorithm unit sends blocked messages to the data unit, which stores the blocked messages. Based on preset rules, the data unit pushes the blocked messages when it determines that re-push conditions are met. Re-push conditions can include, for example, re-pushing after 10 minutes, re-pushing after 10 hours, re-pushing within a preset time period, or re-pushing after meeting corresponding frequency control parameters. Re-pushing blocked messages prevents the application server and push server from sending the same message multiple times, conserving network resources.
[0190] 3) Terminal device C directly deletes the blocked message.
[0191] In some possible implementations, the terminal device C may also directly delete the blocked message to save memory.
[0192] Optionally, the processing method for blocked messages can be pre-set in the data unit or logic algorithm unit in the terminal device, or can be sent to the terminal device by the push server together with the message to be pushed. Specifically, in addition to the message category and frequency control condition parameters, the message to be pushed sent by the push server to the terminal device can also carry processing method information. The processing method information is used to represent the processing method of the terminal device if the message to be pushed is blocked. For example, in addition to the message category a and frequency control condition parameter a, the message to be pushed sent by the push server to the terminal device C can also carry processing method information a. The processing method information a is, for example: push again after 10 minutes.
[0193] Example 2:
[0194] Figure 8 This is a flowchart of another message push method provided in an embodiment of the present application. Figure 9 This is a schematic diagram of another application scenario of the message push method provided in the embodiment of the present application. Figure 8 and Figure 9 As shown, the method includes:
[0195] S201. Application server A sends a message to be pushed to a push server. The message to be pushed carries a message category to which the message to be pushed belongs.
[0196] S202: The push server receives the message to be pushed and sends the message to be pushed to the terminal device C through the push channel.
[0197] S203: Terminal device C receives the message to be pushed sent by the push server, and determines the frequency control condition parameters and frequency control data corresponding to the message category.
[0198] S204. Terminal device C processes the push message according to the frequency control condition parameters corresponding to the message category and the frequency control data corresponding to the message category.
[0199] In this embodiment, step S201 is the same as step S101 in embodiment 1, and step S204 is the same as step S105 in embodiment 1, and will not be repeated here. Unlike embodiment 1, in step S202, the push server only forwards the message to be pushed to terminal device C, and the frequency control condition parameters are determined by terminal device C in step S203.
[0200] In one embodiment, the data unit in the push service module of terminal device C may store correspondences between multiple message categories, multiple frequency control condition parameters, and multiple frequency control data. Information related to the correspondences between multiple message categories and multiple frequency control condition parameters is also referred to as first correspondence information. Optionally, the correspondence may be presented in a tabular form. For example, where the frequency control condition parameter includes a push count threshold and the frequency control data includes the number of pushed messages, the correspondence can be seen in Table 2.
[0201] Table 2
[0202] Message Category Push count threshold Number of messages pushed Message Category a 10 pieces / day 10 Message category b 5 pieces / day 3 Message category c 5 pieces / day 5 Message Category d null 2 …… …… ……
[0203] It should be noted that Table 2 is for example purposes only and does not represent actual data. In practical applications, in addition to the content shown, Table 2 may also include other data items, such as the processing method for blocked messages, etc., which is not limited in the present embodiment.
[0204] After receiving a to-be-pushed message from the push server, the logic algorithm unit in the push service module of terminal device C searches Table 2 of the data unit for the message type carried in the to-be-pushed message and the corresponding push count threshold and number of messages already pushed. The logic algorithm unit compares the push count threshold with the number of messages already pushed and, based on the comparison result, generates a frequency control strategy for the to-be-pushed message.
[0205] In some embodiments, there is no frequency control condition parameter corresponding to the message category in the corresponding relationship, or the frequency control condition parameter is null, for example, the push number threshold corresponding to message category d in Table 2 is null. Figure 10 In this case, terminal device C can send a parameter request message d to the push server. Parameter request message d may include message category d, to which the message to be pushed belongs. Parameter request message d is used to request the push server to send frequency control condition parameters for the message category to which the message to be pushed belongs. In response to parameter request message d, the push server sends frequency control condition parameters d corresponding to the message category to terminal device C. Frequency control condition parameters d may include message category d. Terminal device C updates the frequency control condition parameters corresponding to message category d in Table 2 based on frequency control condition parameters d.
[0206] In this embodiment, firstly, the method can control the frequency at which an application server pushes messages to a terminal device, preventing excessive interruptions to users and improving the user experience. Furthermore, the number of messages pushed to the terminal device is reduced, thereby reducing the power consumption of the terminal device. Secondly, the frequency control data required for the frequency control process is acquired and managed by the terminal device, and the frequency control logic algorithm is also integrated into the terminal device. That is, the terminal device performs the frequency control logic operations. Therefore, the push server does not need to manage the frequency control data of each terminal device or perform frequency control logic operations, significantly saving push server resources, reducing the pressure on the push server, and saving push server costs. Thirdly, both the acquisition and update of frequency control data and the calculation, generation, and execution of frequency control policies are performed within the terminal device, eliminating the need for excessive interaction with other devices and eliminating time lags. This improves the real-time performance of frequency control. Fourthly, the frequency control condition parameters are directly determined by the terminal device, further reducing the time lag between acquiring the frequency control condition parameters and generating the frequency control policy, improving the real-time performance of frequency control. Furthermore, the push server does not need to carry the frequency control condition parameters in the push messages sent to the terminal device, significantly reducing redundant network resources.
[0207] The following describes a method for obtaining the frequency control condition parameters in the correspondence between the message category, the frequency control condition parameters, and the frequency control data in the terminal device C.
[0208] In one possible implementation, various message categories and corresponding frequency control condition parameters can be pre-set in terminal device C. In other words, various message categories and corresponding frequency control condition parameters are pre-programmed into terminal device C at the factory, pre-establishing a correspondence between message categories, frequency control condition parameters, and frequency control data. In this implementation, frequency control condition parameters do not need to be managed by the push server, further conserving push server resources and reducing pressure on the push server.
[0209] In another possible implementation, the push server can manage the frequency control condition parameters corresponding to various message categories. Terminal device C obtains the frequency control condition parameters from the push server and updates them to the correspondence between message categories, frequency control condition parameters and frequency control data.
[0210] For example, Figure 11 This is a schematic diagram of a process in which a terminal device obtains all frequency control condition parameters provided in an embodiment of the present application. Figure 11As shown, when terminal device C first establishes a push channel with a push server, terminal device C sends an all-parameters request message (also called a second parameter request message) to the push server. The all-parameters request message is used to request the push server to send frequency control condition parameters corresponding to all preset message categories. In response to the all-parameters request message, the push server sends the frequency control condition parameters corresponding to all preset message categories to terminal device C.
[0211] For example, Figure 12 This is a schematic diagram of a process in which a push server updates frequency control condition parameters according to an embodiment of the present application. Figure 12 As shown, when the frequency control condition parameters corresponding to the message category related to terminal device C in the push server change, the push server sends a parameter update message (also called an update message) to terminal device C. The parameter update message can carry the new frequency control condition parameters and the message category corresponding to the frequency control condition parameters. Terminal device C receives the parameter update message and updates the frequency control condition parameters corresponding to the message category.
[0212] In this implementation, the push server manages the frequency control parameters. When the push channel is first established, all frequency control parameters are uniformly distributed to the terminal device. Whenever a frequency control parameter changes, the frequency control parameters in the terminal device are synchronously updated. This facilitates the management of frequency control parameters through the push server and ensures the real-time and accuracy of the frequency control parameters in the terminal device, thereby ensuring the accuracy of frequency control.
[0213] The following describes the process of counting and updating the number of pushed items. This process can be executed by the data unit in the push service module of the terminal device and will not be described in detail below.
[0214] Optionally, the statistics of the number of pushed messages can be collected in real-time or by counting. Real-time statistics means that after each successful message push, the category and push time of the pushed message are recorded. When the terminal device receives a message to be pushed and needs to generate a frequency control strategy, the number of pushed messages of the message category to which the pushed messages belong in the current week is counted based on the recorded category and push time of the pushed messages. In a specific embodiment, real-time statistics can be used when the statistical period is a dynamic time period to improve statistical convenience and reduce algorithm complexity.
[0215] The counting method refers to pre-setting the count value of the number of pushed items corresponding to various message types, and after successfully pushing the message, adding 1 to the count value of the number of pushed items corresponding to the message category to which the message belongs. In a specific embodiment, the counting method can be adopted when the statistical period is a non-dynamic period to improve the statistical convenience and reduce the complexity of the algorithm. It can be understood that when the statistical period is a non-dynamic period and the counting method is adopted to count the number of pushed items, the count value of the number of pushed items can be cleared at the end of each statistical period. For example, the non-dynamic statistical period corresponding to a certain message type is from 0:00 to 23:59 every day. At 23:59 every day, the terminal device sets the count value of the number of pushed items corresponding to the message type to 0, so that it can be re-counted in the next statistical period.
[0216] Optionally, in addition to counting the number of pushed messages based on the preset message category, statistics can also be counted based on other dimensions. For example, if the preset message type is divided based on the message display effect, the terminal device can count the number of pushed messages based on the message display effect, as well as the application type to which the message belongs, the business type to which the message belongs, etc., as shown in Table 3.
[0217] Table 3
[0218] Message Category The count of the number of pushed items Message with background color 10 Message with basemap 3 Animated Message 1 Large font messages 0 Collapsible messages 1 …… …… First application news 5 Second application message 3 Third-party application messages 7 …… …… Audio Message 6 Video Message 6 Communication Message 3 …… ……
[0219] It should be noted that Table 3 is for example only and does not represent actual data. In addition, in actual applications, Table 3 may include more or less content than that shown, and the present embodiment does not impose any limitation on this.
[0220] In this implementation, by counting the number of pushed items at multiple granularities, the corresponding frequency control data can be obtained when the dimension of the frequency control condition parameter is changed, thereby making the frequency control process more flexible and detailed and improving the frequency control effect.
[0221] There are multiple ways to update the count of pushed messages. In one embodiment, the count of pushed messages corresponding to various message categories can only increase but not decrease, that is, each time a message of a certain category is successfully pushed, the corresponding count of pushed messages increases by 1.
[0222] In another embodiment, the count value of the number of pushed messages corresponding to various message categories can also be reduced according to a preset rule. In one possible implementation, the count value of the number of pushed messages can be reduced by 1 each time the user deletes a pushed message. For example, Figure 13 This is a schematic diagram of an interface for a user to delete a pushed message provided in an embodiment of the present application. Figure 13As shown in Figure (a), the current notification bar displays message 1 and message 2. Assume that the category of message 1 is message category 1, the category of message 2 is message category 2, and the count values of the number of pushed items corresponding to message category 1 and message category 2 are 10 and 3 respectively. Figure 13 As shown in the table in Figure (a) of the figure. When the user slides right on message 1 and deletes message 1, only message 2 is displayed in the notification bar, as shown in Figure 13 As shown in Figure (b) in the figure. After the user deletes message 1, the count value of the number of pushed messages corresponding to message category 1 decreases by 1 and becomes 9, while the count value of the number of pushed messages corresponding to message category 2 remains unchanged and is still 3. Figure 13 As shown in the table in (b) of Figure 1. This implementation method can be applied to scenarios where the frequency control strategy is related to the number of displayed items. For example, when determining whether to push information to be pushed, not only the relationship between the push number threshold and the number of pushed items is considered, but also the number of messages displayed in the current notification bar is considered. In this case, the count value of the number of pushed items can be reduced by the method in this implementation method.
[0223] In another possible implementation, the count of the number of pushed items may also be reduced according to a preset rule. For example, when the time period is 1 day, the count of the number of pushed items may be reduced by 1 every 3 hours. When the time period is 1 week, the count of the number of pushed items may be reduced by 1 every day.
[0224] In another possible implementation, upon receiving a data modification instruction from the push server, the count of the number of pushed items may be increased, decreased, or reset to 0 according to the data modification instruction. In this way, although the number of pushed items is counted by the terminal device, it is managed by the push server, which can improve the flexibility of frequency control.
[0225] The above describes in detail an example of the message push method provided by the embodiment of the present application. It is understandable that, in order to implement the above functions, the terminal device includes hardware and / or software modules corresponding to the execution of each function. Those skilled in the art should easily appreciate that, in combination with the units and algorithm steps of each example described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in a hardware or computer software driven hardware manner 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 in combination with the embodiments, but such implementation should not be considered to be beyond the scope of the present application.
[0226] The embodiment of the present application can divide the functional modules of the terminal device according to the above method example. For example, each function can be divided into various functional modules, such as a detection unit, a processing unit, a display unit, etc., or two or more functions can be integrated into one module. The above-mentioned integrated modules can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the embodiment of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation.
[0227] It should be noted that all relevant contents of each step involved in the above method embodiment can be referred to the functional description of the corresponding functional module and will not be repeated here.
[0228] The terminal device provided in this embodiment is used to execute the steps executed by the terminal device in the above-mentioned message push method, and thus can achieve the same effect as the above-mentioned implementation method.
[0229] When integrated, the terminal device may also include a processing module, a storage module, and a communication module. The processing module may be used to control and manage the terminal device's operations. The storage module may be used to support the terminal device's execution and storage of program code and data. The communication module may be used to support communication between the terminal device and other devices.
[0230] The processing module may be a processor or a controller. It may implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. The processor may also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of digital signal processing (DSP) and a microprocessor, and so on. The storage module may be a memory. The communication module may specifically be a device that interacts with other electronic devices, such as a radio frequency circuit, a Bluetooth chip, or a Wi-Fi chip.
[0231] In one embodiment, when the processing module is a processor and the storage module is a memory, the terminal device involved in this embodiment may be a Figure 2 Device with the structure shown.
[0232] An embodiment of the present application also provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, the processor executes the steps executed by the terminal device or the steps executed by the push server in the message push method of any of the above embodiments.
[0233] An embodiment of the present application also provides a computer program product. When the computer program product is run on a computer, it enables the computer to execute the above-mentioned related steps to implement the steps executed by the terminal device or the steps executed by the push server in the message push method in the above-mentioned embodiment.
[0234] In addition, an embodiment of the present application also provides a device, which can specifically be a chip, component or module, and the device may include a connected processor and memory; wherein the memory is used to store computer execution instructions, and when the device is running, the processor can execute the computer execution instructions stored in the memory to enable the chip to execute the steps performed by the terminal device of the message push method in the above-mentioned method embodiments.
[0235] An embodiment of the present application also provides a push server for implementing the steps performed by the push server in the message push method of the above embodiment.
[0236] The embodiment of the present application also provides a message push system, which can be used as follows Figure 1 As shown, it includes terminal devices, push servers and application servers.
[0237] The terminal device, push server, message push system, computer-readable storage medium, computer program product or chip provided in this embodiment are all used to execute the corresponding methods provided above. Therefore, the beneficial effects that can be achieved can refer to the beneficial effects in the corresponding methods provided above and will not be repeated here.
[0238] Through the description of the above implementation methods, technical personnel in the relevant field can understand that for the convenience and simplicity of description, only the division of the above-mentioned functional modules is used as an example. In actual applications, the above-mentioned functions can be distributed and completed by different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.
[0239] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of modules or units is only a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another device, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0240] Units described as separate components may or may not be physically separate, and components shown as units may be one physical unit or multiple physical units, that is, they may be located in one place or distributed in multiple places. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.
[0241] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.
[0242] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solution of the embodiment of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for enabling a device (which can be a single-chip microcomputer, chip, etc.) or a processor (processor) to execute all or part of the steps of the various embodiments of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0243] The above content is merely a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this application should be included in the scope of protection of the present application. Therefore, the scope of protection of the present application should be based on the scope of protection of the claims.
Claims
1. A message push method, the method being applied to a message push system, the message push system comprising an application server, a push server and a terminal device, characterized in that: The method comprises: The push server receives a message to be pushed sent by an application server; the message to be pushed carries a target message category to which the message to be pushed belongs among multiple preset message categories; the multiple preset message categories include messages with background colors, animated messages, messages with background images, messages with large fonts, and foldable messages; The push server obtains the target first information corresponding to the target message category; the target first information is the threshold information in the target judgment condition, and the target judgment condition is used to determine whether to push the message of the target message category; The push server sends the message to be pushed to the terminal device; The terminal device obtains the target first information from the server; The terminal device determines the target second information corresponding to the target message category; the target second information is the historical push data information of the messages of the target message category; The terminal device determines whether to push the message to be pushed based on the target first information and the target second information and the target judgment condition; The terminal device obtains the target first information corresponding to the target message category from the server, including: The push server sends the target first information to the terminal device; or, After establishing a connection with the push server, the terminal device sends a second request message to the push server; the push server sends first correspondence information to the terminal device in response to the second request message; the first correspondence information includes the correspondence between the multiple preset message categories and the multiple first information; the terminal device determines the target first information corresponding to the target message category based on the first correspondence information.
2. The method according to claim 1, characterized in that The terminal device determines, according to the first correspondence information, the target first information corresponding to the target message category, including: If the target message category is included in the multiple preset message categories, and the first information corresponding to the target message category is not a null value, the terminal device determines the first information corresponding to the target message category as the target first information; If the target message category is not included in the multiple preset message categories, or the first information corresponding to the target message category in the first correspondence information is an empty value, the terminal device sends a first request message to the push server, and the push server sends the first information corresponding to the target message category to the terminal device in response to the first request message; the terminal device determines the first information corresponding to the target message category as the target first information.
3. The method according to claim 1 or 2, characterized in that The method further comprises: The push server sends an update message to the terminal device, where the update message is used to instruct the terminal device to update the first correspondence information; The terminal device updates the first correspondence information in response to the update message.
4. The method according to any one of claims 1 to 3, characterized in that The first target information is a push count threshold, which represents the threshold number of messages of the target message category that are allowed to be pushed within a preset duration; the second target information is the number of pushed messages, which represents the number of messages of the target message category that have been pushed within a current period, where the current period refers to the period at the current moment, and the duration of the current period is the preset duration; the target judgment condition is that the number of pushed messages is less than the push count threshold, and the terminal device determines whether to push the message to be pushed based on the target first information and the target second information and the target judgment condition, including: If the push number threshold and the number of pushed messages meet the target judgment condition, the terminal device pushes the message to be pushed; If the push number threshold and the number of pushed messages do not meet the target judgment condition, the terminal device blocks the message to be pushed.
5. The method according to claim 4, characterized in that The end time of the current cycle is the current time, or the start time of the current cycle is a preset time.
6. A message push system, characterized in that: The message push system comprises an application server, a terminal device and a push server, and is used to execute the method according to any one of claims 1 to 5.
7. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the processor is caused to perform the method according to any one of claims 1 to 5.
Citation Information
Patent Citations
Push message management method and mobile terminal
CN108234744A