Personalized game notifications

By using a remote computing system to identify the games associated with a user, assigning weights, and generating personalized game notification feeds based on feedback, the problem of users having difficulty identifying content of interest is solved, thus improving the relevance of notifications and user interactivity.

CN115103712BActive Publication Date: 2026-05-15VALVE CORPORATION
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
VALVE CORPORATION
Filing Date
2021-03-19
Publication Date
2026-05-15

AI Technical Summary

Technical Problem

Identifying the content items and information that each user is interested in remains difficult, especially given the surge in content items and information on electronic devices.

Method used

The remote computing system identifies the games associated with a user, assigns weights, and generates personalized game notification feeds based on user feedback, including notification rankings and scores, dynamically adjusting notification content to meet user preferences.

Benefits of technology

It enables personalized presentation of game notifications based on user preferences, improving user experience and enhancing the relevance and interactivity of notifications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115103712B_ABST
    Figure CN115103712B_ABST
Patent Text Reader

Abstract

Among other things, this document describes techniques, devices, and systems for generating personalized game notification feeds for users. In some cases, a remote computing system that provides one or more games for acquisition can determine which notifications generated by respective game publishers can be of interest to different users, and after doing so, can generate personalized game notification feeds that include these selected notifications. Furthermore, each of these users can provide feedback regarding one or more of the notifications in the notification feeds, which the system can use to reselect notifications and regenerate personalized game notification feeds.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-reference to related applications

[0002] This PCT application claims priority to U.S. Patent Application Serial No. 16 / 826,111, entitled “PERSONALIZED GAMENOTIFICATIONS”, filed on March 20, 2020, the entire contents of which are incorporated herein by reference. Background Technology

[0003] As the consumption of content on electronic devices continues to surge, so too does the amount of available content and information about it. For example, the number of songs, movies, TV shows, and games available for streaming or download has increased dramatically recently. While this increase in available content and information generally benefits users, identifying the specific content and information that interests each user remains challenging. Attached Figure Description

[0004] Specific embodiments are described with reference to the accompanying drawings. In these drawings, the leftmost digit of the reference numeral indicates the drawing in which that reference numeral first appears. The same reference numerals are used in different drawings to indicate similar or identical components or features.

[0005] Figure 1 This is an illustration of an exemplary environment comprising multiple client computing devices operated by respective users and coupled to a remote computing system configured to provide games and other content items to the client computing devices. Furthermore, the remote computing system can generate notification feeds for each of the users, with each notification feed personalized for the user based on the games associated with that user (such as games owned by the user, games added to a list (e.g., the user's wish list), games the user follows, etc.).

[0006] Figure 2 It shows Figure 1 An exemplary user interface for a remote computing system to provide personalized notification feeds to client computing devices is shown. As illustrated, the notification feed may include a set of notifications that may have been selected for the user associated with the client computing device based on the game associated with the user, the user's preferences (e.g., preferred notification types), etc. The user interface may also include icons that allow the user to select which types of notifications to include in the feed and the game source from which the notifications are generated.

[0007] Figure 3 This shows what happens after the user has selected a notification from the notification feed. Figure 2An exemplary user interface is shown. As illustrated, the user interface can display additional content in response to this selection. Furthermore, remote systems can use this selection as feedback for generating follow-up notification feeds for the user and / or other users.

[0008] Figure 4 A flowchart is shown as an exemplary process for generating personalized game notification feeds for users, receiving feedback from users or other users, and generating updated personalized game notification feeds in response. Detailed Implementation

[0009] Among other things, this document describes technologies, devices, and systems for generating personalized game notification feeds for users. In some cases, a remote computing system that provides one or more game titles for access can determine which notifications generated by the respective game publisher might be of interest to different users, and after doing so, can generate a personalized game notification feed that includes these selected notifications. Furthermore, each of these users can provide feedback on one or more of the notifications in the notification feed, which the system can use to reselect notifications and regenerate the personalized game notification feed.

[0010] To generate personalized notification feeds associated with a user, a remote computing system can identify a set of games associated with that user. This set of games may include those the user has previously acquired (e.g., owned or rented) or played, games the user has requested to follow, games recommended to the user by the remote computing system (e.g., because they are related to games the user has previously played), games the user has added to their list (e.g., the user's wish list), games recommended by game curators the user follows, and currently popular games that are at or near the top of the sales charts or game lists (e.g., generally in or within the game category associated with the user), etc.

[0011] In some cases, a remote computing system can assign weights to each corresponding game in a set of games. For example, the remote computing system can apply a time decay model to each game, giving a greater weight to games the user has recently played than games the user hasn't played for a long time. In another example, a game the user recently purchased might have a greater weight than a game the user purchased earlier. In yet another example, a game the user has recently followed might have a greater weight than a game the user followed earlier. In yet another example, weights can increase with the amount of time the user spends playing games, giving a greater weight to games played more often than games played less often. This can be determined absolutely (e.g., based on playtime) or relatively (e.g., based on playtime relative to other users who have also played the game, or based on playtime relative to the amount of time the same user has spent playing other games). Of course, while the above describes exemplary ways of assigning weights to game games, in other cases, weights can be applied in the opposite way or in any other manner.

[0012] After identifying the set of games associated with the user and, where possible, assigning weights to these games, the remote computing system can determine one or more notifications associated with these games to present to the user. At this point, the game publisher associated with a particular game can generate the notifications to be presented to the user. These notifications can largely include any information associated with the corresponding game. For example, notifications may include any one or more of the following:

[0013] • You can receive instructions on game updates (such as minor updates, patch updates, or major updates);

[0014] • Instructions for additional game content, such as instructions for the current or upcoming release of the game, instructions for the future release date of the game, invitations to participate in or learn about the beta version of the game, instructions that downloadable (DLC) content has become or will become available, or instructions for the release of an upcoming season or battle pass.

[0015] • Instructions to receive game discounts or promotions (such as limited-time discounts on the game, discounts on in-game or DLC items, or free trials associated with the game);

[0016] • Instructions for in-game events (such as the time period during which users will receive bonus points (“experience boost”), loot drops, rewards or skills provided, or general in-game events);

[0017] • Instructions for game challenges or competitions (such as weekly or monthly challenges, in-game competitions, etc.);

[0018] • Instructions for game live streaming or broadcasting;

[0019] • Instructions for game announcements;

[0020] • Instructions for communication sessions (such as chat sessions) associated with the game;

[0021] • Instructions for game-related live events (such as expos, conferences, or conventions);

[0022] • Instructions for promoting related games (e.g., cross-promotion); or

[0023] • Instructions for other types of information related to the game.

[0024] As described above, a remote computing system can determine which notifications to present to a user based on the set of games associated with that user. For example, for each game indicated in the set, the remote computing system can identify one or more game notifications for that game provided by the respective game publisher. Given that the number of notifications associated with the set of games may be relatively large, the remote computing system can assign a score to each notification to rank them relative to each other. After ranking the notifications, the remote computing system can generate a notification feed that is at least partially sorted based on that ranking or otherwise presented and present that notification feed to the user.

[0025] For example, a remote computing system can assign a score to each notification based at least in part on the weights assigned to the corresponding game. For instance, if a game is associated with a relatively high weight because the user plays it frequently, then one or more notifications associated with that game can be assigned a higher weight and therefore a higher score compared to notifications associated with games the user rarely plays.

[0026] Additionally or alternatively, the score associated with each notification may be based at least in part on other information associated with the user or on information associated with one or more other users. For example, if a particular user has previously indicated a desire for a certain type of event, such as an indication of a game update, the remote computing system may rank these types of notifications higher than notifications for which the user has not previously expressed interest. In other cases, the remote computing system may assign relatively higher scores to notifications frequently used by users within a broader user community. For example, if many users of a particular game (or many users in general) frequently watch live events, notifications of these events may be assigned higher scores compared to other types of notifications.

[0027] In some cases, remote computing systems typically determine the score of a notification based on explicit or implicit feedback provided by a specific user and / or general users. For example, after providing a notification feed to a user, the remote computing system can determine which notifications the user interacted with (e.g., which notifications were selected, viewed, read, etc.) and which notifications the user did not interact with. Furthermore, the remote computing system can determine the amount of time the user spent viewing each corresponding notification. In some cases, the score of subsequent notifications of that type can be determined partly by the ratio between the number of times a particular type of notification was selected and the number of times the remote computing system presented that type of notification to the user (i.e., the click-to-display ratio). For example, if a user frequently reads a game update when it is presented to them, this relatively high selection-to-display ratio might result in a relatively high score being assigned to subsequent game update notifications. Conversely, if a user rarely selects notifications associated with game promotions, the remote computing system might assign a relatively low score to notifications associated with game promotions.

[0028] This can be applied, either in addition to or alternatively, on a game-by-game basis. That is, if a user frequently selects notifications associated with the first game but rarely with the second game, the remote computing system can allocate relatively higher scores to subsequent notifications associated with the first game (and possibly related games), and relatively lower scores to subsequent notifications associated with the second game (and possibly related games). Furthermore, while the techniques described above have been referenced to specific users, these techniques can be similarly or alternatively applied to general user communities. That is, if users in a specific user community (e.g., a global community, a subset of a global community, etc.) frequently watch events when presented with notifications about live events, relatively higher scores will be allocated to these types of notifications for other users in the community or a subset of the community.

[0029] After a user selects the notifications to include in a personalized notification feed, the remote computing system can generate a personalized notification feed that includes these selected notifications and can send the feed for output (e.g., display, audible output, etc.) on a client computing device associated with the user. The personalized notification feed can be presented at least in part based on the corresponding scores of the notifications. For example, the highest-scoring / highest-ranked notification can be presented first, followed by the second-highest-scoring / second-highest-ranked notification, and so on. Furthermore or alternatively, the personalized game notification feed can present higher-ranked notifications more prominently (e.g., in a larger manner) compared to presenting lower-ranked notifications. As described below, the user can select each notification in the notification feed to view additional information accompanying the notification. For example, selecting a specific notification can cause the notification to expand to present additional content associated with the notification, navigate to a new user interface associated with the notification, etc.

[0030] As described above, when a user interacts with the notification feed, the remote computing system can use this feedback to recalculate the score associated with the notification for that user and, possibly, generate additional personalized game notification feeds for the user. Additionally or alternatively, the user can provide explicit feedback. For example, in some cases, the notification feed includes one or more icons that the user can select to provide feedback. For instance, each notification may include a first icon (e.g., a like button) that, when selected, indicates that the user wants to see more of these types of notifications and / or generally likes this particular notification. Additionally or alternatively, each notification may include a second icon that the user can select to indicate that the user wants to see fewer of these types of notifications and / or that the user dislikes this particular notification. Each notification may also include a third icon that, when selected, allows the user to comment on the notification. Similar to the first icon, the user's selection of the third icon and provision of a comment can be received by the remote computing system as an indication of the user's positive response.

[0031] In some cases, the remote computing system can use the received feedback to generate new scores and / or rankings, and thus generate new personalized notification feeds in real-time or near real-time. In other cases, the remote computing system can use the received feedback to generate new personalized notification feeds the next time the user navigates to a location where the personalized notification is displayed (e.g., a webpage, part of a client mobile application, etc.).

[0032] In some cases, remote computing systems can use the aforementioned inputs, such as user feedback or game portfolios, to train one or more machine learning models to determine personalized notification feeds. For example, after such a model has been trained, the remote computing system can input data tailored to a specific user, causing the model to output a ranked list of notifications to be included in the personalized notification feed.

[0033] The technical references described above Figures 1 to 4 The techniques disclosed can be implemented, at least in part, by a remote computing system that distributes content items (e.g., video games, movies, TV shows, songs, etc.) and notification feeds to client devices in a user community (e.g., as part of a video game service, movie service, song service, etc.). It should be understood that while these techniques are described with reference to games (e.g., video games), they can be applied to any other type of content item, such as books, movies, videos, etc.

[0034] Figure 1 This is an illustration of an exemplary environment 100 including multiple client computing devices operated by corresponding users in user community 102. As shown, each client computing device can be coupled to a remote computing system 104 via network 106. For example, Figure 1 The diagram illustrates user 102(1) operating a client computing device (“client device”) 108 coupled to display device 110. User 102(1) can operate client device 108 to interact with remote computing system 104, which can provide games and other content items to client computing device 108 and other client computing devices. Furthermore, remote computing system 104 can generate notification feeds for each user, where each notification feed is personalized for the user based on games associated with that user (such as games owned by the user, games added to a list (e.g., the user’s wish list), games followed by the user, etc.). Additionally or alternatively, notification feeds may include notifications generated from sources other than game publishers, such as notifications generated by game curators followed by the user in user community 102 (e.g., game reviews made by these curators), notifications generated by other users in user community 102, and so on. Furthermore, in some cases, the presented notifications may not be based on games associated with a specific user, but may include hot notifications, notifications of best-selling games, etc.

[0035] Client device 108 can be implemented as any suitable type of computing device configured to perform content items (such as video games, movies, songs, etc.). Client device 108 can include, but is not limited to, personal computers (PCs), desktop computers, laptop computers, mobile phones (e.g., smartphones), tablets, portable digital assistants (PDAs), wearable computers (e.g., virtual reality (VR) headsets, augmented reality (AR) headsets, smart glasses, etc.), in-vehicle (e.g., in-vehicle) computers, televisions (smart TVs), set-top boxes (STBs), game consoles, music players, voice control assistants, and / or any similar computing devices. Client device 108 can communicate with remote computing system 104 (sometimes simply referred to herein as "computing system 104") via computer network 106. Computer network 106 can represent and / or include, but is not limited to, the Internet, other types of data and / or voice networks, wired infrastructure (e.g., coaxial cable, fiber optic cable, etc.), wireless infrastructure (e.g., radio frequency (RF), cellular, satellite, etc.) and / or other connectivity technologies. In some cases, computing system 104 may be part of a network-accessible computing platform maintained and accessible via computer network 106. Such network-accessible computing platforms may be referred to by terms such as “on-demand computing,” “Software as a Service (SaaS),” “platform computing,” “network-accessible platform,” “cloud service,” “data center,” etc.

[0036] In some implementations, computing system 104 acts as, or has access to, a video game platform that implements video game services to distribute (e.g., download, stream, etc.) video games to client devices (such as client device 108). In the example, each client device may have a client application installed on it. The installed client application may be a video game client (e.g., game software for playing video games). Client device 108 with the installed client application may be configured to download, stream, or otherwise receive programs (e.g., video games and their content) from computing system 104 via computer network 106. Any type of content distribution model may be used for this purpose, such as a direct purchase model where programs (e.g., video games) can be purchased individually to be downloaded and executed on client device 108, a subscription-based model, renting or leasing programs for a period of time, streaming, or otherwise providing content distribution models to client devices. Thus, each client device 108 may include one or more installed video games that can be executed by loading a client application.

[0037] Client device 108 can be used to register with and subsequently log in to the video game service. Users can create user accounts for this purpose and specify / set credentials (e.g., password, PIN, biometric ID, etc.) to be bound to the registered user account. When multiple users interact with the video game platform (e.g., by accessing their user / player profiles using registered user accounts, playing video games on their respective client devices, etc.), the client device sends data to remote computing system 104. For a given client device 108, the data sent to remote computing system 104 may include, but is not limited to, user input data, video game data (e.g., game performance statistics uploaded to the remote system), social network messages and related activities, identifiers (IDs) of the video games played on client device 108, etc. This data may be streamed in real time (or substantially in real time) to remote system 104 at defined intervals and / or uploaded in response to events (e.g., exiting a video game). As described in further detail below, this data may be used to determine the user's game history for client device 108, which may be used to determine scores to determine notifications to be presented to user 102(1) as part of a personalized game notification feed.

[0038] Figure 1 For example, a display device 110 coupled to client device 108 is shown to present a user interface (UI) 112, which includes game notification feeds already personalized for user 102(1). As shown, UI 112 may present one or more game notifications 114(1), 114(2), ..., 114(4). As mentioned above, game notifications include any information associated with the corresponding game, notifications generated by game curators or other users, etc. For example, notifications may include any one or more of the following:

[0039] • You can receive instructions on game updates (such as minor updates, patch updates, or major updates);

[0040] • Instructions for additional game content, such as instructions for the current or upcoming release of the game, instructions for the future release date of the game, invitations to participate in or learn about the beta version of the game, instructions that downloadable (DLC) content has become or will become available, or instructions for the release of an upcoming season or battle pass.

[0041] • Instructions to receive game discounts or promotions (such as limited-time discounts on the game, discounts on in-game or DLC items, or free trials associated with the game);

[0042] • Instructions for in-game events (such as the time period during which users will receive bonus points (“experience boost”), loot drops, rewards or skills provided, or general in-game events);

[0043] • Instructions for game challenges or competitions (such as weekly or monthly challenges, in-game competitions, etc.);

[0044] • Instructions for game live streaming or broadcasting;

[0045] • Instructions for game announcements;

[0046] • Instructions for communication sessions (such as chat sessions) associated with the game;

[0047] • Instructions for game-related live events (such as expos, conferences, or conventions);

[0048] • Instructions for promoting related games (e.g., cross-promotion); or

[0049] • Instructions for other types of information related to the game.

[0050] Generally, remote system 104 may determine the notifications 114(1)-(4) to be presented as part of a notification feed based on information and / or behavior associated with user 102(1) and / or user community 102. In this regard, remote system may include one or more processors 116 (e.g., a central processing unit (CPU)) and computer-readable medium 118, as well as components stored on the computer-readable medium for generating personalized notification feeds for the user. Computer-readable medium 118 may include volatile and non-volatile memory, removable and non-removable media implemented using any method or technology for storing information such as computer-readable instructions, data structures, program modules, or other data. Such memory includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disc (DVD) or other optical storage devices, magnetic tape, magnetic tape, disk storage devices or other magnetic storage devices, RAID storage systems, or any other medium that can be used to store desired information and is accessible by a computing device. Computer-readable medium 118 may be implemented as a computer-readable storage medium (“CRSM”), which may be any available physical medium accessible to processor 116 to execute instructions stored on computer-readable medium 118. In one basic embodiment, the CRSM may include random access memory (“RAM”) and flash memory. In other embodiments, the CRSM may include, but is not limited to, read-only memory (“ROM”), electrically erasable programmable read-only memory (“EEPROM”), or any other tangible medium that can be used to store desired information and is accessible by processor 116.

[0051] As shown in the figure, the computer-readable medium 118 may store or otherwise have access to the acquisition component 120, the notification generation component 122, the feed generation component 124, and the user interaction component 126. Furthermore, the computer-readable medium 118 may store: library data 128, indicating previously acquired games by different users in the user community 102, and information about each game played by a user (e.g., playtime); list data 130, indicating a list of games associated with users in the user community 102 (e.g., wish lists, etc.); follow data 132, indicating games that different users in the user community 102 have requested to follow; and curator data 134, indicating game curators that different users in the user community 102 have requested to follow. Additionally, the computer-readable medium 118 may store notification data 136 and feed data 138, the notification data which may in some cases be provided by the game publisher, and the feed data which may store personalized notification feeds associated with users in the user community 102.

[0052] Generally, the acquisition component 120 enables users in the user community 102 to request (e.g., rent, purchase, etc.) games provided by the remote computing system 104. When a user (such as user 102(1)) acquires a game, the computing system 104 can store the corresponding indication in the library data 130. That is, the acquisition component 120 can store an indication that user 102(1) has permission to play the acquired game.

[0053] Simultaneously, the user interaction component 126 can receive information related to interactions between users in the user community 102 and the computing system 104, and can store this data for future use. For example, the user interaction component 126 can store information about games played by user 102(1) and other users, the amount of time users spent playing games, feedback given by users about games or game notifications, etc. As described above and below, this data can be used to generate personalized game notification feeds for users (such as user 102(1)).

[0054] Simultaneously, the notification generation component 122 enables game publishers to generate game notifications for presentation to users within their user community. As mentioned above, game publishers can provide any type of notification data, which can be stored as notification data 136 and presented to users as part of a personalized notification feed. In some cases, the notifications presented to each user can be optional, allowing these notifications to provide additional information to the user when selected. See below for reference. Figure 2 and Figure 3 Let's discuss an example notification feed.

[0055] The feed generation component 124 can use data associated with users in the user community 102 to determine which notifications in the notifications should be included in a personalized notification feed, which can be stored as feed data 138. For example, the feed generation component 124 can use data associated with user 102(1) to generate the notification feed shown in UI 112. In this example, the feed generation component 124 may have determined to generate a personalized notification feed for user 102(1) that includes at least the four game notifications 114(1)-(4) shown.

[0056] To generate personalized notification feeds associated with a user, the feed generation component 124 may first determine a set of games associated with user 102(1) based on at least library data 128, list data 130, follow data 132, and / or curator data 134. This set of games may include: games that the user has previously acquired (e.g., owned or rented) or played, as indicated by library data 128; games that the user has added to a user list (e.g., the user's wish list), as indicated by list data 130; games that the user has requested to follow, as indicated by follow data 132; games recommended by curators the user follows, as indicated by curator data 134; games recommended to the user by a remote computing system (e.g., identified by a trained machine learning model because these games are related to games the user has previously played), etc.

[0057] In some cases, the feed generation component 124 can assign weights to each corresponding game included in the set of games. For example, the feed generation component 124 can apply a time decay model to each game, such that games recently played by the user have a greater weight than games the user hasn't played for a long time. In another example, games recently purchased by the user may have a greater weight than games purchased earlier. In yet another example, games recently followed by the user may have a greater weight than games followed earlier. In yet another example, weights can increase with the amount of time a user spends playing games, such that games played more often have a greater weight than games played less often. This can be determined absolutely (e.g., based on playtime) or relatively (e.g., based on playtime relative to other users who have also played the game, or based on playtime relative to the amount of time the same user has spent playing other games). Of course, while the foregoing describes exemplary ways of assigning weights to game games, in other cases, weights can be applied in the opposite manner or in any other way.

[0058] After identifying the set of games associated with the user and, where possible, assigning weights to these products, the feed generation component 124 can determine one or more notifications associated with these games based on the notification data 136 to present to the user 102 (1). For example, for each game indicated in the set of games, the feed generation component 124 can identify one or more game notifications for the corresponding game provided by the corresponding game publisher. Given that the number of notifications associated with the set of games may be relatively large, the feed generation component 124 can assign a score to each notification to rank these notifications relative to each other. After ranking the notifications, the feed generation component 124 can generate a notification feed that is at least partially sorted based on the ranking or otherwise presented and present the notification feed to the user 102 (1).

[0059] For example, the feed generation component 124 can assign a score to each notification based at least in part on the weights assigned to the respective game titles. For example, if a game title is associated with a relatively high weight because the user plays it frequently, then one or more notifications associated with that game title can be assigned a higher weight and therefore a higher score compared to notifications associated with games that the user 102(1) rarely plays.

[0060] Additionally or alternatively, the score associated with each notification may be based at least in part on other information associated with user 102(1) or on information associated with one or more other users. For example, if a particular user has previously indicated a desire for a certain type of event, such as an indication of a game update, then the feed generation component 124 may rank such types of notifications higher than notifications for which the user has not previously expressed interest (or notification types for which the user has explicitly indicated a dislike). In other cases, the feed generation component 124 may assign relatively higher scores to notifications frequently used by users in the broader user community 102. For example, if many users of a particular game (or many users in general) frequently watch live events, then notifications of these events may be assigned higher scores compared to other types of notifications.

[0061] In some cases, the feed generation component 124 typically determines the score of a given notification based on explicit or implicit feedback provided by user 102(1) and / or by user 102. For example, after providing a notification feed to the user, the user interaction component 126 may determine which notifications user 102(1) interacts with (e.g., which notifications are selected, viewed, read, etc.) and which notifications user 102(1) does not interact with. Furthermore, the user interaction component 126 may determine the amount of time user 102(1) spends browsing each given notification. In some cases, the score of subsequent notifications of that type may be determined in part using the ratio between the number of times a particular type of notification is selected and the number of times that the telecomputing system 104 presents that type of notification to user 102(1) (i.e., the click-to-display ratio). For example, if user 102(1) frequently reads a game update when it is presented to them, such a relatively high selection-to-display ratio may result in a relatively high score being assigned to subsequent game update notifications. Conversely, if user 102(1) rarely selects notifications associated with game promotion, the feed generation component 124 can assign relatively low scores to notifications associated with game promotion.

[0062] This can be applied, either otherwise or alternatively, on a game-by-game basis. That is, if user 102(1) frequently selects notifications associated with the first game but rarely selects notifications associated with the second game, then the feed generation component 124 can assign relatively higher scores to subsequent notifications associated with the first game (and possibly related games), and relatively lower scores to subsequent notifications associated with the second game (and possibly related games). Furthermore, while the above techniques have been described with reference to a specific user 102(1), these techniques can be similarly or alternatively applied to a general user community 102. That is, if users in user community 102 (e.g., a global community, a subset of a global community, etc.) frequently watch events when presented with notifications about live events, then relatively higher scores will be assigned to these types of notifications for other users in the community or a subset of the community.

[0063] After the user selects the notifications to be included in the personalized notification feed, the feed generation component 124 can generate a personalized notification feed that includes the selected notifications and can send the notification feed for output (e.g., display, audible output, etc.) on a client computing device associated with the user, such as for presentation on display device 110. The personalized notification feed can be presented at least in part based on the corresponding scores of the notifications. For example, the notification with the highest score / rank can be presented first, followed by the notification with the second highest score / rank, and so on. Furthermore or alternatively, the personalized game notification feed can present the higher-ranked notifications more significantly (e.g., in a larger manner) compared to presenting the lower-ranked notifications. As described below, the user can select each notification in the notification feed to view additional information accompanying the notification. For example, selecting a specific notification can cause the notification to expand to present additional content associated with the notification, navigate to a new user interface associated with the notification, etc.

[0064] As described above, when user 102(1) interacts with the notification feed, the feed generation component 124 can use the feedback to recalculate the score associated with the notification for user 102(1), and possibly generate additional personalized game notification feeds for user 102(1). Additionally or alternatively, user 102(1) can provide explicit feedback. For example, in some cases, the notification feed includes one or more icons that the user can choose to provide feedback, as referenced below. Figure 2 As stated above.

[0065] In some cases, the feed generation component 124 can use the received feedback to generate new scores and / or rankings, and thus generate new personalized notification feeds in real-time or near real-time. In other cases, the feed generation component 124 can use the received feedback to generate new personalized notification feeds the next time a user navigates to a location where a personalized notification is presented (e.g., a webpage, part of a client mobile application, etc.).

[0066] In some cases, the feed generation component 124 can use the aforementioned inputs, such as user feedback, game portfolios, etc., to train one or more machine learning models to determine personalized notification feeds. For example, after such a model has been trained, the feed generation component 124 can input data tailored to a specific user, causing the model to output a ranked list of notifications included in the personalized notification feed.

[0067] Figure 2An exemplary UI 202 is shown for a personalized notification feed that the feed generation component 124 can provide to an exemplary client computing device 108 for a user 102 (1). As shown, the notification feed may include a series of notifications 208 (1), 208 (2), ..., 208 (4) that may have been selected for the user based on games associated with the user 102 (1), the user 102 (1)’s preferences (e.g., the user’s preferred notification type), etc. As shown, each notification in notification 208 may include an indication of the source of the notification. For example, each notification may indicate whether it is associated with a game in the user’s library, on the user’s wish list, followed by the user, recommended to the user, etc. For example, a first notification 208 (1) indicates that it is associated with a game in the user 102 (1)’s game library, a second notification 208 (2) indicates that it is associated with a game on the user 102 (1)’s wish list, and so on. Furthermore, and as mentioned above, in some cases, the notification may not be directly associated with the game, but may be generated by game connoisseurs, users in user community 102, etc.

[0068] Figure 2 The UI 202 also includes instructions 204 for different notification types included in the notification feed. For example, instruction 204 shows that the notification feed includes event notifications, streaming notifications, game update notifications, game release notifications, sales notifications, and news notifications. Of course, although... Figure 2 Several exemplary notification types are shown; however, it should be understood that other implementations may include more or fewer notification types. Furthermore, Figure 2 UI 202 is shown to include functionality that allows user 102(1) to select which notification types to view. For example, user 102(1) can request to view certain notification types without viewing others. While this example shows the functionality in the form of checkboxes, it should be understood that other mechanisms (e.g., radio buttons, drop-down menus, etc.) can be used.

[0069] Figure 2 UI 202 also includes instructions 206 for different game sources associated with notifications included in the notification feed. For example, instructions 206 show that the notification feed includes notifications associated with games in user 102(1)'s library, games on user 102(1)'s wish list, games user 102(1) is following, games recommended to user 102(1) by computing system 104, and games played or recommended by curators that user 102(1) is following. Of course, although Figure 2Several exemplary game source types are shown; however, it should be understood that other implementations may include more or fewer game sources, and furthermore, the source of a notification, such as a curator-created or user-created notification, may not be directly related to the game. Additionally, Figure 2 UI 202 is shown to include functionality that allows user 102(1) to select which notifications to view based on game sources. That is, user 102(1) can request to view notifications associated with certain game sources (e.g., games followed) but not notifications associated with other game sources (e.g., games already in the user's library). Similarly, while this example shows the functionality in the form of checkboxes, it should be understood that other mechanisms (e.g., radio buttons, dropdown menus, etc.) can be used.

[0070] Figure 2 It is also shown that each notification in UI 202 may include functionality that allows the user to provide feedback on the notification. For example, each notification may include: a first icon (e.g., "Like") that allows the user to indicate that they like the particular notification; a second icon (e.g., "Dislike") that allows the user to indicate that they dislike the particular notification; a third icon (e.g., "Show more similar content") that allows the user to indicate that they like the notification type; a fourth icon (e.g., "Show fewer similar content") that allows the user to indicate that they dislike the particular type of notification; and a fifth icon (e.g., "Comment") that allows the user to view the notification or express a comment on it. In some cases, and as described above, the user interaction component 126 may track the selection of these icons to generate feedback data, which may be used by the feed generation component 124 to generate subsequent personalized notification feeds for the user.

[0071] Figure 3An exemplary UI 202 is shown after a user has selected notification 208(2) from the notification feed. As shown, the user interface may display additional content 210 of the notification in response to the selection. In this example, the additional content 210 includes a video, while in other cases, the additional content 210 may include additional text, images, links, exemplary games, and / or any other content. Furthermore, the user interaction component 126 may store the indication of the selection as feedback data, and the feed generation component 124 may use this feedback data to generate subsequent notification feeds for the user and / or other users. For example, the user interaction component 126 may determine which notification the user selected and the amount of time the user viewed the additional content, each of which can be used by the feed generation component 124 to generate subsequent notification feeds for user 102(1). In some cases, the longer the user views the additional content, the greater the weight given to the notification, the notification type, the source of the notification, and so on.

[0072] Figure 4 A flowchart of an exemplary process 400 for generating personalized game notification feeds for a user, receiving feedback from the user or other users, and generating updated personalized game notification feeds in response is shown. This process, and each process described herein, is shown as a collection of boxes in a logic flowchart, representing a series of operations that can be implemented in hardware, software, or a combination thereof. In the context of software, these boxes represent computer-executable instructions that, when executed by one or more processors, perform the listed operations. Typically, computer-executable instructions include routines, programs, objects, components, data structures, etc., that perform a specific function or implement a specific abstract data type. The order in which the operations are described is not intended to be construed as limiting, and any number of the described boxes can be combined in any order and / or in parallel to implement these processes. In some cases, computing system 104 may be configured to perform some or all of these operations, but in other cases, other devices may perform some or all of these operations in addition to or alternatively.

[0073] At operation 402, computing system 104 can receive a corresponding notification from each of a plurality of game publishers, providing information related to a game provided by each respective game publisher. As described above, each corresponding notification may include instructions for obtaining game updates, additional game content, game discounts or promotions, in-game events, game challenges or competitions, live game streaming or broadcasting, game announcements, game-related communication sessions, game-related live events, or promotions of the relevant game.

[0074] At operation 404, computing system 104 can determine a set of games associated with a user among multiple users. This set of games may include one or more games previously acquired by the user (and the amount of time spent playing them), one or more games previously added by the user to a list associated with the user (and the time the user added each game to the list), one or more games for which the user has previously requested to receive information, one or more games recommended by game curators followed by the user, etc.

[0075] At operation 406, the computing system 104 can determine a first corresponding score associated with each game in the group of games. As described above, this score can be based on previous interactions between the user (and / or other users) and the computing system 104. For example, the computing system 104 can determine which notification types the user typically responds to, which notification types the user typically ignores, and so on. In some cases, a notification may have a higher score if the ratio between the amount of time the user selects a notification and the amount of time the notification is presented to the user is relatively high, and a notification may have a lower score if the ratio is relatively low.

[0076] At operation 408, the computing system 104 may generate a first notification feed for the user, including a first plurality of notifications, based at least in part on the first score of each game in the group of games associated with the user. At operation 410, the computing system 104 may cause the first notification feed to be displayed to the user. In some cases, this may include presenting notifications according to their ranking, wherein the notification with the highest relative score is presented first.

[0077] At operation 412, the computing system 104 determines whether feedback has been received from the user or another user. If not, the user can continue viewing the first notification feed. However, if feedback has been received, considering that the feedback may affect the score and thus the ranking of the notification, the computing system 104 can calculate a new score for the notification. If so, the computing system 104 can generate a second notification feed and cause the second notification feed to be displayed to the user. As described above, the remote computing system can use the received feedback to generate a new score and / or ranking, and thus generate a new personalized notification feed in real time or near real time, or it can use the feedback to generate a new personalized notification feed the next time the user navigates to a location where a personalized notification feed is presented (e.g., a webpage, part of a client mobile application, etc.).

[0078] Although the subject matter has been described in language specific to structural features, it should be understood that the subject matter defined in the appended claims is not limited to the specific features described. Rather, specific features are disclosed as exemplary forms for implementing the claims.

Claims

1. A method implemented at least in part by one or more processors of a computing system, the method comprising: Receive relevant notifications from each of the multiple game publishers, providing information about relevant events related to the games offered by each respective game publisher; Identify a set of games associated with a user among multiple users; A notification generation component generates a first notification feed for the user, comprising a first plurality of notifications, based at least in part on the set of games associated with the user. The first plurality of notifications are ordered by assigning a score to each notification based on a weight applied to a corresponding game associated with that notification, and the weight is determined at least in part based on the amount of time the user has played the corresponding game associated with that notification. The first plurality of notifications include: The first notification indicates that at least one of the following is available: an update to the game or additional content for the game; and The second notification indicates that at least one of the following is available: in-game events, live streaming of the game, or broadcast of the game; The first notification feed is displayed to the user, wherein the first notification feed is configured to allow the user to provide explicit feedback on at least one of the first plurality of notifications, and the first notification feed is also configured to allow the user to provide implicit feedback on at least one of the first plurality of notifications. When the user interacts with the first notification feed, user feedback is received from the user regarding at least one of the first plurality of notifications, wherein when the user interacts with the first notification feed and provides the implicit feedback, the user feedback includes the implicit feedback for generating a first score, and when the user interacts with the first notification feed and provides the explicit feedback, the user feedback includes the explicit feedback for generating a second score. Receive the selection of notification types to be excluded from subsequent notification feeds via the first notification feed; The first notification feed receives a selection of game sources to be excluded from subsequent notification feeds from among multiple game sources; The notification generation component generates a second notification feed for the user, comprising a second plurality of notifications, based at least in part on the set of games associated with the user, the user feedback, the selection of the notification type to be excluded, and the selection of the game source to be excluded. The second plurality of notifications are ordered by assigning a score to each notification based on a weight applied to the corresponding game associated with each notification, and the weight is determined at least in part based on the amount of time the user has played the corresponding game associated with the corresponding notification. The second plurality of notifications is unaffected by notifications of the notification type or notifications generated based on the game source. This causes the second notification feed to be displayed to the user.

2. The method of claim 1, wherein determining the set of games associated with the user includes determining one or more games previously acquired by the user.

3. The method of claim 1, wherein determining the set of games associated with the user includes determining one or more games that the user has previously added to the list associated with the user.

4. The method of claim 3, further comprising determining, for each of the one or more games that the user has previously added to the list, the time when the user added each corresponding game to the list, and wherein generating each of the first notification feed and the second notification feed is also based at least in part on the time when the user added each corresponding game to the list.

5. The method of claim 1, wherein determining the set of games associated with the user includes determining one or more games in which the user has previously requested to receive information.

6. The method of claim 1, wherein determining the set of games associated with the user includes determining one or more games recommended by game curators followed by the user.

7. The method of claim 1, wherein receiving the user feedback from the user includes receiving an indication that the user has selected one or more notifications in the first notification feed.

8. The method of claim 1, wherein receiving the user feedback from the user includes receiving at least one notification that the user has selected to view additional information in the first notification feed and an indication of the amount of time the user has spent viewing the additional information.

9. The method of claim 1, further comprising receiving additional user feedback from an additional user regarding at least one notification, wherein generating the second notification feed is also based at least in part on the additional user feedback from the additional user.

10. The method of claim 1, wherein generating the first notification feed includes determining a first order of the first plurality of notifications, and generating the second notification feed includes determining a second order of the second plurality of notifications.

11. The method according to claim 1, further comprising: Determine the first corresponding score associated with each game in the set of games; as well as After receiving the user feedback, a second corresponding score is determined for each game in the set of games; The generation of the first notification feed is based at least in part on the first corresponding score, and the generation of the second notification feed is based at least in part on the second corresponding score.

12. The method according to claim 1, wherein, The first plurality of notifications also includes a third notification, which includes at least one of the following: instructions for game discounts or promotions, instructions for game challenges or competitions, instructions for game announcements, instructions for game-related communication sessions, instructions for game-related live events, or instructions for promotion of the relevant game.

13. The method according to claim 1, wherein: The step of displaying the first notification feed to the user further includes displaying one or more icons that allow the user to select which of a plurality of notification types to display as part of the first notification feed, wherein the plurality of notification types include at least game updates, additional game content, in-game events, live game streaming, or game broadcasts; and Receiving the selection of the notification type to be excluded includes receiving the selection of at least one of the following: the game update, the additional content of the game, the in-game event, the live stream of the game, or the broadcast of the game.

14. The method according to claim 1, wherein: Determining the set of games includes determining the set of games from the plurality of game sources, each of the plurality of game sources being associated with one or more notifications in the first notification feed; The step of displaying the first notification feed to the user further includes displaying one or more icons that allow the user to select which of the plurality of game sources to use in generating the first notification feed, wherein the plurality of game sources includes at least: games from the user's library, games from the user's wish list, games the user follows, games associated with curators the user follows, or games recommended to the user; and Receiving the selection of the sources of the games to be excluded includes receiving a selection of at least one of the following: games from the user's library, games from the user's wish list, games followed by the user, games associated with curators followed by the user, or games recommended to the user.

15. A computing system, the computing system comprising: One or more processors; and One or more computer-readable media storing computer-executable instructions, which, when executed, cause the one or more processors to perform actions, including: Receive relevant notifications from each of the multiple game publishers, providing information about relevant events related to the games offered by each respective game publisher; Identify a set of games associated with a user among multiple users; A notification generation component generates a first notification feed for the user, comprising a first plurality of notifications, based at least in part on the set of games associated with the user. The first plurality of notifications are ordered by assigning a score to each notification based on a weight applied to a corresponding game associated with that notification, and the weight is determined at least in part based on the amount of time the user has played the corresponding game associated with that notification. The first plurality of notifications include: The first notification indicates that at least one of the following is available: an update to the game or additional content for the game; and The second notification indicates that at least one of the following is available: in-game events, live streaming of the game, or broadcast of the game; The first notification feed is displayed to the user, wherein the first notification feed is configured to allow the user to provide explicit feedback on at least one of the first plurality of notifications, and the first notification feed is also configured to allow the user to provide implicit feedback on at least one of the first plurality of notifications. When the user interacts with the first notification feed, user feedback is received from the user regarding at least one of the first plurality of notifications, wherein when the user interacts with the first notification feed and provides the implicit feedback, the user feedback includes the implicit feedback for generating a first score, and when the user interacts with the first notification feed and provides the explicit feedback, the user feedback includes the explicit feedback for generating a second score. Receive the selection of notification types to be excluded from subsequent notification feeds via the first notification feed; The first notification feed receives a selection of game sources to be excluded from subsequent notification feeds from among multiple game sources; The notification generation component generates a second notification feed for the user, comprising a second plurality of notifications, based at least in part on the set of games associated with the user, the user feedback, the selection of the notification type to be excluded, and the selection of the game source to be excluded. The second plurality of notifications are ordered by assigning a score to each notification based on a weight applied to the corresponding game associated with each notification, and the weight is determined at least in part based on the amount of time the user has played the corresponding game associated with the corresponding notification. The second plurality of notifications is unaffected by notifications of the notification type or notifications generated based on the game source. This causes the second notification feed to be displayed to the user.

16. The computing system of claim 15, wherein determining the set of games associated with the user comprises at least one of the following: Identify one or more games previously acquired by the user; Identify one or more games that the user has previously added to the list associated with the user; It is determined that the user has previously requested to receive information from one or more games; or Identify one or more games recommended by game curators that the user follows.

17. The computing system according to claim 15, wherein: Determining the set of games includes identifying the set of games from multiple game sources, each of the multiple game sources being associated with one or more notifications in the first notification feed; and The step of displaying the first notification feed to the user further includes: displaying one or more first icons that enable the user to select which type of notification to display as part of the first notification feed, and one or more second icons that enable the user to select which of the plurality of game sources to use to generate the first notification feed.

18. One or more non-transitory computer-readable media storing computer-executable instructions, which, when executed, cause one or more processors to perform actions, including: Receive relevant notifications from each of the multiple game publishers, providing information about relevant events related to the games offered by each respective game publisher; Identify a set of games associated with a user among multiple users; A notification generation component generates a first notification feed for the user, comprising a first plurality of notifications, based at least in part on the set of games associated with the user. The first plurality of notifications are ordered by assigning a score to each notification based on a weight applied to a corresponding game associated with that notification, and the weight is determined at least in part based on the amount of time the user has played the corresponding game associated with that notification. The first plurality of notifications include: The first notification indicates that at least one of the following is available: an update to the game or additional content for the game; and The second notification indicates that at least one of the following is available: in-game events, live streaming of the game, or broadcast of the game; The first notification feed is displayed to the user, wherein the first notification feed is configured to allow the user to provide explicit feedback on at least one of the first plurality of notifications, and the first notification feed is also configured to allow the user to provide implicit feedback on at least one of the first plurality of notifications. When the user interacts with the first notification feed, user feedback is received from the user regarding at least one of the first plurality of notifications, wherein when the user interacts with the first notification feed and provides the implicit feedback, the user feedback includes the implicit feedback for generating a first score, and when the user interacts with the first notification feed and provides the explicit feedback, the user feedback includes the explicit feedback for generating a second score. Receive the selection of notification types to be excluded from subsequent notification feeds via the first notification feed; The first notification feed receives a selection of game sources to be excluded from subsequent notification feeds from among multiple game sources; The notification generation component generates a second notification feed for the user, comprising a second plurality of notifications, based at least in part on the set of games associated with the user, the user feedback, the selection of the notification type to be excluded, and the selection of the game source to be excluded. The second plurality of notifications are ordered by assigning a score to each notification based on a weight applied to the corresponding game associated with each notification, and the weight is determined at least in part based on the amount of time the user has played the corresponding game associated with the corresponding notification. The second plurality of notifications is unaffected by notifications of the notification type or notifications generated based on the game source. This causes the second notification feed to be displayed to the user.

19. One or more non-transitory computer-readable media of claim 18, wherein determining the set of games associated with the user comprises at least one of the following: Identify one or more games previously acquired by the user; Identify one or more games that the user has previously added to the list associated with the user; It is determined that the user has previously requested to receive information from one or more games; or Identify one or more games recommended by game curators that the user follows.