A message pushing method and device, computer device and storage medium
By determining the target message attributes and user status of the message to be pushed, and rationally scheduling the display time, the problem of messages not being read in a timely manner when users are busy is solved, achieving resource conservation and improved user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-01
- Publication Date
- 2026-04-14
AI Technical Summary
When users are busy, push notifications may not be read in a timely manner, leading to wasted resources and a degraded user experience.
By obtaining the target message attributes and the user's current state, the appropriate display time is determined, and message attributes and user preferences are considered when pushing messages.
Reduce waste of message resources, improve user experience, and ensure that users read messages at the appropriate time.
Smart Images

Figure CN115580651B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of computer technology, and more specifically, to a message push method, apparatus, computer device, and storage medium. Background Technology
[0002] Push notifications are an effective way to reach users, allowing us to deliver news, chat messages, and other information promptly. However, in some scenarios, users are busy and may not read push notifications immediately, leading to a waste of message resources and potentially disturbing users, thus reducing their user experience. Summary of the Invention
[0003] This disclosure provides at least one message push method, apparatus, computer device, and storage medium.
[0004] In a first aspect, embodiments of this disclosure provide a message push method applied to a user terminal of a target user. The method includes: acquiring a message to be pushed; determining a target message attribute of the message to be pushed; the target message attribute indicating whether it is necessary to determine the display timing of the message to be pushed; if the target message attribute indicates that it is necessary to determine the display timing of the message to be pushed, acquiring the current state of the user terminal; the current state includes a first state or a second state; the first state indicating that the user is willing to read the message to be pushed, and the second state indicating that the user is not willing to read the message to be pushed; determining the display timing of the message to be pushed based on the current state, and displaying the message to be pushed according to the display timing.
[0005] In one optional implementation, the target message attribute includes at least one of the following: an attribute indicating the message type, which includes instant messages and non-instant messages; or an attribute indicating the message delivery method; or an attribute indicating whether it belongs to a message set by the user that needs to be pushed instantly, or whether it belongs to a message set by the user that does not need to be pushed instantly.
[0006] In one optional implementation, determining the target message attribute of the message to be pushed includes: determining the target message attribute based on the target field value in the message body of the message to be pushed.
[0007] In one optional implementation, determining the current state of the user terminal includes: acquiring current feature data of the user terminal; inputting the current feature data into a pre-trained state recognition model to obtain the current state of the user terminal output by the state recognition model; the state recognition model is trained using multiple sample data, and the sample data includes: sample messages, target message attributes of the sample messages, feature data of the user terminal samples when the sample messages are pushed, and tag information characterizing whether the user terminal samples consume the sample messages after the sample messages are pushed.
[0008] In one optional implementation, the current feature data of the user terminal includes feature data in at least one of the following dimensions: device status feature data, current time feature data, and human-computer interaction feature data; wherein, the device status feature includes at least one of device movement feature, battery level feature, volume feature, screen display feature, and network feature, and the human-computer interaction feature includes at least one of human-computer distance feature and application usage feature.
[0009] In one optional implementation, determining the timing for displaying the message to be pushed based on the current state includes: if the current state is determined to be a first state, determining that the timing for displaying the message to be pushed is the current moment; if the current state is determined to be a second state, determining that the message to be pushed needs to be displayed only when the user terminal is determined to be in the first state again.
[0010] In one optional implementation, obtaining the message to be pushed and determining the target message attribute of the message to be pushed includes: reading each undisplayed message to be pushed from a local database; determining the time interval between the arrival time of the message to be pushed and the current time; and determining the target message attribute of the message to be pushed if the determined time interval is less than a set duration threshold.
[0011] In an optional implementation, the method further includes: when the determined time interval is greater than a set duration threshold, displaying at least one of the messages to be pushed in a distributed manner; the distributed display means that when there are multiple messages to be pushed, the messages to be pushed are displayed according to a preset time interval.
[0012] Secondly, embodiments of this disclosure also provide a message push device applied to a user terminal of a target user. The device includes: a first acquisition module, configured to acquire a message to be pushed and determine a target message attribute of the message to be pushed; the target message attribute is used to indicate whether it is necessary to determine the display timing of the message to be pushed; a second acquisition module, configured to acquire the current state of the user terminal when the target message attribute indicates that it is necessary to determine the display timing of the message to be pushed; the current state includes a first state or a second state; the first state is used to indicate that the user is willing to read the message to be pushed, and the second state is used to indicate that the user is not willing to read the message to be pushed; and a display module, configured to determine the display timing of the message to be pushed based on the current state and display the message to be pushed according to the display timing.
[0013] In one optional implementation, the target message attribute includes at least one of the following: an attribute indicating the message type, which includes instant messages and non-instant messages; or an attribute indicating the message delivery method; or an attribute indicating whether it belongs to a message set by the user that needs to be pushed instantly, or whether it belongs to a message set by the user that does not need to be pushed instantly.
[0014] In one optional implementation, when determining the target message attribute of the message to be pushed, the first acquisition module is configured to: determine the target message attribute based on the target field value in the message body of the message to be pushed.
[0015] In one optional implementation, when determining the current state of the user terminal, the second acquisition module is configured to: acquire the current feature data of the user terminal; input the current feature data into a pre-trained state recognition model to obtain the current state of the user terminal output by the state recognition model; the state recognition model is trained using multiple sample data, and the sample data includes: sample messages, target message attributes of the sample messages, feature data of the user terminal samples when the sample messages are pushed, and tag information characterizing whether the user terminal samples consume the sample messages after the sample messages are pushed.
[0016] In one optional implementation, the current feature data of the user terminal includes feature data in at least one of the following dimensions: device status feature data, current time feature data, and human-computer interaction feature data; wherein, the device status feature includes at least one of device movement feature, battery level feature, volume feature, screen display feature, and network feature, and the human-computer interaction feature includes at least one of human-computer distance feature and application usage feature.
[0017] In one optional implementation, when the display module determines the timing for displaying the message to be pushed based on the current state, it is configured to: if the current state is determined to be a first state, determine that the timing for displaying the message to be pushed is the current moment; if the current state is determined to be a second state, determine that the message to be pushed needs to be displayed only when the user terminal is determined to be in the first state again.
[0018] In one optional implementation, when the first acquisition module acquires the message to be pushed and determines the target message attribute of the message to be pushed, it is configured to: read each message to be pushed that has not been displayed from the local database; determine the time interval between the arrival time of the message to be pushed and the current time; and determine the target message attribute of the message to be pushed if the determined time interval is less than a set duration threshold.
[0019] In an optional implementation, the first acquisition module is further configured to: when the determined time interval is greater than a set duration threshold, display at least one of the messages to be pushed in a distributed manner; the distributed display means that when there are multiple messages to be pushed, the messages to be pushed are displayed according to a preset time interval.
[0020] Thirdly, an optional implementation of this disclosure also provides a computer device, a processor, and a memory, wherein the memory stores machine-readable instructions executable by the processor, and the processor is configured to execute the machine-readable instructions stored in the memory. When the machine-readable instructions are executed by the processor, the steps of the first aspect above, or any possible implementation of the first aspect, are performed.
[0021] Fourthly, an optional implementation of this disclosure also provides a computer-readable storage medium storing a computer program that, when run, performs the steps of the first aspect or any possible implementation of the first aspect.
[0022] This disclosure provides a message push method, apparatus, computer device, and storage medium. After acquiring messages to be pushed, it categorizes messages whose display timing needs to be determined based on their target message attributes. When determining the display timing for these messages, it uses the user's current state to determine whether the user is willing to read the messages. This approach considers both the message's ability to delay display and the user's willingness to read the messages, ensuring that different messages are pushed to the user at appropriate times, maximizing the likelihood of reading the messages, reducing waste of message resources, and improving the user experience.
[0023] To make the above-mentioned objects, features and advantages of this disclosure more apparent and understandable, preferred embodiments are described below in detail with reference to the accompanying drawings. Attached Figure Description
[0024] To more clearly illustrate the technical solutions of the embodiments of this disclosure, the accompanying drawings used in the embodiments will be briefly described below. These drawings are incorporated in and constitute a part of this specification. They illustrate embodiments conforming to this disclosure and, together with the specification, serve to explain the technical solutions of this disclosure. It should be understood that the following drawings only show some embodiments of this disclosure and should not be considered as limiting the scope. Those skilled in the art can obtain other related drawings based on these drawings without creative effort.
[0025] Figure 1 A flowchart of a message push method provided by an embodiment of this disclosure is shown;
[0026] Figure 2 The flowchart shown is a specific embodiment of message push provided by this disclosure.
[0027] Figure 3 A schematic diagram of the message push device provided in an embodiment of this disclosure is shown;
[0028] Figure 4 A schematic diagram of a computer device provided in an embodiment of this disclosure is shown. Detailed Implementation
[0029] To make the objectives, technical solutions, and advantages of the embodiments of this disclosure clearer, the technical solutions of the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this disclosure, and not all of them. The components of the embodiments of this disclosure described and shown herein can generally be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of this disclosure is not intended to limit the scope of the claimed disclosure, but merely represents selected embodiments of this disclosure. All other embodiments obtained by those skilled in the art based on the embodiments of this disclosure without inventive effort are within the scope of protection of this disclosure.
[0030] Research has found that when pushing information to users, since these messages may include real-time chat messages, they are usually displayed directly to the user. However, when users are busy, they are very likely not to read other messages in the push notifications that do not require immediate attention. This wastes message resources, can easily disturb users, and degrades the user experience.
[0031] Based on the above research, this disclosure provides a message push method. After acquiring the messages to be pushed, the method categorizes the messages whose display timing needs to be determined based on their target message attributes. When determining the display timing for these messages, the method judges whether the user is currently willing to read the messages based on the user's current state, thus determining a suitable display time for each message. This approach considers both the message's ability to delay display and the user's willingness to read the messages, enabling different messages to be pushed to the user at appropriate times. This ensures a higher probability that the user will read the pushed messages, reduces waste of message resources, and improves the user experience.
[0032] The shortcomings of the above solutions are the result of the inventor's practical experience and careful research. Therefore, the discovery process of the above problems and the solutions proposed in this disclosure below should be considered as the inventor's contribution to this disclosure.
[0033] It should be noted that similar labels and letters in the following figures indicate similar items. Therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures.
[0034] To facilitate understanding of this embodiment, a message push method disclosed in this disclosure will first be described in detail. The execution entity of the message push method provided in this disclosure is generally a computer device with certain computing capabilities. This computer device may include, for example, a terminal device, a server, or other processing devices. The terminal device may be a user equipment (UE), mobile device, user terminal, terminal, cellular phone, cordless phone, personal digital assistant (PDA), handheld device, computing device, in-vehicle device, wearable device, etc. In some possible implementations, this message push method can be implemented by a processor calling computer-readable instructions stored in memory.
[0035] The message push method provided in this disclosure is described below using a user terminal where the execution subject is the target user as an example. Specifically, the message push method provided in this application can be applied to applications or web platforms that have the function of pushing information to users, such as social software, game software, and browsers. Users of applications or web platforms can receive messages pushed to them. The user described here is the target user described in this application, and the target user's terminal is the device used by the target user when using the application or web platform.
[0036] See Figure 1 The diagram shows a flowchart of a message push method provided in an embodiment of this disclosure. The method includes steps S101 to S103, wherein:
[0037] S101: Obtain the message to be pushed and determine the target message attribute of the message to be pushed; the target message attribute is used to indicate whether it is necessary to determine the display timing of the message to be pushed.
[0038] S102: When the target message attribute indicates that it is necessary to determine the display timing of the message to be pushed, obtain the current state of the user terminal; the current state includes a first state or a second state; the first state is used to indicate the state in which the user is willing to read the message to be pushed, and the second state is used to indicate the state in which the user is not willing to read the message to be pushed.
[0039] S103: Determine the timing for displaying the message to be pushed based on the current state, and display the message to be pushed according to the timing.
[0040] The above S101 to S103 are explained in detail below.
[0041] Regarding S101 above, the message to be pushed can specifically be a message pushed from the server side of the aforementioned application or web platform to the user's terminal. Different applications or web platforms push different messages. Taking social software applications as an example, messages pushed to the user's terminal may specifically include notification messages instructing the target user's friends to send chat messages, or notification messages instructing friends to send text, voice, or video invitations; messages sent by the platform may specifically include real-time trending news, advertising tweets, or push messages from the fields of entertainment, sports, and games.
[0042] Different push notifications have varying degrees of timeliness, importance, and user preferences, thus requiring different display times when shown to the target user. For example, a notification that a friend has sent a chat message should be displayed immediately if the message is a voice or video invitation. Similarly, push notifications about real-time trending news, such as forecasts of major natural disasters, should also be displayed immediately. However, push notifications from less frequently followed advertising or entertainment platforms have lower timeliness and do not require immediate display; therefore, a delayed display may be appropriate.
[0043] Therefore, for a message to be pushed, it has attribute factors that can affect the timing of its display, referred to in this application as target message attributes. In one possible scenario, according to different classification criteria, target message attributes specifically include, but are not limited to, the following:
[0044] a1. An attribute indicating the message type.
[0045] The message types specifically include instant messages and non-instant messages. Instant messages are those with high timeliness and are important to the user, requiring an immediate response. These messages need to be displayed to the user immediately. For example, push notifications for natural disasters with extreme weather changes, as mentioned above, can be classified as instant messages. Non-instant messages are those with relatively low timeliness, not requiring immediate viewing by the user, such as daily entertainment news.
[0046] Generally, the message type can be pre-determined for each message that may be pushed to the user, so that the message type can be quickly determined after the message to be pushed is obtained. In one possible case, for a message to be pushed that is classified as an instant message, it is considered that it is not necessary to determine the display time of the message to be pushed, and it will be displayed immediately after the message is obtained; for a message to be pushed that is classified as a non-instant message, it is considered that it is necessary to determine the display time of the message to be pushed, so as to clarify when the message to be pushed will be displayed.
[0047] a2. An attribute indicating how the message is carried.
[0048] The methods of delivering messages can specifically include notification messages and tweets. Notification messages, for example, include alerts about voice or video invitations sent by friends, as described above. Tweet messages can include news articles or trending videos posted on social media.
[0049] When the specific classification of message delivery method is determined according to the above method, for example, for a message to be pushed that is classified as a reminder message, it is considered that it is not necessary to determine the display time of the message to be pushed, while for a message to be pushed that is classified as a tweet message, it is considered that it is necessary to determine the display time of the message to be pushed.
[0050] a3. Indicates whether a message belongs to the user's settings that require immediate push notifications, or whether a message belongs to the user's settings that do not require immediate push notifications.
[0051] Since different users have different interests—for example, some users are more interested in city news while others are more interested in entertainment news—it's possible to selectively determine which messages require immediate push notifications based on user settings. Alternatively, if users haven't explicitly specified which messages require immediate push notifications through settings, messages can be categorized into preferred and unpreferred messages based on user preferences when selecting different types of messages. Preferred messages can then be designated as those requiring immediate push notifications, while unpreferred messages can be set as those not requiring immediate push notifications.
[0052] In this way, through user settings, when a message to be pushed is received, it can be determined whether to push the message immediately based on the message push method set by the user.
[0053] In practice, to facilitate the quick and accurate determination of the target message attributes of a message to be pushed when it is obtained, the target message attributes can be determined based on the target field values in the message body of the message to be pushed.
[0054] Specifically, the message body of the message to be pushed indicates the specific information to be pushed. In one possible scenario, to ensure that the target message attributes expressed by the included target fields can be directly used to indicate whether the message needs to be displayed immediately, the target fields can be set directly as boolean variables of type boolean. Thus, by judging the value of the target field, i.e., the boolean value, the target message attributes can be determined. For example, setting the target field to "allow_delay_show", and determining that when the boolean value of the target field "allow_delay_show" is false, the target message attributes of the message to be pushed indicate that the message needs to be displayed immediately, while when the boolean value of the target field "allow_delay_show" is true, the target message attributes of the message to be pushed indicate that the message does not need to be displayed immediately.
[0055] Alternatively, based on the various target message attributes described above, the target fields can be set accordingly, and the specific target message attribute type matched under the correspondence between various target fields and their values can be determined. This allows us to identify the target message attribute of the message to be pushed by using different target field values under different target fields. The specific approach can be determined based on the actual situation and is not limited here.
[0056] In this way, when a message to be pushed is obtained, only the value of the label field of a specific field in the message body needs to be determined to identify the target message attribute, which is more convenient and efficient. Through the above explanation, for the obtained message to be pushed, by determining the target message attribute, it is possible to determine whether the message needs to be displayed immediately, that is, whether the timing of the message display needs to be determined.
[0057] Regarding S102 above, for push messages whose display timing needs to be determined, that is, some push messages that do not need to be displayed immediately, in order to reduce the disturbance to users in a busy state and to reduce the waste of resources caused by users not being able to read the push messages, the current state of the user's terminal is specifically judged: if the current state is the first state, it indicates that the user is willing to read the push message, and it also indicates that the target user is currently free to view the message, then the push message is displayed; if the current state is the second state, it indicates that the user is not willing to read the push message, and it also indicates that the user is currently busy and may not be free to view the message, then the push message is displayed with a delay.
[0058] Specifically, since user actions on the client-side will cause changes in the client-side data, the user's actions can be indirectly represented by the current characteristic data of the client-side to determine whether the user currently has free time to view messages. In order to determine the current state of the client-side, this embodiment of the disclosure selects to obtain the current characteristic data of the client-side to determine the current state of the client-side.
[0059] The current feature data of the user terminal includes feature data in at least one of the following dimensions:
[0060] b1. Equipment status characteristic data.
[0061] The device status features include at least one of device movement features, battery level features, volume features, screen display features, and network features, which are used to directly characterize the status of the user's device and indirectly indicate whether the user is currently busy.
[0062] Specifically, device motion characteristics can indicate whether the user is currently moving the device, suggesting whether the user is walking or in another state where messages cannot be viewed. Device motion characteristics can be determined using acceleration data obtained from motion sensors or gyroscopes on the device. However, if device motion characteristics determine that the user is walking, it is not suitable to display push notifications.
[0063] Battery characteristics can represent the current battery status or charging / discharging status of a device. If the device's battery is low, displaying push notifications may further deplete the battery; therefore, it is not advisable to display push notifications when the battery is low. Furthermore, if a user views displayed messages while the device is charging, this is considered unsafe behavior, and therefore, displaying push notifications is also inappropriate. When determining battery characteristics, the specific numerical value of the battery status can be directly expressed as a percentage, such as 90% or 10%. The characteristic of whether charging is in progress can be further subdivided into different states such as charging, discharging, not fully charged, fully charged, and unknown status.
[0064] Volume characteristics can, for example, represent a user's current activity state. If the music or other media volume is at a certain level, it can be assumed that the user is currently listening to music or watching a video and is not interested in reading messages. If the call volume is at a certain level, it can be assumed that the user is currently making a call and is also unable to view push notifications, thus falling into the second state. Specifically, when determining volume characteristics, the volume level of different audio types can be obtained separately. In one possible scenario, the current user activity state can also be determined by combining the volume levels of multiple different audio types; the specific approach can be determined based on the actual situation and is not limited here.
[0065] Screen display characteristics can indicate, for example, whether a user is likely to see the push notification. Specifically, screen display characteristics can indicate whether the device is currently on and / or locked. In one possible scenario, if the device is in a screen-off or locked state, the user cannot see the push notification, so it is not suitable to display it at this time; however, when the screen is on or unlocked, the user can easily see the message displayed on the interface, so it is appropriate to show the user the push notification in this case. In addition, for the screen-on state, it can be further subdivided into other applications occupying the screen or displaying the system screen. When other applications occupy the screen, it is also possible to choose not to display the push notification to reduce interference with the user's use of other applications.
[0066] Network characteristics can characterize a device's network status. Specifically, network status is determined by the current network signal, such as whether there is a network connection, whether mobile data or Wi-Fi is being used, and whether the connection is 2G, 3G, 4G, or 5G when using mobile data. In one possible scenario, when there is no network connection, it's possible to choose not to display push notifications to the user to prevent them from being unable to access the displayed details. However, when the device is connected to Wi-Fi, it's possible to choose to display push notifications to the user.
[0067] b2. Current time feature data.
[0068] Current time feature data can be, for example, the current time itself, which can be determined by the device's current timestamp. Alternatively, it can indicate whether the user is in a period of free time, such as after a meal or during a commute when the user is likely to view the push notification. If the current time feature data indicates that the user is in a period of free time, then the push notification can be selected.
[0069] b3. Human-computer interaction feature data.
[0070] Among them, human-computer interaction feature data includes at least one of human-computer distance features and application usage features, which are specifically used to directly represent the user's usage of the device they hold.
[0071] Specifically, human-machine distance features can characterize the distance between the user and the device. For example, the distance can be represented by values collected by a camera or sensor, with larger values indicating greater distance. Specifically, a distance within 5 centimeters indicates the user is too close to the device, such as when making a phone call; while a distance greater than 5 centimeters indicates the user is at a certain distance from the device, allowing them to view messages displayed on the device's graphical interface, thus enabling them to choose to display push notifications.
[0072] Application usage characteristics can include, for example, whether the user is currently using the application software, and further, which type of application software the user is using. For instance, if the user is currently browsing entertainment news in a browser, is not in a busy state, and is more inclined to want to receive more information, then the push notifications can be displayed; however, if the user is currently playing a game, they will not view the displayed messages, and displaying the messages may obstruct the game interface and affect the user, resulting in a poor experience, so the display of push notifications will be delayed.
[0073] The above only provides some examples of feature data under different dimensions. Other possible feature data, or feature data subdivided under one dimension, are also within the scope of protection of this application, and will not be described one by one here.
[0074] In practice, the current feature data of the user terminal may be complex, not limited to a single feature data in one dimension, but possibly different feature data in multiple dimensions. Therefore, the user's current state cannot be simply determined based on a single feature data. Therefore, in this embodiment, a pre-trained state recognition model is specifically selected to identify the acquired current feature data of the user terminal. In implementation, the current feature data can be used as input data for the pre-trained state recognition model, and the model's output data is the user terminal's current state.
[0075] When training the state recognition model, multiple sample data can be used. These sample data include: sample messages, target message attributes of the sample messages, feature data of the user-side sample when the sample message is pushed, and tag information indicating whether the user-side sample has consumed the sample message after it has been pushed.
[0076] For example, a sample data set may specifically include: sample message A, the target message attribute of which is entertainment topic message; the characteristic data of the user sample when the sample message is pushed are 50% battery, screen on, Wi-Fi network, and user 10 cm away from the device; and the tag information is that the user sample consumed the sample message within a preset time after it was pushed. Here, since users do not immediately view and consume the message upon its initial display, a preset time is set, and viewing the message within the preset time is considered consumption. The preset time can be determined based on the user's acceptance of the immediacy of viewing the message. For example, if viewing the message within 20 minutes of its display is considered an acceptable and reasonable time range, then the preset time is set to 20 minutes.
[0077] Here, in order to focus on determining the correspondence between different current feature data and different current states when training the state recognition model using sample data, various pieces of information in the sample data described above can be encoded to obtain sample data with a simpler data format. This makes it easier for the state recognition model to learn features from the sample data. The specific encoding method can be determined based on the various possibilities of different information in the actual situation and is not limited.
[0078] The state recognition model can be trained on the server side and sent to the client side after the application starts. Upon receiving the state recognition model from the server, the client can use it to identify and process its current state. Furthermore, if the server updates the state recognition model, it can notify the client to receive the updated model and update its currently stored state recognition model.
[0079] In this way, by acquiring the current feature data of the user terminal and processing it through the pre-trained state recognition model, the current state of the user terminal can be determined, that is, whether it is currently in the first state or the second state.
[0080] Regarding S103 above, given the current state of the user's terminal, the timing for displaying the message to be pushed can be determined based on the current state, and the message to be pushed can be displayed according to the determined display timing.
[0081] In specific implementation, if the current state is determined to be the first state, the timing for displaying the message to be pushed can be determined to be the current moment; if the current state is determined to be the second state, it can be determined that the message to be pushed should be displayed only when the user terminal is determined to be in the first state again.
[0082] Regarding the scenario described above, where in the second state, the system waits for the next confirmation of whether the user's state is in the first state before displaying the message to be pushed, the interval between these confirmations can be determined based on the actual situation, such as 5 minutes. The reason for selecting a time interval for confirming the user's state is that the user's state does not remain in one state continuously but changes dynamically over time. Furthermore, as explained above, the user's state is determined based on feature data, which is time-sensitive and requires processing. Therefore, the user's state is not determined constantly. Thus, in this embodiment, selecting an appropriate time interval for confirming the user's state ensures timely awareness of changes in the user's state over time while reducing the computational cost of frequent state confirmations.
[0083] In one possible scenario, if a user remains in the second state for an extended period, such as half an hour, according to the above explanation, the message to be pushed should wait for half an hour. However, for a message to be pushed, exceeding a certain timeframe can significantly impact its timeliness, potentially causing the user to lose interest. Therefore, a specific time threshold, such as half an hour, can be set for the delayed display of messages to be pushed. If the message to be pushed has not been displayed after half an hour, and the current state remains in the second state, the message to be pushed will still be displayed without waiting for a change in the user's state.
[0084] Furthermore, messages awaiting display can be stored in the form of a queue or in a designated data cache unit, such as a local database. To limit the maximum delay in displaying these messages, their arrival times can also be recorded and stored during storage.
[0085] The above embodiments specifically describe the display of newly received push notifications. However, in actual application use, there may be situations where other push notifications need to be displayed. For example, if, during application use, the user's current state is the second state, and there are already stored messages to be displayed in the local database, but the user chooses to close the application, these stored messages will not be displayed. However, when the user reopens the application, it is necessary to determine whether to display the existing stored messages and how to display them.
[0086] For example, for push notifications stored when the application was last closed, the time interval for the push notifications can be determined based on the arrival time recorded for the push notifications and the current time. The time interval can be used to determine whether the push notification needs to wait until the user's current state changes to the first state before being displayed. For instance, if the preset duration threshold is half an hour, for push notifications less than half an hour old, a waiting period can be allowed before display. Therefore, by determining the target message attributes and the current state of the push notifications as described above, a suitable display time can be determined and displayed.
[0087] For messages awaiting push notifications that have been pending for more than half an hour, to ensure their timeliness, they can be displayed directly without further waiting. Specifically, if there are multiple messages awaiting push notifications, displaying them all at once might cause significant disruption to the user. Therefore, it's advisable to display at least one message at a time, spaced out. This "spaced out" means displaying multiple messages at preset time intervals, such as every two minutes.
[0088] In another possible scenario, if a user logs back into the application after a significant interval, such as more than three days, the messages not displayed during the previous login can be considered missing and invalid. Since it can be determined that the user will no longer be interested, the stored content corresponding to these messages can be directly released from local storage. This avoids displaying outdated messages to the user, preventing disruption, and also frees up local storage space for newly received push notifications when the user is in a second state.
[0089] In another embodiment of this disclosure, a specific implementation of message push is provided to illustrate the message push process. See also Figure 2 The diagram shown is a flowchart of a specific embodiment of message push provided in this disclosure, wherein:
[0090] S20: The server sends the state recognition model to the user.
[0091] Since the server only needs to send the status recognition model to the user when the user uses it for the first time or when there is a model update, and it is not necessary to send the model every time a message is displayed, the dashed line is used here.
[0092] S21: The server sends the message to be pushed to the user.
[0093] The "pending messages" mentioned here specifically refer to new messages that the server sends to the user in real time.
[0094] S22: The client reads each undisplayed message to be pushed from the local database.
[0095] The undisplayed pending push messages mentioned here specifically refer to the messages that were stored during the previous use of the application but were not displayed, as described above.
[0096] S23: The user terminal determines whether the time interval between the arrival time of the push notification and the current time is less than a preset duration threshold. If not, proceed to S24. If yes, proceed to S25.
[0097] S24: Distribute at least one message to be pushed out in a distributed manner.
[0098] S25: Determine the target message attributes of the message to be pushed.
[0099] S26: Determine whether the target message attribute indicates that the timing of display needs to be determined. If yes, proceed to S27; otherwise, proceed to S29.
[0100] S27: Obtain the current feature data of the user terminal and use the state recognition model to determine the current state of the user terminal.
[0101] S28: Determine if the current state is the first state. If yes, execute S29; otherwise, jump to execute S23.
[0102] S29: Display messages to be pushed.
[0103] The specific process of the above steps can be found in the detailed explanation of the message push method above, and will not be repeated here.
[0104] In this way, when pushing messages, both messages sent immediately by the server and messages left undisplayed before the application restarts are considered. Furthermore, when displaying messages to the user, the message attributes are taken into account to determine if delayed display is appropriate, as well as the user's current state and whether they are willing to read the message, and whether pushing the message will cause interference. Therefore, different messages can be pushed to the user at appropriate times, ensuring a higher probability of user reading, reducing waste of message resources, and improving the user experience.
[0105] Those skilled in the art will understand that, in the above-described method of the specific implementation, the order in which each step is written does not imply a strict execution order and does not constitute any limitation on the implementation process. The specific execution order of each step should be determined by its function and possible internal logic.
[0106] Based on the same inventive concept, this disclosure also provides a message push device corresponding to the message push method. Since the principle of the device in this disclosure for solving the problem is similar to the message push method described above in this disclosure, the implementation of the device can refer to the implementation of the method, and the repeated parts will not be described again.
[0107] Reference Figure 3 The diagram shown is a schematic of a message push device provided in an embodiment of this disclosure. The message push device is applied to the user terminal of a target user. The device includes: a first acquisition module 31, a second acquisition module 32, and a display module 33; wherein,
[0108] The first acquisition module 31 is used to acquire the message to be pushed and determine the target message attribute of the message to be pushed; the target message attribute is used to indicate whether it is necessary to determine the display timing of the message to be pushed.
[0109] The second acquisition module 32 is used to acquire the current state of the user terminal when the target message attribute indicates that the display timing of the message to be pushed needs to be determined; the current state includes a first state or a second state; the first state is used to indicate that the user is willing to read the message to be pushed, and the second state is used to indicate that the user is not willing to read the message to be pushed.
[0110] The display module 33 is used to determine the timing of displaying the message to be pushed based on the current state, and to display the message to be pushed according to the timing.
[0111] In one optional implementation, the target message attribute includes at least one of the following: an attribute indicating the message type, which includes instant messages and non-instant messages; or an attribute indicating the message delivery method; or an attribute indicating whether it belongs to a message set by the user that needs to be pushed instantly, or whether it belongs to a message set by the user that does not need to be pushed instantly.
[0112] In one optional implementation, when determining the target message attribute of the message to be pushed, the first acquisition module 31 is used to: determine the target message attribute based on the target field value in the message body of the message to be pushed.
[0113] In one optional implementation, when determining the current state of the user terminal, the second acquisition module 32 is configured to: acquire the current feature data of the user terminal; input the current feature data into a pre-trained state recognition model to obtain the current state of the user terminal output by the state recognition model; the state recognition model is trained using multiple sample data, and the sample data includes: sample messages, target message attributes of the sample messages, feature data of the user terminal samples when the sample messages are pushed, and tag information characterizing whether the user terminal samples consume the sample messages after the sample messages are pushed.
[0114] In one optional implementation, the current feature data of the user terminal includes feature data in at least one of the following dimensions: device status feature data, current time feature data, and human-computer interaction feature data; wherein, the device status feature includes at least one of device movement feature, battery level feature, volume feature, screen display feature, and network feature, and the human-computer interaction feature includes at least one of human-computer distance feature and application usage feature.
[0115] In one optional implementation, when the display module 33 determines the display timing of the message to be pushed based on the current state, it is configured to: determine the display timing of the message to be pushed as the current moment if the current state is determined to be a first state; and determine that the message to be pushed should be displayed only when the user terminal is determined to be in the first state again if the current state is determined to be a second state.
[0116] In one optional implementation, when the first acquisition module 31 acquires the message to be pushed and determines the target message attribute of the message to be pushed, it is configured to: read each message to be pushed that has not been displayed from the local database; determine the time interval between the arrival time of the message to be pushed and the current time; and determine the target message attribute of the message to be pushed if the determined time interval is less than a set duration threshold.
[0117] In an optional implementation, the first acquisition module 31 is further configured to: when the determined time interval is greater than a set duration threshold, display at least one of the messages to be pushed in a distributed manner; the distributed display means that when there are multiple messages to be pushed, the messages to be pushed are displayed according to a preset time interval.
[0118] The processing flow of each module in the device and the interaction flow between each module can be referred to the relevant descriptions in the above method embodiments, and will not be detailed here.
[0119] This disclosure also provides a computer device, such as... Figure 4The diagram shown is a schematic representation of a computer device structure provided in an embodiment of this disclosure, including:
[0120] Processor 10 and memory 20; the memory 20 stores machine-readable instructions executable by processor 10, and processor 10 executes the machine-readable instructions stored in memory 20. When the machine-readable instructions are executed by processor 10, processor 10 performs the following steps:
[0121] The system retrieves a message to be pushed to and determines the target message attribute of the message to be pushed to. The target message attribute indicates whether it is necessary to determine the display timing of the message to be pushed to. If the target message attribute indicates that it is necessary to determine the display timing of the message to be pushed to, the system retrieves the current state of the user's terminal. The current state includes a first state or a second state. The first state indicates that the user is willing to read the message to be pushed to, and the second state indicates that the user is not willing to read the message to be pushed to. The system determines the display timing of the message to be pushed to based on the current state and displays the message to be pushed to according to the display timing.
[0122] The aforementioned memory 20 includes a main memory 210 and an external memory 220; the main memory 210, also known as internal memory, is used to temporarily store the computational data in the processor 10, as well as the data exchanged with external memory 220 such as a hard disk. The processor 10 exchanges data with the external memory 220 through the main memory 210.
[0123] The specific execution process of the above instructions can be referred to the steps of the message push method described in the embodiments of this disclosure, and will not be repeated here.
[0124] This disclosure also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, performs the steps of the message push method described in the above method embodiments. The storage medium can be a volatile or non-volatile computer-readable storage medium.
[0125] This disclosure also provides a computer program product carrying program code. The program code includes instructions that can be used to execute the steps of the message push method described in the above method embodiments. For details, please refer to the above method embodiments, which will not be repeated here.
[0126] The aforementioned computer program product can be implemented through hardware, software, or a combination thereof. In one optional embodiment, the computer program product is specifically embodied in a computer storage medium; in another optional embodiment, the computer program product is specifically embodied in a software product, such as a software development kit (SDK), etc.
[0127] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems and devices described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here. In the several embodiments provided in this disclosure, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. Furthermore, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Another point is that the displayed or discussed mutual coupling or direct coupling or communication connection may be through some communication interfaces; the indirect coupling or communication connection of devices or units may be electrical, mechanical, or other forms.
[0128] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0129] In addition, the functional units in the various embodiments of this disclosure can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0130] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a processor-executable, non-volatile, computer-readable storage medium. Based on this understanding, the technical solution of this disclosure, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this disclosure. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0131] Finally, it should be noted that the above-described embodiments are merely specific implementations of this disclosure, used to illustrate the technical solutions of this disclosure, and not to limit it. The protection scope of this disclosure is not limited thereto. Although this disclosure has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that any person skilled in the art can still modify or easily conceive of changes to the technical solutions described in the foregoing embodiments, or make equivalent substitutions for some of the technical features, within the scope of the technology disclosed in this disclosure. Such modifications, changes, or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this disclosure, and should all be covered within the protection scope of this disclosure. Therefore, the protection scope of this disclosure should be determined by the protection scope of the claims.
Claims
1. A message push method, characterized in that, The method, applied to a user terminal of the target user, includes: Obtain the message to be pushed and determine the target message attribute of the message to be pushed; wherein, the target message attribute is determined based on the target field value in the message to be pushed, and the target message attribute is used to indicate whether it is necessary to determine the display timing of the message to be pushed; When the target message attribute indicates that it is necessary to determine the timing of the display of the message to be pushed, the current feature data of the user terminal is obtained, wherein the current feature data is used to indirectly represent the user's operation behavior; The current feature data is input into a pre-trained state recognition model to obtain the current state of the user terminal output by the state recognition model; wherein, the current feature data of the user terminal includes different feature data under the following multiple dimensions: device state feature data, current time feature data, and human-computer interaction feature data; the current state includes a first state or a second state; the first state is used to indicate the state in which the user is willing to read the message to be pushed, and the second state is used to indicate the state in which the user is not willing to read the message to be pushed; The state recognition model is trained using multiple sample data, which include: The sample message, the target message attribute of the sample message, the feature data of the user terminal sample when the sample message is pushed, and the tag information that indicates whether the user terminal sample consumes the sample message after the sample message is pushed; The timing for displaying the message to be pushed is determined based on the current state, and the message to be pushed is displayed according to the timing.
2. The method according to claim 1, characterized in that, The target message attribute includes at least one of the following: An attribute indicating the message type, which includes instant messages and non-instant messages; or, An attribute indicating how the message is carried; or, Indicates whether a message belongs to the user's settings that require immediate push notifications, or whether a message belongs to the user's settings that do not require immediate push notifications.
3. The method according to claim 1, characterized in that, The device status features include at least one of device movement features, battery level features, volume features, screen display features, and network features. The human-computer interaction features include at least one of human-computer distance features and application usage features.
4. The method according to claim 1, characterized in that, Determining the timing of displaying the message to be pushed based on the current state includes: If the current state is determined to be the first state, the timing for displaying the message to be pushed is determined to be the current moment; If the current state is determined to be the second state, it is determined that the message to be pushed should be displayed only when the user terminal is determined to be in the first state again.
5. The method according to claim 1, characterized in that, Obtain the message to be pushed, and determine the target message attributes of the message to be pushed, including: Read each undisplayed message to be pushed from the local database; Determine the time interval between the arrival time of the message to be pushed and the current time; If the determined time interval is less than a set duration threshold, the target message attributes of the message to be pushed are determined.
6. The method according to claim 5, characterized in that, The method further includes: If the determined time interval is greater than a set duration threshold, at least one of the messages to be pushed will be displayed in a distributed manner; the distributed display means that if there are multiple messages to be pushed, the messages to be pushed will be displayed according to a preset time interval.
7. A message push device, characterized in that, The device, applied to a user terminal for a target user, includes: The first acquisition module is used to acquire the message to be pushed and determine the target message attribute of the message to be pushed; wherein, the target message attribute is determined according to the target field value in the message to be pushed, and the target message attribute is used to indicate whether it is necessary to determine the display timing of the message to be pushed; The second acquisition module is used to acquire the current feature data of the user terminal when the target message attribute indicates that the display timing of the message to be pushed needs to be determined, wherein the current feature data is used to indirectly represent the user's operation behavior; The second acquisition module is further configured to input the current feature data into a pre-trained state recognition model to obtain the current state of the user terminal output by the state recognition model; wherein, the current feature data of the user terminal includes different feature data under the following multiple dimensions: device state feature data, current time feature data, and human-computer interaction feature data; the current state includes a first state or a second state; the first state is used to indicate the state in which the user is willing to read the message to be pushed, and the second state is used to indicate the state in which the user is not willing to read the message to be pushed; The state recognition model is trained using multiple sample data, which include: The sample message, the target message attribute of the sample message, the feature data of the user terminal sample when the sample message is pushed, and the tag information that indicates whether the user terminal sample consumes the sample message after the sample message is pushed; The display module is used to determine the timing for displaying the message to be pushed based on the current state, and to display the message to be pushed according to the timing.
8. A computer device, characterized in that, include: A processor and a memory, wherein the memory stores machine-readable instructions executable by the processor, the processor is configured to execute the machine-readable instructions stored in the memory, and when the machine-readable instructions are executed by the processor, the processor performs the steps of the message push method as described in any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, which, when executed by a computer device, performs the steps of the message push method as described in any one of claims 1 to 6.
Citation Information
Patent Citations
Information prompt method, electronic equipment and network equipment
CN107770371A
Message display method, device, system and program product
CN114065041A