Message pushing method, terminal and server
By introducing a dynamic push request mechanism on the terminal side, and dynamically adjusting the push content according to the current status of the terminal, the user experience problem caused by the fixed push content in the existing technology is solved, and a more efficient user experience improvement is achieved.
Patent Information
- Application Number
- CN202410188107.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-10-19
- Publication Date
- 2025-04-29
AI Technical Summary
In the prior art, the content of the push message received by the terminal is fixed and cannot be dynamically adjusted according to the current status of the terminal, resulting in the content of the notification column that does not match the status of the terminal, affecting the user experience.
By introducing a dynamic push request mechanism in the message push system, the terminal-side message push agent receives push message requests sent by the server and dynamically adjusts the push content based on the current status of the terminal, including title, message content, background picture, etc.
It realizes dynamic adjustment of push content based on the current status of the terminal, so that the content of the notification column matches the status of the terminal, and improves the user experience.
Smart Images

Figure CN119906753A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of terminal technology, and in particular, relates to a message push method, a terminal and a server. Background Art
[0002] As terminals become more intelligent, most terminal manufacturers provide message push systems. The message push system opens up the ability to push messages to the outside world, allowing the business server to send push messages to the terminal for display, so as to provide users with different reminders.
[0003] Currently, fixed push content is pre-set on the business server, for example, a fixed title, fixed message content, fixed background image, etc. Then, the business server sends the fixed push content to the terminal for display.
[0004] It can be seen that after receiving the push message, the terminal can only display the pre-set fixed push content in the notification bar. In this way, the content displayed in the notification bar may not match the current state of the terminal, affecting the user experience. For example, the background image in the fixed push content sent by the business server is the background image of the normal mode, while the terminal uses the dark mode. In this way, the terminal in the dark mode displays the background image of the normal mode, which may cause the notification bar to be too bright and affect the user experience. Summary of the invention
[0005] The present application provides a message push method, a terminal and a server, which can determine the push content adapted to each terminal based on the current actual situation of each terminal, thereby improving the user experience.
[0006] In the first aspect, the present application provides a message push method, which is applied to a terminal, and the terminal includes a message push agent and a message center. The method includes: the message push agent receives a push message request sent by a server; when the push message request is a dynamic push request, the push message request includes at least one push condition, at least one tag, and the push content corresponding to each tag under each push condition; when the message push agent determines that the push message request is a dynamic push request, the push message request is parsed to determine the at least one push condition; based on the push condition, the message push agent obtains terminal data corresponding to each push condition from the terminal respectively; based on the terminal data and the at least one push condition, the message push agent determines the target push content corresponding to each tag; the message push agent generates a target push message according to the target push content corresponding to each tag, and sends the target push message to the message center.
[0007] In this way, on the one hand, since the push message sent by the server to the terminal includes dynamically adjustable content. In this way, after each terminal receives the push information, it can make a logical judgment based on the received push message request, and can determine the push content adapted to each terminal based on the current actual situation of each terminal, thereby improving the user experience. On the other hand, the message push agent on the terminal side performs logical judgment and can obtain the latest data of the terminal, so that the display content adapted to each terminal can be determined based on the latest data. On the other hand, the message push agent performs logical judgment, and the reminder content processing can be performed without relying on the startup of the business APP in the terminal. In addition, since the processing logic and content data are sent from the server to the terminal, there is no need for the business APP in the terminal to adapt and modify the content data.
[0008] In one implementable manner, the message push agent obtains terminal data corresponding to each push condition from the terminal based on the push conditions, including: the message push agent determines the variable parameters corresponding to each push condition; the message push agent obtains terminal data corresponding to each variable parameter from the terminal.
[0009] In this way, the terminal data corresponding to each variable parameter can be obtained by identifying the variable parameters in the push message request. For example, the variable parameter in {% if $System.realtimeLocation.city = "Shenzhen" %} is $System.realtimeLocation.city, which is the real-time location of the terminal.
[0010] In one implementable manner, the terminal data includes at least one of the system setting data of the terminal, the status data of the terminal, and the application data in the terminal; the system setting data includes at least one of the display mode and the silent mode; the status data includes at least one of the current location, the current power, the network connection status, and the current time; the application data includes at least one of the application version and the data that can be queried within the application.
[0011] In this way, the solution provided by this application can be applied to various application scenarios where push messages involve the above-mentioned terminal data, thereby improving user experience.
[0012] In one implementable manner, the push message request also includes a message type identifier, and the method also includes: when the message type identifier is a first identifier, the message push agent determines that the push message request is a dynamic push request; when the message type identifier is a second identifier, the message push agent determines that the push message request is a static push request.
[0013] In one implementable manner, when the message push agent determines that the push message request is a dynamic push request, the push message request is parsed to determine at least one push condition, including: when the message push agent determines that the push message request is a dynamic push request, the variable parameters corresponding to each of the tags are extracted; and the message push agent parses the push conditions corresponding to the variable parameters.
[0014] In one implementable manner, the push message request also includes a message type identifier corresponding to each of the tags, and when the message push agent determines that the push message request is a dynamic push request, the push message request is parsed to determine at least one push condition, including: when the message type identifier of the first tag is the first identifier, the message push agent extracts the variable parameters corresponding to the first tag; the message push agent parses the push conditions corresponding to the variable parameters of the first tag.
[0015] In an implementable manner, the method further includes: when the message type identifier of the second tag is the second identifier, the message push agent uses the push information corresponding to the second tag as the push content corresponding to the second tag.
[0016] In one achievable manner, the tag includes at least one of a title, content, a background image, and an interface jump mode.
[0017] In the second aspect, the present application provides a message push method, which is applied to a server, and the method includes: receiving push message setting information sent by a business management platform; the push message setting information includes at least one tag, the push content corresponding to each tag, and the target push terminal information; determining the message type of the push message setting information; based on the message type of the push message setting information, generating a push message request including a message type identifier; the message type identifier is used to indicate the message type of the push message request; based on the target push terminal information, sending the push message request to each target push terminal respectively.
[0018] In this way, the push message request sent by the server to the terminal includes dynamically adjustable content and message type. In this way, after receiving the push message request, the terminal can perform corresponding logical judgment based on the message type.
[0019] In one implementable manner, the push message setting information also includes at least one push condition, and the push content includes the push content corresponding to each push condition; the determination of the message type of the push message setting information includes: when the push message setting information includes at least one push condition, determining that the message type of the push message setting information is a dynamic message; when the push message setting information does not include the push condition, determining that the message type of the push message setting information is a static message.
[0020] In this way, the message type corresponding to the push message setting information can be determined based on whether the push message setting information includes the push condition.
[0021] In one implementable manner, the message type based on the push message setting information generates a push message request including a message type identifier, including: when the message type of the push message setting information is a dynamic message, generating a push message request including a first identifier; or generating a push message request including a first identifier and a second identifier; wherein the first identifier is used to indicate a tag including a push condition, and the second identifier is used to indicate a tag not including a push condition.
[0022] In this way, by configuring different identifiers for different push message request types, the terminal can further determine the push message request type based on the first identifier or the second identifier.
[0023] In one implementable manner, based on the message type of the push message setting information, a push message request including a message type identifier is generated, including: when the message type of the push message setting information is a dynamic message, based on a predefined syntax, the push content corresponding to each tag is constructed as a logic block including variable parameters; the logic block is used to characterize the push condition and the push content corresponding to the push condition; when the message type of the push message setting information is a static message, the push content corresponding to each tag is determined as a fixed text corresponding to each tag; wherein the push message request includes the at least one tag, and the logic block or fixed text corresponding to each tag.
[0024] In one implementable manner, the variable parameters include system setting data of the target push terminal, status data of the target push terminal, and at least one item of application data in the target push terminal; the system setting data includes at least one item of display mode and silent mode; the status data includes at least one item of current location, current power, network connection status, and current time; and the application data includes at least one item of application version and data that can be queried within the application.
[0025] In one achievable manner, the tag includes at least one of a title, content, a background image, and an interface jump mode.
[0026] In an implementable manner, the target push terminal information includes a unique identifier of the target push terminal.
[0027] In a third aspect, the present application provides a terminal, comprising a memory and a processor; the memory and the processor are coupled; the memory is used to store computer program code, the computer program code comprises computer instructions, and when the processor executes the computer instructions, the terminal executes a method as described in any one of the first aspects.
[0028] In a fourth aspect, the present application provides a server, comprising a memory and a processor; the memory and the processor are coupled; the memory is used to store computer program code, the computer program code comprises computer instructions, and when the processor executes the computer instructions, the server executes the method as described in any one of the second aspects.
[0029] In a fifth aspect, the present application provides a computer-readable storage medium, characterized in that a computer program or instructions are stored in the computer-readable storage medium, and when the computer program or instructions are executed, the method as described in any one of the first aspect or the second aspect is executed. BRIEF DESCRIPTION OF THE DRAWINGS
[0030] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0031] Figure 1 A schematic diagram of a message push scenario provided in an embodiment of the present application;
[0032] Figure 2 An example diagram of an interface of a terminal provided in an embodiment of the present application;
[0033] Figure 3 A schematic diagram of a workflow of a message push method provided in an embodiment of the present application;
[0034] Figure 4 An example diagram of an operation interface of a business management platform provided in an embodiment of the present application;
[0035] Figure 5A This is a diagram showing an example of an operation interface of another business management platform provided in an embodiment of the present application;
[0036] Figure 5B An example diagram of an operation interface of another business management platform provided in an embodiment of the present application;
[0037] Fig. 6A A schematic diagram of a workflow of a method for generating a target push message provided in an embodiment of the present application;
[0038] Figure 6B A schematic diagram of a workflow of another method for generating a target push message provided in an embodiment of the present application;
[0039] Figure 7 A schematic diagram of another message push scenario provided in an embodiment of the present application;
[0040] Figure 8 A schematic diagram of a workflow of a message push method provided in an embodiment of the present application;
[0041] Fig. 9 A schematic diagram of a workflow of another message push method provided in an embodiment of the present application;
[0042] Fig.10 A schematic diagram of the hardware structure of a terminal provided in an embodiment of the present application;
[0043] Fig.11 A software architecture diagram of a terminal provided in an embodiment of the present application. DETAILED DESCRIPTION
[0044] The solution provided by the embodiments of the present application is introduced below.
[0045] As terminals become more intelligent, most terminal manufacturers provide message push systems. The message push system opens up the ability to push messages to the outside world, so that the business service end corresponding to each application can send push messages to the terminal for display, so as to provide different reminder contents to terminal users.
[0046] For example, Figure 1 As shown, the message push system includes a service management platform 101 , a service server 201 , a terminal 301 , a terminal 302 and a terminal 303 .
[0047] The service management platform 101 corresponds to the service server 201. For example, the service management platform of the weather application corresponds to the service server of the weather application, and the service management platform of the video application corresponds to the service server of the video application. The terminal 301, the terminal 302 and the terminal 303 may be installed with the weather application and the video application.
[0048] In this way, the marketing personnel can set the push message through the business management platform 101, and send the set push message to the corresponding business server 201. Finally, the business server 201 sends the push message to each terminal for display. For example, the business management platform 101 sends a push message A to the business server 201, and the business server 201 sends the push message A to the terminal 301, the terminal 302 and the terminal 303 respectively.
[0049] The push message can be displayed in the form of a message notification bar on the terminal. Among them, the push message displayed in the message notification bar usually includes content such as a title, message content and background image.
[0050] For example, Figure 2 As shown, the title of the message notification bar is "Typhoon Red Warning Notification", and the message content is "It is expected that there will be typhoon weather in Shenzhen area at 16:00 today, and the wind speed may reach Level 12. Please be prepared for prevention!", and the background picture is the background picture of normal mode (or light color mode).
[0051] In the related art, the content displayed in the above message notification bar is fixed push content pre-set by the business server. Figure 1 and Figure 2 As shown, the marketing personnel can design a push message A through the business management platform 101 with the title "Typhoon Red Warning Notice" and the content of the message "It is expected that there will be typhoon weather in Shenzhen at 16:00 today, and the wind force may reach level 12. Please be prepared for prevention!", and the background picture is as follows Figure 2 The background image shown.
[0052] Next, after receiving the push message A sent by the business management platform 101, the business service end 201 sends the push message A to the terminal 301, the terminal 302 and the terminal 303 respectively. The terminal 301, the terminal 302 and the terminal 303 respectively display the received push message A in the message notification bar. Figure 1 As shown, the push messages displayed by terminal 301 , terminal 302 and terminal 303 are the same, and are all fixed push contents sent by the business server 210 .
[0053] Thus, in the related art, all terminals that receive the push message sent by the business server 210 display the same content, and cannot provide different personalized services for different terminal users.
[0054] Take the push message A sent by the business server 201 as an example, in which the background image is a background image in a normal mode. Figure 1As shown, if the display mode of terminal 301 is dark mode, the display modes of terminals 302 and 303 are normal mode. In this way, the background image in the above push message A is compatible with the display modes of terminals 302 and 303, but not with the display mode of terminal 301. From the user's perspective, the message notification bar displayed by terminal 301 may be too bright, affecting the user's visual experience.
[0055] For another example, if the terminals 301 and 302 are located in Shenzhen, and the terminal 303 is located in Beijing, the message content in the push message A is compatible with the locations of the terminals 301 and 302, but the message content in the push message A is not compatible with the location of the terminal 303. From the user's perspective, the message content is an invalid reminder for the user of the terminal 303, which will cause user disgust and affect the user experience.
[0056] It should be noted that the above embodiment is only illustrative of a message push system in which each service server has message push capability (for example, the message push service is used as a service module in each service server), and does not represent a limitation on the message push system.
[0057] In some embodiments, the message push system may also include one or more independent message push servers, so that multiple business servers 201 can be connected to one message push server, and the message push server sends push messages corresponding to each business to the terminal.
[0058] To solve the above problems, the present application provides a message push method, in which the push message sent by the service server to the terminal can include dynamically adjustable content. In this way, after receiving the push information, each terminal can determine the push content adapted to each terminal based on the current actual situation of each terminal, thereby improving the user experience.
[0059] The message push method provided in the embodiment of the present application is described below by taking the example that the message push system includes a business management platform 101, a business server 201 and a terminal 301, the business server 201 may include a business service module and a message push service module, and the terminal 301 may include a message push agent and a message center.
[0060] like Figure 3 As shown, the message push method provided in the embodiment of the present application may include the following steps:
[0061] S401. The business management platform 101 receives push message setting information sent by an operator.
[0062] When the business side wants to push a message to a terminal user, the business side operator can edit the push message on the business management platform 101 .
[0063] For example, Figure 4 As shown, taking the push message including title, message content, background image and interface jump method as an example, the business side operator can edit the push content corresponding to the title, message content, background image and interface jump method in the operation interface of the business management platform 101.
[0064] Among them, the interface jump mode refers to the response mode of the terminal interface in response to the terminal user clicking the message notification bar. The interface jump mode may include opening an application and opening a web page. Among them, opening an application means jumping to the application interface of the application corresponding to the push message after clicking the message notification bar. Opening a web page means that after clicking the message notification bar, it does not jump to the application interface of the application corresponding to the push message, but jumps to other websites such as the official website.
[0065] In an embodiment of the present application, the push message edited by the operator on the business management platform 101 may include only dynamic push content, or may include both dynamic push content and static push content. Among them, dynamic push content refers to push content that can be dynamically adjusted based on the real-time data of the terminal. Static push content refers to fixed push content that will not be dynamically adjusted based on the real-time data of the terminal. For example, the title in the push message is fixed push content, and the message content, background picture, etc. in the push message are all push content that can be dynamically adjusted based on the real-time data of the terminal.
[0066] like Figure 4 As shown, corresponding push rules can be set for dynamic push content. Among them, the push rules can include push conditions and push content corresponding to the title, message content, background image and interface jump method under each push condition. Among them, the push content under each push condition can include push content when the push condition is met and push content when the push condition is not met. For static push content, there is no need to set push rules, and the corresponding fixed push internal push can be set directly.
[0067] For example, a background image can be dynamically adjusted based on a system display mode of a terminal.
[0068] like Figure 5AAs shown, the operator can select "System display mode" in the push condition options of the operation interface of the business management platform 101, and can set the corresponding conditions in the condition input box, such as whether the system display mode is dark mode. In addition, the operator can also enter the background pictures that meet the push conditions and do not meet the push conditions in the operation interface of the business management platform 101. For example, under the push condition corresponding to the system display mode being the dark mode, the background picture that has been processed with dark color is input through the operation interface of the business management platform 101; under the push condition corresponding to the system display mode being the normal mode, the background picture that has not been processed with dark color is input through the operation interface of the business management platform 101. In this way, when the terminal displays the push message, it can select a background picture that is compatible with the current system display mode.
[0069] Another example is that the title, message content and interface jump mode can be dynamically adjusted based on the location information of the terminal. For example, the push message can be a push message corresponding to weather, travel, scenic spots and other related services.
[0070] like Figure 5B As shown, taking the push message as weather-related push content as an example, the operator can select "Current User Location" in the push condition option of the operation interface of the service management platform 101. After selecting "Current User Location", the corresponding location setting condition can be set or directly displayed. For example, Figure 5B The location setting condition is whether the current user location is in Shenzhen City.
[0071] like Figure 5B As shown, the operator can also enter the title, message content and interface jump method corresponding to the push conditions and the push conditions that are not met in the operation interface of the business management platform 101. For example, if the current user location is in Shenzhen, the title can be "Typhoon Red Warning Notice", the message content can be "It is expected that there will be typhoon weather in Shenzhen at 16:00 today, and the wind force can reach level 12. Please be prepared for prevention!", and the interface jump method can be a deep link (deeplink) jump. If the current user location is not in Shenzhen (for example, in Beijing), the title can be "High-level typhoon warnings are issued in many places in Guangdong", the message content can be "The Central Meteorological Observatory issued a typhoon red warning at 06:00 on September 10...", and the interface jump method can be to jump to the official website of the Meteorological Observatory. In this way, it is more conducive to maintaining users and improving user experience by pushing more suitable messages to terminal users in different regions.
[0072] It should be noted that the above embodiments are only Figure 5A and Figure 5BThe push rules shown are used as examples for illustration and are not intended to limit the push rules. The present application embodiment can set different push rules based on different application scenarios.
[0073] Exemplarily, different push rules in the embodiments of the present application may be push content that is dynamically adjusted based on any data in the terminal that can change at any time. For example, the dynamic push content may be dynamically adjusted based on at least one of the system setting data of the terminal, the status data of the terminal, and the application data in the terminal. Among them, the system setting data may include at least one of the display mode and the silent mode. The status data may include at least one of the current location, the current battery level, the network connection status, and the current time. The application data includes at least one of the application version and the data that can be queried within the application.
[0074] The following lists the push rules corresponding to several application scenarios.
[0075] Application scenario 1:
[0076] For message push scenarios involving terminal settings such as background images and sound effects, the push rules can be based on the terminal's system setting data to dynamically adjust the push messages.
[0077] For example, the push rule for a push message including a background image may include: the push condition is whether the system display mode is dark mode. If the system display mode is dark mode, the corresponding background image is a dark mode image, and if the system display mode is normal mode, the corresponding background image is a normal mode image.
[0078] For another example, a push rule for a push message including a sound effect may include: a push condition is whether the terminal is in a silent mode, wherein the sound effect is not played when the terminal is in a silent mode, and the sound effect is played when the terminal is in a non-silent mode.
[0079] Application scenario 2:
[0080] For message push scenarios involving geographic location, such as weather, travel, and scenic spots, the push rules can dynamically adjust the push messages based on the terminal's location data.
[0081] For example, Figure 5B As shown, the push rule may include: the push condition is whether the terminal is located in Shenzhen. For terminal users currently located in Shenzhen, the title, message content, and interface jump mode corresponding to Shenzhen are pushed. For terminal users currently located in cities other than Shenzhen, the default title, message content, and interface jump mode are pushed. The default title, message content, and interface jump mode are different from the title, message content, and interface jump mode corresponding to Shenzhen.
[0082] Application scenario three:
[0083] For message push scenarios involving battery and charging services, the push rules can dynamically adjust the push messages based on the current power level of the terminal.
[0084] For example, the push rule may include: the push condition is the current power level of the terminal. Different push messages may be set based on different power levels. For example, different push contents may correspond to power levels of 0-10%, 10%-50%, and 50%-100%.
[0085] Application scenario 4:
[0086] For message push scenarios that consume traffic, such as videos, the push rules can dynamically adjust the push messages based on the current network connection status of the terminal.
[0087] For example, the push rule for a push message including a video may include: the push condition is whether the network connection status of the terminal is a WIFI connection mode. When the current network connection status of the terminal is a WIFI connection mode, the message content is displayed in a video mode. When the current network connection status of the terminal is a data connection mode, the message content is displayed in a page mode.
[0088] Application scenario five:
[0089] For message push scenarios involving time, such as promotional activities, the push rules can dynamically adjust the push messages based on the current time of the terminal.
[0090] For example, the push rule of a push message corresponding to a certain promotion activity may include: whether the current time of the terminal is greater than 1 day from November 11, 2023. When the current time of the terminal is greater than 1 day from November 11, 2023, the first push message is sent. When the current time of the terminal is less than 1 day from November 11, 2023, the second push message is sent.
[0091] Application scenario six:
[0092] For business push scenarios involving application data, you can set up dynamic adjustment of push messages based on application data such as the application version in each terminal.
[0093] For example, the push rule of the push message of updating the application may include: whether the application version currently installed on the terminal is the first version. When the application version currently installed on the terminal is the first version, the application is updated to the second version. When the application version currently installed on the terminal is the second version, the application is updated to the third version. In other words, based on the version of the application currently installed on the terminal, the updated version that is suitable for it can be matched.
[0094] It should be noted that the push message edited by the operator on the business management platform 101 may include one or a combination of the above-mentioned push rules, which is not limited in this embodiment of the present application.
[0095] For static push content, operators can directly edit the fixed push content on the business management platform 101.
[0096] After editing the above push message on the service management platform 101, the operator can also select a target push terminal to request that the push message be sent to the target push terminal.
[0097] Finally, after the operator completes the above settings on the business management platform 101, the operator can click the "Send" button on the business management platform 101. In this way, the business management platform 101 can receive the push message setting information input by the operator and send the push message setting information to the corresponding business service module.
[0098] S402, the business management platform 101 sends the push message setting information to the business service module.
[0099] As can be seen from the above description, the push message setting information received by the business service module may include at least one tag, dynamic push content or static push content corresponding to each tag, and target push terminal information.
[0100] Among them, the tags may include title, message content, background image, interface jump mode, etc. Dynamic push content may include push conditions and push content corresponding to the push conditions, while static push content does not include push conditions but only includes fixed push content.
[0101] In the embodiment of the present application, all tags in the push message setting information can correspond to dynamic push content; or some tags can be set as dynamic push content, and some tags can be set as static push content.
[0102] In the embodiment of the present application, the message type of the push message setting information including dynamic push content can be defined as a dynamic message, and the message type of the push message setting information not including dynamic push content can be defined as a static message.
[0103] In some embodiments, the target push terminal information may be any information used to characterize a unique identification of a terminal. For example, the target push terminal information may be a push token of the terminal.
[0104] S403: The business service module determines the message type of the push message setting information.
[0105] In some embodiments, determining the message type of the push message setting information can be implemented in the following manner: the business service module can first determine whether the push message setting information includes a push condition. If the push message setting information includes at least one push condition, the message type of the push message setting information is determined to be a dynamic message. If the push message setting information does not include a push condition, the message type of the push message setting information is determined to be a static message.
[0106] In some embodiments, determining the message type of the push message setting information may also be implemented in the following manner: the business service module may use a pre-trained message type recognition model to determine whether the message type of the push message setting information is a dynamic message or a static message. For example, the message type recognition model may determine the message type of the push message setting information based on keywords, semantics, and other methods in the push message setting information.
[0107] S404: The business service module generates a push message request including a message type identifier based on the message type of the push message setting information.
[0108] In some embodiments, generating a push message request including a message type identifier can be implemented in the following manner: if it is determined that the message type of the push message setting information is a dynamic message, a push message request including a dynamic identifier (also referred to as a first identifier) is generated. If it is determined that the message type of the push message setting information is a static message, a push message request including a static identifier (also referred to as a second identifier) is generated. The dynamic identifier is used to indicate that the generated push message request includes dynamically adjustable push content, and the static identifier is used to indicate that the generated push message request does not include dynamically adjustable push content.
[0109] In some embodiments, generating a push message request including a message type identifier can also be implemented in the following manner: if it is determined that the message type of the push message setting information is a dynamic message, then generating a push message request including a dynamic identifier and a static identifier. The dynamic identifier is used to indicate a tag including a push condition, and the static identifier is used to indicate a tag not including a push condition. For example, the push content corresponding to the title is static push content, and the push content corresponding to the message content and the background image is dynamic push content. The business service module generates a static identifier corresponding to the title, and respectively generates dynamic identifiers corresponding to the message content and the background image. In this way, the generated push message request includes a static identifier and two dynamic identifiers.
[0110] For dynamic push content, the business service module can edit the dynamic push content into text supporting dynamic execution based on predefined syntax, so that the message push agent can parse and execute the push message request generated by the business service module. The text supporting dynamic execution includes a logic block of variable parameters.
[0111] Exemplarily, the predefined syntax may be in the following manner: "{% %}" encloses text to indicate a logic block to be executed. The logic block may support basic operations, basic string operations, logic operations, conditional expressions, variables, and the like.
[0112] Among them, the basic operations supported include integer / floating point number addition, subtraction, multiplication, division, comparison, conversion and other operations. The basic string operations supported include comparison / truncation / concatenation / length / substring search and other operations. The logical operations supported include AND, OR, NOT and other logical operations. The conditional expressions supported include if, else if, end if and other conditional expressions. If indicates that the condition matches, else if indicates that the condition does not match, and end if indicates the end of the conditional block.
[0113] Variables in a logic block can be expressed in the form of variable symbols + variable attributes. For example, $System.darkMode indicates whether the system is in dark mode; $System.realtimeLocation indicates the real-time location of the terminal; $System.currentTime indicates the current time of the system; $App[package name] indicates obtaining information about an APP with a certain package name, such as $App[com.example.demo].version indicates obtaining the version number of the APP with the package name com.example.demo.
[0114] In some embodiments, the logic block may also provide some functions. For example, the logic block may perform basic functions such as calculating time, time conversion, and calling the content provider interface in the APP to query data.
[0115] Exemplarily, the logic block {% seconds("2023-10-01 12:00:00")–seconds($System.currentTime)%} represents the calculation of the number of seconds between the current time and 2023-10-01 12:00:00, where seconds is a preset function.
[0116] Exemplarily, the logic block {% query("com.example.demo", "content: / / example / isLogin", "", "", "") = true%} means calling the provider interface of the APP named com.example.demo to query the isLogin information.
[0117] Taking a specific example where the title, message content and background image are all dynamic push content, the push message setting information received by the business service module includes: title, message content and background image, as well as the dynamic push content corresponding to each label of the title, message content and background image. In this way, the business service module generates a push message request (text that supports dynamic execution) based on the predefined grammar as shown in Table 1.
[0118] Table 1 Push message request
[0119]
[0120] As shown in Table 1, the service module generates a text that supports dynamic execution based on the received push message setting information, including a dynamic identifier dynamicNotification, tags, and push information corresponding to each tag. Among them, dynamicNotification indicates that the push message request includes a dynamic push message request. Correspondingly, the business service module edits the push rules corresponding to the title, message content and background image into the push information shown in Table 1. The push information is expressed in the form of a conditional expression. Among them, the variable in the title is $System.realtimeLocation.city, which is the real-time location of the terminal. The conditional expression corresponding to the title means: get the real-time location of the terminal; if the real-time location of the terminal is Shenzhen City, the title is the Shenzhen City reminder title (such as a typhoon red warning notification); if the real-time location of the terminal is not Shenzhen City, the title is the default reminder title (such as a high-level typhoon warning issued in many places in Guangdong).
[0121] The variable in the message content is also $System.realtimeLocation.city, which is the real-time location of the terminal. The conditional expression corresponding to the message content means: Get the real-time location of the terminal; if the real-time location of the terminal is Shenzhen, the message content is the reminder content of Shenzhen (for example, it is expected that there will be typhoon weather in Shenzhen at 16:00 today, and the wind force may reach level 12, please be prepared!); if the real-time location of the terminal is not Shenzhen, the message content is the default reminder content (for example, the Central Meteorological Observatory issued a typhoon red warning at 06:00 on September 10...).
[0122] The variable in the background image is $System.darkMode, which indicates whether the system is in dark mode. The conditional expression corresponding to the background image indicates: Get the display mode of the system and determine whether the system is in dark mode. If the terminal is in dark mode, the background image loads a background image adapted to the dark mode; if the terminal is not in dark mode, the background image loads a background image adapted to the normal mode.
[0123] Among them, each tag in the push message request generated by the business service module (such as title, message content and background image, etc.) can also be called a parameter, and the push information corresponding to each tag (such as fixed push content or push rules) can also be called a parameter value.
[0124] For static push content, the business service module can directly generate fixed text corresponding to the static push content.
[0125] Taking a specific example where the title is static push content, and the message content and background image are both dynamic push content, the business service module generates a push message request (text that supports dynamic execution) based on a predefined grammar as shown in Table 2.
[0126] Table 2 Push message request
[0127]
[0128] As shown in Table 2, for the push message setting information that includes both dynamic push content and static push content, the business service module can configure the corresponding message type identifier for each tag respectively. For example, the message type identifier configured by the business service module for the title is Notification, and the message type identifier configured by the business service module for the message content and background image is dynamicNotification. Among them, Notification indicates that the push information corresponding to the title in the generated push message request is static push information, and dynamicNotification indicates that the push information corresponding to the message content and background image in the generated push message request is dynamic push information.
[0129] As shown in Table 2, for the static push content in the push message setting information, the business service module does not need to use predefined syntax to edit and process, and can directly use the corresponding static push content as the push content.
[0130] The method for the business service module to process the dynamic push content in the push message setting information can be found in the description of Table 1, which will not be repeated here.
[0131] In summary, the push message request generated by the business service module may include a message type identifier, at least one tag, and push information corresponding to each tag. The push information may be dynamic push information or static push information. As shown in Table 2, the push information corresponding to the title belongs to dynamic push information, and the push information corresponding to the message content and background image belongs to static push information. The dynamic push information includes a push condition and push content corresponding to whether the push condition is met or not met.
[0132] It should be noted that the above embodiment is only exemplified by taking the example of the business service module converting the dynamic push content into text supporting dynamic execution. In some embodiments, text supporting dynamic execution can also be input in the business management platform 101. In this way, after the business service module receives the push message setting information sent by the business management platform 101, it is not necessary to convert the dynamic push content.
[0133] It should also be noted that the above embodiment is only an example of configuring a dynamicNotification or Notification identifier in a push message request, and does not limit the specific form of the message type identifier. For example, the message type identifier can also be expressed in the form of a logic block, such as:
[0134] Notification
[0135] DynamicFlag=true / false
[0136] }
[0137] Among them, DynamicFlag=true indicates that the message type is a dynamic message; DynamicFlag=false indicates that the message type is a static message.
[0138] S405, the business service module sends the generated push message request and target push terminal information to the message push service module.
[0139] S406: The message service module sends the push message request to each target push terminal based on the target push terminal information.
[0140] Exemplarily, the message service module obtains the Push Token of each target push terminal, and then sends the push message request to the terminal corresponding to each Push Token, so that each terminal can receive the same push message request.
[0141] In the embodiment of the present application, the message push agent of each terminal receives the push message request sent by the message service module, and performs logical judgment based on the received push message request to obtain the message adapted to the respective terminal. In this way, on the one hand, the message push agent performs logical judgment, and the reminder content processing can be performed without relying on the start of the business APP in the terminal. In addition, since the processing logic and content data are sent from the server to the terminal, there is no need for the business APP in the terminal to adapt and modify the content data. On the other hand, the message push agent on the terminal side performs logical judgment, which can obtain the latest data of the terminal, so that the display content adapted to each terminal can be determined based on the latest data.
[0142] After receiving the push message request sent by the message service module, the message push agent parses the push message request to obtain the target push message adapted to the current terminal.
[0143] The following describes a method for processing a push message request by a message push agent in a terminal provided in an embodiment of the present application.
[0144] S407: The message push agent determines the message type of the push information corresponding to each tag in the push message request.
[0145] In the embodiment of the present application, the message push agent has the ability to parse and execute the push information shown in Table 1 and Table 2. The message push agent parses different types of push information in different ways. Therefore, after receiving the push message request, the message push agent first determines the message type of the push information in the push message request.
[0146] In some embodiments, if the push message request includes only one message type identifier (as shown in Table 1), the message push agent determines the message type corresponding to the message type identifier. Correspondingly, if the message type identifier is a dynamic identifier, the message push agent can confirm the push information corresponding to each tag as dynamic push information. Then, based on the parsing method for dynamic push information, parse the push information corresponding to each tag. If the message type identifier is a static identifier, the message push agent determines that the push message request does not include dynamic push information. In this way, the message push agent can use the parsing method for static push information to parse the push information corresponding to each tag.
[0147] In some embodiments, if the push message request includes multiple message type identifiers (as shown in Table 2), that is, each tag corresponds to a message type identifier, then the message push agent can determine the type of push information corresponding to each tag based on the message type identifier corresponding to each tag. Taking Table 2 as an example, the message push agent can determine that the push message corresponding to the title is a static push message based on the static identifier corresponding to the title. The message push agent can determine that the push message corresponding to the message content and background image is a dynamic push message based on the dynamic identifier corresponding to the message content and background image. In this way, the message push agent can further adopt a method for parsing static push information to parse the push information corresponding to the title; and adopt a method for parsing dynamic push information to parse the push information corresponding to the message content and background image.
[0148] The method for parsing dynamic push information may refer to the description of step S408 to step S410 , and the method for parsing static push information may refer to the description of step S411 .
[0149] S408: When the push information is dynamic push information, the message push agent parses the push message request and determines at least one push condition.
[0150] S409: The message push agent obtains terminal data corresponding to each push condition from the terminal based on the push condition.
[0151] S410: The message push agent determines target push content corresponding to each tag based on terminal data and at least one push condition.
[0152] S411: When the push information is static push information, the message push agent determines the static push information as the push content corresponding to the tag.
[0153] Exemplarily, if the push message request includes only one message type identifier, and the message type identifier is a dynamic identifier, the message push agent can first determine whether the push information includes variable parameters when parsing the push information corresponding to each tag. If the push information includes variable parameters, it indicates that the push information is dynamic push information, and the message push agent further parses the push conditions corresponding to the variable parameters and performs corresponding logical processing. If the push information does not include variable parameters, it indicates that the push information is static push information, and the message push agent does not need logical processing and can directly determine the static push information as the push content corresponding to the tag.
[0154] Taking the analysis of the push information corresponding to each tag in Table 1 as an example, the message push agent can determine that the push information corresponding to the title, message content and background image includes variable parameters, and determines that the variable parameters are the real-time location of the terminal, the real-time location of the terminal and whether the system is in dark mode. Then, the message push agent can obtain the real-time location and system display mode data of the current terminal. For example, the message push agent can obtain the location data of the current terminal from the positioning system of the current terminal, and can obtain the system display mode data of the current terminal from the setting system of the current terminal.
[0155] Next, the message push agent performs a logical judgment based on the acquired current terminal location data and system display mode data. Fig. 6A As shown in the figure, if the current real-time location of the terminal is Shenzhen, the message push agent determines that the title is the Shenzhen reminder title (such as typhoon red warning notification), and the message content is the Shenzhen reminder content (such as, it is expected that there will be typhoon weather in Shenzhen at 16:00 today, and the wind speed may reach level 12, please be prepared!). Figure 6B As shown, if the real-time location of the current terminal is not Shenzhen, the message push agent determines that the title is the default reminder title (such as, high-level typhoon warnings are issued in many places in Guangdong), and the message content is the default reminder content (such as, the Central Meteorological Observatory issued a typhoon red warning at 06:00 on September 10...).
[0156] Similar, such as Fig. 6A As shown, if the system display mode of the current terminal is dark mode, the message push agent determines that the background image is the background image corresponding to the dark mode. Figure 6B As shown, if the system display mode of the current terminal is the normal mode, the message push agent determines that the background image is the background image corresponding to the normal mode.
[0157] As another example, if the push message request includes multiple message type identifiers (as shown in Table 2), and each tag corresponds to a message type identifier, the message push agent can adopt corresponding parsing methods based on the message type identifiers corresponding to each tag. For example, for a tag configured with a dynamic identifier, the variable parameters in the push information corresponding to the tag can be determined first. Then, the message push agent can obtain the real-time data corresponding to the current terminal, and perform logical judgment based on the acquired real-time data of the current terminal. Specifically, the logical judgment process performed by the message push agent based on the variable parameters can be found in the description of the above embodiment, which will not be repeated here. For another example, for a tag configured with a static identifier, the message push agent can determine the corresponding static push information as the push content corresponding to the tag.
[0158] It can be seen that the push message request received by the message push proxy carries the push content corresponding to the push conditions that meet or do not meet the push conditions under different push conditions. In this way, the message push proxy only needs to make logical judgments based on the real-time data of the terminal obtained, and then select the push content that meets the push conditions from the push message request. In this way, the terminal side APP does not need to modify the push content.
[0159] S412: The message push agent generates a target push message.
[0160] After the message push agent parses the push content corresponding to each tag, it generates the target push message. Fig. 6A and Figure 6B As shown, the target push message includes various tags and push content corresponding to each tag.
[0161] It should be understood that for dynamic push information, the push content generated by the message push agents of different terminals may be different. For static push information, the push content generated by the message push agents of different terminals is the same.
[0162] S413, the message push agent sends the target push message to the message center.
[0163] S414, the message center displays the target push message on the display screen of the terminal.
[0164] In this way, different push messages can be displayed for different terminals based on the same push message request.
[0165] For example, Figure 7 As shown, the push message requests shown in Table 1 are sent to terminal 301, terminal 302 and terminal 303 respectively.
[0166] Assume that when terminal 301 receives the push message request, it is located in Shenzhen, and the system display mode is dark mode. In this way, the target push message generated by the message push agent is: the title and message content are both Shenzhen reminder content, and the background image is the background image corresponding to the dark mode. Correspondingly, the message notification bar displayed by terminal 301 is as follows Figure 7 As shown in (a), the background image is adapted to the current dark mode of the terminal 301, and the title and message content are also adapted to the geographical location of the terminal 301, Shenzhen.
[0167] Assume that when the terminal 302 receives the push message request, it is located in Shenzhen, and the system display mode is normal mode. In this way, the target push message generated by the message push agent is: the title and message content are both Shenzhen reminder content, and the background image is the background image corresponding to the normal mode. Correspondingly, the message notification bar displayed by the terminal 302 is as follows Figure 7As shown in (b), the background image is adapted to the current normal mode of the terminal 302, and the title and message content are also adapted to the geographical location of the terminal 302, Shenzhen.
[0168] Assume that when terminal 303 receives the push message request, it is located in Beijing, and the system display mode is normal mode. In this way, the target push message generated by the message push agent is: the title and message content are both default reminder content, and the background image is the background image corresponding to the normal mode. Correspondingly, the message notification bar displayed by terminal 303 is as follows Figure 7 As shown in (c), the background image is adapted to the current normal mode of the terminal 302, and the title and message content are also adapted to the geographical location of the terminal 303, namely, Beijing.
[0169] So, by contrast Figure 1 and Figure 7 It can be seen that the message push method provided in the embodiment of the present application can set push messages adapted to each terminal based on the latest dynamic data of each terminal, such as system setting data, terminal status data, and application data in the terminal, so as to provide personalized services for each terminal user and improve the user experience of each terminal user.
[0170] To facilitate the understanding of the technical solution provided in the embodiment of the present application, the message push method provided in the embodiment of the present application is described below with the server and the terminal as the execution entities respectively.
[0171] like Figure 8 As shown, the message push method provided in the embodiment of the present application can be applied to a server, and specifically may include the following steps:
[0172] S501, receiving push message setting information sent by the service management platform; the push message setting information includes at least one tag, push content corresponding to each tag, and target push terminal information.
[0173] S502: Determine the message type of the push message setting information.
[0174] S503: Generate a push message request including a message type identifier based on the message type of the push message setting information; the message type identifier is used to indicate the message type of the push message request.
[0175] S504: Based on the target push terminal information, the push message request is sent to each target push terminal respectively.
[0176] In one implementable manner, the push message setting information also includes at least one push condition, and the push content includes the push content corresponding to each push condition; determining the message type of the push message setting information includes: when the push message setting information includes at least one push condition, determining that the message type of the push message setting information is a dynamic message; when the push message setting information does not include a push condition, determining that the message type of the push message setting information is a static message.
[0177] In one implementable method, based on the message type of the push message setting information, a push message request including a message type identifier is generated, including: when the message type of the push message setting information is a dynamic message, a push message request including a first identifier is generated; or, a push message request including a first identifier and a second identifier is generated; wherein the first identifier is used to indicate a tag including a push condition, and the second identifier is used to indicate a tag not including a push condition.
[0178] In one implementable method, based on the message type of the push message setting information, a push message request including a message type identifier is generated, including: when the message type of the push message setting information is a dynamic message, based on a predefined syntax, the push content corresponding to each tag is constructed as a logic block including variable parameters; the logic block is used to characterize the push conditions and the push content corresponding to the push conditions; when the message type of the push message setting information is a static message, the push content corresponding to each tag is determined as a fixed text corresponding to each tag; wherein the push message request includes at least one tag, and a logic block or fixed text corresponding to each tag.
[0179] In one implementable manner, the variable parameters include system setting data of the target push terminal, status data of the target push terminal, and at least one item of application data in the target push terminal; the system setting data includes at least one item of display mode and silent mode; the status data includes at least one item of current location, current power, network connection status, and current time; the application data includes at least one item of application version and data that can be queried within the application.
[0180] In one possible implementation, the tag includes at least one of a title, content, a background image, and an interface jump method.
[0181] In an implementable manner, the target push terminal information includes a unique identifier of the target push terminal.
[0182] The specific implementation process on the server side can be found in the description of steps S401 to S406 and will not be repeated here.
[0183] like Fig. 9As shown, the message push method provided in the embodiment of the present application can be applied to a terminal, and specifically may include the following steps:
[0184] S601, the message push agent receives a push message request sent by the server; when the push message request is a dynamic push request, the push message request includes at least one push condition, at least one tag, and push content corresponding to each tag under each push condition.
[0185] S602: When the message push agent determines that the push message request is a dynamic push request, the push message request is parsed to determine at least one push condition.
[0186] Exemplarily, when the push message request includes a push condition, the push message request is determined to be a dynamic push request. When the push message request does not include a push condition, the push message request is determined to be a static push request.
[0187] In another exemplary embodiment, when the push message request includes a dynamic identifier (also referred to as a first identifier), the push message request is determined to be a dynamic push request. When the push message request does not include a dynamic identifier, the push message request is determined to be a static push request.
[0188] S603: The message push agent obtains terminal data corresponding to each push condition from the terminal based on the push condition.
[0189] For different push conditions, corresponding terminal data can be obtained from different locations of the terminal. For example, location data can be obtained from the terminal's positioning system, display mode can be obtained from the terminal's setting system, system time data can be obtained from the terminal's time system, and power data can be obtained from the terminal's battery management system. These are not listed here one by one.
[0190] S604: The message push agent determines the target push content corresponding to each tag based on the terminal data and at least one push condition.
[0191] S605: The message push agent generates a target push message according to the target push content corresponding to each tag, and sends the target push message to the message center.
[0192] In one implementable manner, the message push agent obtains terminal data corresponding to each push condition from the terminal based on the push conditions, including: the message push agent determines variable parameters corresponding to each push condition; the message push agent obtains terminal data corresponding to each variable parameter from the terminal.
[0193] In one implementable manner, the terminal data includes at least one of the terminal's system setting data, the terminal's status data, and application data in the terminal; the system setting data includes at least one of a display mode and a silent mode; the status data includes at least one of a current location, current battery level, a network connection status, and a current time; and the application data includes at least one of an application version and data that can be queried within the application.
[0194] In one implementable manner, the push message request also includes a message type identifier, and the method also includes: when the message type identifier is a first identifier, the message push agent determines that the push message request is a dynamic push request; when the message type identifier is a second identifier, the message push agent determines that the push message request is a static push request.
[0195] In one implementable manner, when the message push agent determines that the push message request is a dynamic push request, the push message request is parsed to determine at least one push condition, including: when the message push agent determines that the push message request is a dynamic push request, the variable parameters corresponding to each tag are extracted; and the message push agent parses the push conditions corresponding to the variable parameters.
[0196] In one implementable method, the push message request also includes a message type identifier corresponding to each tag. When the message push agent determines that the push message request is a dynamic push request, the push message request is parsed to determine at least one push condition, including: when the message type identifier of the first tag is the first identifier, the message push agent extracts the variable parameters corresponding to the first tag; the message push agent parses the push conditions corresponding to the variable parameters of the first tag.
[0197] In an implementable manner, the method further includes: when the message type identifier of the second tag is the second identifier, the message push agent uses the push information corresponding to the second tag as the push content corresponding to the second tag.
[0198] In one possible implementation, the tag includes at least one of a title, content, a background image, and an interface jump method.
[0199] The specific implementation process on the terminal side can be found in the description of steps S407 to S414, which will not be repeated here.
[0200] In some embodiments, the terminal may be a mobile phone, a tablet computer, a handheld computer, a personal computer (PC), a personal digital assistant (PDA), a wearable device, etc. The embodiment of the present application does not limit the specific form of the terminal.
[0201] For example, taking the terminal device as a mobile phone, Fig.10 FIG. 1 shows a schematic diagram of the structure of a terminal provided in an embodiment of the present application. Fig.10 As shown, the terminal 300 may include: a processor 310, an external memory interface 320, an internal memory 321, a universal serial bus (USB) interface 330, a charging management module 340, a power management module 341, a battery 342, an antenna 1, an antenna 2, a mobile communication module 350, a wireless communication module 360, an audio module 370, a speaker 370A, a receiver 370B, a microphone 370C, an earphone interface 370D, a sensor module 380, a button 390, a motor 391, an indicator 392, a camera 393, a display screen 394, and a subscriber identification module (SIM) card interface 395, etc.
[0202] Among them, the above-mentioned sensor module 380 may include sensors such as a pressure sensor 380A, a gyroscope sensor 380B, an air pressure sensor 380C, a magnetic sensor 380D, an acceleration sensor 380E, a distance sensor 380F, a proximity light sensor 380G, a fingerprint sensor 380H, a temperature sensor 380J, a touch sensor 380K, an ambient light sensor 380L and a bone conduction sensor 380M.
[0203] It is to be understood that the structure illustrated in this embodiment does not constitute a specific limitation on the terminal 300. In other embodiments, the terminal 300 may include more or fewer components than shown in the figure, or combine some components, or split some components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.
[0204] The processor 310 may include one or more processing units, for example, the processor 310 may include an application processor (AP), a modem processor, a graphics processor (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), etc. Different processing units may be independent devices or integrated into one or more processors.
[0205] The controller may be the nerve center and command center of the terminal 300. 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.
[0206] A memory may also be provided in the processor 310 for storing instructions and data. In some embodiments, the memory in the processor 310 is a cache memory. The memory may store instructions or data that the processor 310 has just used or circulated. If the processor 310 needs to use the instruction or data again, it may be directly called from the memory. This avoids repeated access, reduces the waiting time of the processor 310, and thus improves the efficiency of the system. In some embodiments, the processor 310 may include one or more interfaces.
[0207] It is understandable that the interface connection relationship between the modules illustrated in this embodiment is only for illustrative purposes and does not constitute a structural limitation on the terminal 300. In other embodiments, the terminal 300 may also adopt different interface connection modes in the above embodiments, or a combination of multiple interface connection modes.
[0208] The charging management module 340 is used to receive charging input from a charger. The charger can be a wireless charger or a wired charger. While the charging management module 340 charges the battery 342, it can also power the terminal through the power management module 341.
[0209] The power management module 341 is used to connect the battery 342, the charging management module 340 and the processor 310. The power management module 341 receives input from the battery 342 and / or the charging management module 340 to power the processor 310, the internal memory 321, the external memory, the display screen 394, the camera 393, and the wireless communication module 360.
[0210] The wireless communication function of the terminal 300 can be implemented through the antenna 1, the antenna 2, the mobile communication module 350, the wireless communication module 360, the modem processor and the baseband processor.
[0211] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in terminal 300 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve the utilization of the antennas. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In some other embodiments, the antenna can be used in combination with a tuning switch.
[0212] The mobile communication module 350 can provide solutions for wireless communications including 2G / 3G / 4G / 5G, etc., applied to the terminal 300. The mobile communication module 350 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 350 can receive electromagnetic waves from the antenna 1, and filter, amplify, etc. the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation. The mobile communication module 350 can also amplify the signal modulated by the modulation and demodulation processor, and convert it into electromagnetic waves for radiation through the antenna 1.
[0213] The wireless communication module 360 can provide wireless communication solutions applied on the terminal 300, including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (blue tooth, BT), global navigation satellite system (global navigation satellite system, GNSS), frequency modulation (frequency modulation, FM), near field communication technology (near field communication, NFC), infrared technology (infrared, IR), etc.
[0214] In some embodiments, antenna 1 of terminal 300 is coupled to mobile communication module 350, and antenna 2 is coupled to wireless communication module 360, so that terminal 300 can communicate with the network and other devices through wireless communication technology.
[0215] The terminal 300 implements the display function through a GPU, a display screen 394, and an application processor. The GPU is a microprocessor for image processing, which connects the display screen 394 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 310 may include one or more GPUs that execute program instructions to generate or change display information.
[0216] The display screen 394 is used to display images, videos, etc. The display screen 394 includes a display panel. For example, the display screen 394 can be a touch screen.
[0217] The terminal 300 can realize the shooting function through the ISP, the camera 393, the video codec, the GPU, the display screen 394 and the application processor.
[0218] The external memory interface 320 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the terminal 300. The external memory card communicates with the processor 310 through the external memory interface 320 to implement a data storage function, such as storing music, video and other files in the external memory card.
[0219] The internal memory 321 can be used to store computer executable program codes, which include instructions. The processor 310 executes various functional applications and data processing of the terminal 300 by running the instructions stored in the internal memory 321. For example, in an embodiment of the present application, the processor 310 can execute instructions stored in the internal memory 321, and the internal memory 321 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 300 (such as audio data, a phone book, etc.), etc.
[0220] The terminal 300 can implement audio functions through the audio module 370, the speaker 370A, the receiver 370B, the microphone 370C, the headphone interface 370D, and the application processor, etc. For example, the user's voice information can be collected through the microphone 370C, and the feedback result of the user's voice information can be played through the speaker 370A.
[0221] The touch sensor is also called a "touch panel". The touch sensor can be arranged on the display screen 394, and the touch sensor and the display screen 394 form a touch screen, also called a "touch screen". The touch sensor is used to detect a touch operation acting on or near it. The touch sensor can pass the detected touch operation to the application processor to determine the type of touch event. Visual output related to the touch operation can be provided through the display screen 394. In other embodiments, the touch sensor can also be arranged on the surface of the terminal 300, which is different from the position of the display screen 394.
[0222] In the embodiment of the present application, the terminal 300 can detect the touch operation input by the user on the touch screen through the touch sensor, and collect one or more of the touch position of the touch operation on the touch screen, the touch time, etc. In some embodiments, the terminal 300 can determine the touch position of the touch operation on the touch screen by combining the touch sensor 380K and the pressure sensor 380A.
[0223] The key 390 includes a power button, a volume button, etc. The key 390 may be a mechanical button or a touch button. The terminal 300 may receive a key input and generate a key signal input related to the user settings and function control of the terminal 300. For example, the voice interaction function may be awakened by long pressing the power button.
[0224] Motor 391 can generate vibration prompts. Motor 391 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 394, motor 391 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.
[0225] The indicator 392 may be an indicator light, which may be used to indicate the charging status, power change, message, missed call, notification, etc. The SIM card interface 395 is used to connect the SIM card. The SIM card may be connected to or disconnected from the terminal 300 by inserting the SIM card interface 395 or pulling the SIM card interface 395 out. The terminal 300 may support 1 or N SIM card interfaces, where N is a positive integer greater than 1. The SIM card interface 395 may support Nano SIM card, Micro SIM card, SIM card, etc.
[0226] The software system of the terminal 300 may adopt a layered architecture, an event-driven architecture, a micro-core architecture, a micro-service architecture, or a cloud architecture. The embodiment of the present invention takes the Android system of the layered architecture as an example to exemplify the software structure of the terminal 300.
[0227] Fig.11 It is a software structure block diagram of the terminal 300 according to an embodiment of the present application.
[0228] 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, from top to bottom: the application layer, the application framework layer, the Android runtime and system library, and the kernel layer.
[0229] The application layer can include a series of application packages.
[0230] like Fig.11 As shown, the application package may include applications such as camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, short message, setting, etc.
[0231] The application framework layer provides an application programming interface (API) and a programming framework for the applications in the application layer. The application framework layer includes some predefined functions.
[0232] like Fig.11 As shown, the application framework layer may include activity management service, window management service, content provider, view system, phone manager, resource manager, notification manager, etc.
[0233] The window management service is used to manage window programs. The window management service can obtain the display size, determine whether there is a status bar, lock the screen, capture the screen, draw windows, etc.
[0234] The activity management service is used to manage the life cycle of the application's Activity.
[0235] Content providers are used to store and retrieve data and make it accessible to applications. The data may include videos, images, audio, calls made and received, browsing history and bookmarks, phone books, etc.
[0236] The view system includes visual controls, such as controls for displaying text, controls for displaying images, etc. The view system can be used to build applications. A display interface can be composed of one or more views. For example, a display interface including a text notification icon can include a view for displaying text and a view for displaying images.
[0237] The phone manager is used to provide communication functions of the terminal 300, such as management of call status (including connection, disconnection, etc.).
[0238] The resource manager provides various resources for applications, such as localized strings, icons, images, layout files, video files, and so on.
[0239] The notification manager enables applications to display notification information in the status bar. It can be used to convey notification-type messages and can disappear automatically after a short stay without user interaction. For example, the notification manager is used to notify download completion, message reminders, etc. The notification manager can also be a notification that appears in the system top status bar in the form of a chart or scroll bar text, such as notifications of applications running in the background, or a notification that appears on the screen in the form of a dialog window. For example, a text message is displayed in the status bar, a prompt sound is emitted, the terminal vibrates, the indicator light flashes, etc.
[0240] Android Runtime includes core libraries and virtual machines. Android runtime is responsible for scheduling and management of the Android system.
[0241] The core library consists of two parts: one part is the function that needs to be called by the Java language, and the other part is the Android core library.
[0242] The application layer and the application framework layer run in a virtual machine. The virtual machine executes the Java files of the application layer and the application framework layer as binary files. The virtual machine is used to perform functions such as object life cycle management, stack management, thread management, security and exception management, and garbage collection.
[0243] The system library may include multiple functional modules, such as surface manager, media library, 3D graphics processing library (such as OpenGL ES), 2D graphics engine (such as SGL), etc.
[0244] The surface manager is used to manage the display subsystem and provide the fusion of 2D and 3D layers for multiple applications.
[0245] The media library supports playback and recording of a variety of commonly used audio and video formats, as well as static image files, etc. The media library can support a variety of audio and video encoding formats, such as: MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, etc.
[0246] The 3D graphics processing library is used to implement 3D graphics drawing, image rendering, compositing, and layer processing.
[0247] A 2D graphics engine is a drawing engine for 2D drawings.
[0248] The kernel layer is the layer between hardware and software. The kernel layer contains at least display driver, camera driver, audio driver, and sensor driver.
[0249] The various method embodiments described in this document may be independent solutions or may be combined according to internal logic, and these solutions all fall within the protection scope of this application.
[0250] It can be understood that in the above-mentioned various method embodiments, the methods and operations implemented by electronic devices (including business management platforms, servers and terminals) can also be implemented by components (such as chips or circuits) that can be used in electronic devices.
[0251] The above embodiments introduce the message push method provided by the present application. It is understandable that, in order to realize the above functions, the electronic device includes a hardware structure and / or software module corresponding to each function. Those skilled in the art should easily realize 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 the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present application.
[0252] In the implementation process, each step of the above method can be completed by an integrated logic circuit of hardware in a processor or an instruction in the form of software. The steps of the method disclosed in conjunction with the embodiment of the present application can be directly embodied as a hardware processor for execution, or a combination of hardware and software modules in a processor for execution. The software module can be located in a storage medium mature in the art such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc. The storage medium is located in a memory, and the processor reads the information in the memory and completes the steps of the above method in conjunction with its hardware. To avoid repetition, it is not described in detail here.
[0253] It should be noted that the processor in the embodiment of the present application can be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method embodiment can be completed by an integrated logic circuit of hardware in the processor or an instruction in the form of software. The above processor can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The methods, steps and logic block diagrams disclosed in the embodiments of the present application can be implemented or executed. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc. The steps of the method disclosed in the embodiment of the present application can be directly embodied as a hardware decoding processor to perform, or the hardware and software modules in the decoding processor can be combined and performed. The software module can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc. The storage medium is located in a memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware.
[0254] It can be understood that the memory in the embodiments of the present application can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory can be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), and direct RAM (DR RAM). It should be noted that the memory of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0255] According to the method provided in the embodiments of the present application, the embodiments of the present application also provide a computer program product, which includes: a computer program or instructions, when the computer program or instructions are run on a computer, the computer executes the method of any one of the embodiments of the method.
[0256] According to the method provided by the embodiments of the present application, the embodiments of the present application also provide a computer storage medium, which stores a computer program or instructions. When the computer program or instructions are run on a computer, the computer executes the method of any one of the embodiments of the method.
[0257] According to the method provided by an embodiment of the present application, an embodiment of the present application also provides an electronic device, including a memory and a processor; the memory and the processor are coupled; the memory is used to store computer program code, and the computer program code includes computer instructions. When the processor executes the computer instructions, the electronic device executes the method of any one of the embodiments of the method embodiment.
[0258] Those of ordinary skill in the art will appreciate that the various illustrative logical blocks and steps described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or in a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel may use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0259] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application can be essentially or partly embodied in the form of a software product that contributes to the prior art. The computer software product is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods described in the various embodiments of the present application. The aforementioned storage media include: various media that can store program codes, such as USB flash drives, mobile hard disks, read-only memories (ROM), random access memories (RAM), magnetic disks or optical disks.
[0260] The computer storage medium, computer program product, and electronic device provided in the above-mentioned embodiments of the present application are all used to execute the method provided above. Therefore, the beneficial effects that can be achieved can refer to the corresponding beneficial effects of the method provided above, and will not be repeated here.
[0261] It should be understood that in each embodiment of the present application, the execution order of each step should be determined by its function and internal logic, and the size of the sequence number of each step does not mean the order of execution and does not limit the implementation process of the embodiment.
[0262] Each part of this specification is described in a progressive manner, and the same or similar parts between the various embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the embodiments of the device, computer storage medium, computer program product, and electronic device, since they are basically similar to the method embodiments, the description is relatively simple, and the relevant parts can be referred to the description in the method embodiments.
[0263] Although the preferred embodiments of the present application have been described, those skilled in the art may make other changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications falling within the scope of the present application.
[0264] The above-described embodiments of the present application do not constitute a limitation on the protection scope of the present application.
Claims
1. A message push method, characterized in that: The method is applied to a terminal, and the method includes: Receive push message requests; In a case where the push message request is a dynamic push request, determining at least one push condition in the dynamic push request; Based on the push conditions, respectively acquiring terminal data corresponding to each of the push conditions from the terminals; A target push message corresponding to the push message request is generated based on the terminal data and the at least one push condition.
2. The method according to claim 1, characterized in that The at least one push condition includes whether the system display mode is a dark mode, and the generating a target push message corresponding to the push message request based on the terminal data and the at least one push condition includes: When the display mode of the terminal is in the dark mode, generating a first target push message; wherein the background picture corresponding to the first target push message is a dark mode picture; When the display mode of the terminal is in light mode, a second target push message is generated; wherein the background image corresponding to the second target push message is a light mode image.
3. The method according to claim 1 or 2, characterized in that: The at least one push condition includes a push condition related to the current location of the terminal, and the generating, based on the terminal data and the at least one push condition, a target push message corresponding to the push message request includes: In the case where the current position of the terminal is at the first position, generating a third target push message, wherein the push content corresponding to the third target push message is the first push content matching the first position; When the current position of the terminal is in the second position, a fourth target push message is generated, and the corresponding push content of the fourth target push message is the second push content matching the second position; wherein, the first position is different from the second position, and the first push content is different from the second push content.
4. The method according to claim 3, characterized in that The at least one push condition also includes a push condition related to at least one of a silent mode of the terminal, a current battery level, a network connection status, a current time, an application version, and data that can be queried within the application.
5. The method according to claim 1, characterized in that The acquiring, based on the push conditions, terminal data corresponding to each of the push conditions from the terminal respectively includes: Determine the variable parameters corresponding to each of the push conditions; Terminal data corresponding to each of the variable parameters are obtained from the terminals respectively.
6. The method according to claim 1 or 5, characterized in that: The terminal data includes at least one of system setting data of the terminal, status data of the terminal and application data in the terminal; The system setting data includes at least one of a display mode and a silent mode; The status data includes at least one of the current location, current power level, network connection status and current time; The application data includes at least one of an application version and data that can be queried within the application.
7. The method according to claim 1, characterized in that The push message request also includes a message type identifier, and the method further includes: When the message type identifier is the first identifier, determining that the push message request is a dynamic push request; When the message type identifier is the second identifier, it is determined that the push message request is a static push request.
8. The method according to claim 1, characterized in that: The push message request further includes at least one tag, and push content corresponding to each tag under each push condition; when the push message request is a dynamic push request, determining at least one push condition in the dynamic push request includes: In the case where the push message request is a dynamic push request, extracting variable parameters corresponding to each of the tags; Parse the push conditions corresponding to the variable parameters.
9. The method according to claim 8, characterized in that The push message request also includes a message type identifier corresponding to each of the tags; when the push message request is a dynamic push request, determining at least one push condition in the dynamic push request includes: When the message type identifier of the first tag is the first identifier, extracting the variable parameter corresponding to the first tag; Parse the push condition corresponding to the variable parameter of the first tag.
10. The method according to claim 9, characterized in that The method further comprises: When the message type identifier of the second tag is the second identifier, the push information corresponding to the second tag is used as the push content corresponding to the second tag.
11. The method according to any one of claims 8 to 10, characterized in that The tag includes at least one of a title, content, a background image, and an interface jump mode.
12. A message push method, characterized in that: The method is applied to a terminal, and the method includes: receiving a push message request, wherein the push message request is a dynamic push request, and the dynamic push request includes at least one push condition, and the at least one push condition includes whether the system display mode is a dark mode; When the display mode of the terminal is in a dark mode, in response to the receiving push message request, generating a first target push message; wherein the corresponding background picture of the first target push message is a dark mode picture; When the display mode of the terminal is in light mode, in response to the received push message request, a second target push message is generated; wherein the corresponding background image of the second target push message is a light mode image.
13. The method according to claim 12, characterized in that The at least one push condition further includes a push condition related to a current location of the terminal; generating a third target push message in response to the receiving push message request when the current location of the terminal is at the first location; The push content corresponding to the third target push message is the first push content matching the first location; When the current location of the terminal is at the second location, in response to the receiving push message request, generating a fourth target push message; The push content corresponding to the fourth target push message is the second push content matching the second location; wherein the first location is different from the second location, and the first push content is different from the second push content.
14. The method according to claim 12 or 13, characterized in that The at least one push condition also includes a push condition related to at least one of a silent mode of the terminal, a current battery level, a network connection status, a current time, an application version, and data that can be queried within the application.
15. The method according to claim 12, characterized in that In a case where the at least one push condition includes whether the system display mode is a dark mode, the method further includes: Get the display mode of the terminal.
16. The method according to claim 13, characterized in that In a case where the at least one push condition includes a push condition related to a current location of the terminal, the method further includes: The current location of the terminal is obtained.
17. The method according to claim 12, characterized in that After receiving the push message request, the method further includes: In a case where the push message request is a dynamic push request, determining at least one push condition in the dynamic push request; Determine the variable parameters corresponding to each of the push conditions; Terminal data corresponding to each of the variable parameters are obtained from the terminals respectively.
18. The method according to claim 17, characterized in that The terminal data includes at least one of system setting data of the terminal, status data of the terminal and application data in the terminal; The system setting data includes at least one of a display mode and a silent mode; The status data includes at least one of the current location, current power level, network connection status and current time; The application data includes at least one of an application version and data that can be queried within the application.
19. The method according to claim 12, characterized in that The push message request also includes a message type identifier, and the method further includes: When the message type identifier is the first identifier, determining that the push message request is a dynamic push request; When the message type identifier is the second identifier, it is determined that the push message request is a static push request.
20. The method according to claim 17, characterized in that The push message request also includes at least one tag, and push content corresponding to each tag under each push condition; In the case where the push message request is a dynamic push request, determining at least one push condition in the dynamic push request includes: In the case where the push message request is a dynamic push request, extracting variable parameters corresponding to each of the tags; Parse the push conditions corresponding to the variable parameters.
21. The method according to claim 17, characterized in that The push message request further includes at least one tag, push content corresponding to each push condition of each tag, and a message type identifier corresponding to each tag; when the push message request is a dynamic push request, determining at least one push condition in the dynamic push request includes: When the message type identifier of the first tag is the first identifier, extracting the variable parameter corresponding to the first tag; Parse the push condition corresponding to the variable parameter of the first tag.
22. A message push method, characterized in that: The method is applied to a server, and the method comprises: Receive push message settings information; Determine the message type of the push message setting information; Based on the message type of the push message setting information, generating a push message request including a message type identifier; the message type identifier is used to indicate the message type of the push message request; The push message request is sent to each target push terminal respectively.
23. The method according to claim 22, characterized in that The push message setting information includes at least one push condition, at least one tag, push content corresponding to each tag, and target push terminal information.
24. The method according to claim 23, characterized in that The determining the message type of the push message setting information includes: In a case where the push message setting information includes at least one push condition, determining that the message type of the push message setting information is a dynamic message; In a case where the push message setting information does not include the push condition, it is determined that the message type of the push message setting information is a static message.
25. A terminal, characterized in that: The terminal includes a memory and a processor; the memory and the processor are coupled; the memory is used to store computer program code, and the computer program code includes computer instructions. When the processor executes the computer instructions, the terminal executes the method as described in any one of claims 1-21.
26. A server, characterized in that: The server includes a memory and a processor; the memory and the processor are coupled; the memory is used to store computer program code, and the computer program code includes computer instructions. When the processor executes the computer instructions, the server executes the method as described in any one of claims 22-24.
27. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program or instructions. When the computer program or instructions are executed, the method according to any one of claims 1 to 24 is executed.
28. A computer program product, characterized in that The computer program product comprises: a computer program or instructions, and when the computer program or instructions are run on a computer, the computer is caused to perform the method according to any one of claims 1 to 24.