Program entry recommendation method, device and equipment
By analyzing users' historical usage information and current recommendation information, the display location of the target program entry point is determined. A lazy update strategy is adopted to solve the problem of low efficiency in program entry point search and realize the rapid search of the target program entry point.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- ALIBABA (CHINA) CO LTD
- Filing Date
- 2022-03-22
- Publication Date
- 2026-05-19
AI Technical Summary
In existing technologies, the efficiency of finding program entry points is low, requiring users to search among numerous program entry points, resulting in inefficiency.
By determining the user's historical usage information, the location of the target program's entry point is displayed on the recommendation page. Combined with the current display location of the already recommended program's entry point, a lazy update strategy is adopted to reduce location changes and improve search efficiency.
It improves the efficiency of users finding the entry point of the target program and avoids frequent location changes, allowing users to quickly find the entry point of the program they need.
Smart Images

Figure CN114625998B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to a method, apparatus, and device for recommending program entry points. Background Technology
[0002] Electronic devices can have multiple applications installed, each with a corresponding entry point that can be used to launch the application. Applications can include multiple functions, each with its own entry point, allowing the electronic device to display the corresponding function page.
[0003] In related technologies, program entry points are typically located in fixed positions. For example, the program entry point (application icon) for an application is usually placed in a fixed position on the desktop of an electronic device; the program entry points for each function within an application may be placed in fixed positions within the application, or they may be hidden within a specific group. In practical applications, when a user needs to access a particular program entry point, they must search through numerous entry points, resulting in low efficiency in finding program entry points. Summary of the Invention
[0004] This application provides a method, apparatus, and device for recommending program entry points, thereby improving the efficiency of users finding target program entry points.
[0005] In a first aspect, embodiments of this application provide a method for recommending program entry points, including:
[0006] Determine the first user's historical usage information across multiple program entry points within a historical time period;
[0007] Based on the historical usage information of the multiple program entry points, at least one target program entry point is determined from the multiple program entry points;
[0008] Obtain current recommendation information, which includes at least one recommended program entry point and the current display position of the at least one recommended program entry point on the recommendation page;
[0009] Based on the historical usage information of the at least one target program entry and the current recommendation information, determine the target display position of the at least one target program entry on the recommendation page;
[0010] Based on the target display location, the at least one target program entry point is displayed on the recommendation page.
[0011] In one possible implementation, the historical usage information includes the number of historical uses; determining the target display position of the at least one target program entry on the recommendation page based on the historical usage information of the at least one target program entry and the current recommendation information includes:
[0012] Determine whether there are any overlapping program entries among the at least one recommended program entry and the at least one target program entry;
[0013] If so, the target display position of the at least one target program entry on the recommendation page is determined based on the historical usage count of the at least one target program entry and the current display position of the overlapping program entry on the recommendation page.
[0014] If not, the at least one target program entry is sorted according to its historical usage count, and the target display position of the at least one target program entry on the recommendation page is determined based on the sorted at least one target program entry.
[0015] In one possible implementation, determining the target display position of the at least one target program entry on the recommendation page based on the historical usage count of the at least one target program entry and the current display position of the overlapping program entry on the recommendation page includes:
[0016] The current display position of the overlapping program entry on the recommendation page is determined as the target display position of the overlapping program entry on the recommendation page.
[0017] Based on the historical usage count of non-overlapping program entries among the at least one target program entry, the non-overlapping program entries are sorted, and the target display position of the non-overlapping program entries on the recommendation page is determined based on the sorted non-overlapping program entries; the non-overlapping program entries are other program entries among the at least one target program entry besides the overlapping program entries.
[0018] In one possible implementation, the historical usage information includes the number of historical uses; determining the historical usage information of multiple program entry points within a historical time period includes:
[0019] Determine the multiple entry icons corresponding to the multiple program entry points;
[0020] Determine the number of valid clicks on the multiple entry icons within the historical time period;
[0021] For any given program entry point, the number of valid clicks on that entry point within the historical time period is determined as the historical usage count of that entry point within the historical time period.
[0022] In one possible implementation, for any given entry icon, determining the number of valid clicks on the entry icon within the historical time period includes:
[0023] Determine multiple click events of the entry icon within the historical time period, wherein the click events include the browsing duration of the target page, and the target page is the page to which the user jumps after clicking the entry icon;
[0024] Click events with a browsing duration greater than or equal to a preset threshold are identified as target click events;
[0025] The number of target click events is determined as the number of valid clicks on the entry icon within the historical time period.
[0026] In one possible implementation, the historical usage information includes the number of historical uses; based on the historical usage information of the plurality of program entry points, determining at least one target program entry point from the plurality of program entry points includes:
[0027] The program entry points are sorted in descending order of their historical usage frequency, and the top N program entry points are identified as the at least one target program entry point, where N is an integer greater than or equal to 1; or,
[0028] If there are M custom program entries among the plurality of program entries, then the non-custom program entries are sorted in descending order of their historical usage frequency, and the top NM non-custom program entries and the M custom program entries are determined as the at least one target program entry; wherein, M is an integer greater than or equal to 1, and the non-custom program entries are the other program entries among the plurality of program entries besides the M custom program entries.
[0029] In one possible implementation, after generating target recommendation information based on the historical usage information of the at least one target program entry point and the current recommendation information, the method further includes:
[0030] Determine the generation time of the target recommendation information;
[0031] The target recommendation information and the generation time are sent to the server. The target recommendation information and the generation time are used by other electronic devices to display the recommendation page.
[0032] In one possible implementation, after sending the target recommendation information and the generation time to the server, the method further includes:
[0033] Request the server to obtain the target recommendation information and the generation time of the target recommendation information;
[0034] If the local recommendation information is generated earlier than the target recommendation information, then the local recommendation information is updated based on the target recommendation information.
[0035] In one possible implementation, requesting the server to obtain the target recommendation information and the time when the target recommendation information was generated includes:
[0036] Send a synchronization request to the server, the synchronization request including user account information;
[0037] Receive a synchronization response sent by the server, the synchronization response including the target recommendation information and the time when the target recommendation information was generated.
[0038] In one possible implementation, displaying the at least one target program entry point on the recommended page according to the target display location includes:
[0039] In response to a click operation on an entry recommendation control, the recommendation page is generated based on the at least one target program entry and the at least one target display position, the recommendation page including at least one target program entry arranged according to the target display position;
[0040] The recommended page is displayed.
[0041] Secondly, embodiments of this application provide a program entry recommendation device, comprising: a first determining module, a second determining module, an obtaining module, a third determining module, and a display module, wherein,
[0042] The first determining module is used to determine the historical usage information of the first user on multiple program entry points within a historical time period;
[0043] The second determining module is used to determine at least one target program entry from the plurality of program entry points based on the historical usage information of the plurality of program entry points;
[0044] The acquisition module is used to acquire current recommendation information, which includes at least one recommended program entry and the current display position of the at least one recommended program entry on the recommendation page.
[0045] The third determining module is used to determine the target display position of the at least one target program entry on the recommendation page based on the historical usage information of the at least one target program entry and the current recommendation information;
[0046] The display module is used to display the at least one target program entry point on the recommended page according to the target display location.
[0047] In one possible implementation, the historical usage information includes the number of historical uses; the third determining module is specifically used for:
[0048] Determine whether there are any overlapping program entries among the at least one recommended program entry and the at least one target program entry;
[0049] If so, the target display position of the at least one target program entry on the recommendation page is determined based on the historical usage count of the at least one target program entry and the current display position of the overlapping program entry on the recommendation page.
[0050] If not, the at least one target program entry is sorted according to its historical usage count, and the target display position of the at least one target program entry on the recommendation page is determined based on the sorted at least one target program entry.
[0051] In one possible implementation, the third determining module is specifically used for:
[0052] The current display position of the overlapping program entry on the recommendation page is determined as the target display position of the overlapping program entry on the recommendation page.
[0053] Based on the historical usage count of non-overlapping program entries among the at least one target program entry, the non-overlapping program entries are sorted, and the target display position of the non-overlapping program entries on the recommendation page is determined based on the sorted non-overlapping program entries; the non-overlapping program entries are other program entries among the at least one target program entry besides the overlapping program entries.
[0054] In one possible implementation, the historical usage information includes the number of historical uses; the first determining module is specifically used for:
[0055] Determine the multiple entry icons corresponding to the multiple program entry points;
[0056] Determine the number of valid clicks on the multiple entry icons within the historical time period;
[0057] For any given program entry point, the number of valid clicks on that entry point within the historical time period is determined as the historical usage count of that entry point within the historical time period.
[0058] In one possible implementation, the first determining module is specifically used for:
[0059] Determine multiple click events of the entry icon within the historical time period, wherein the click events include the browsing duration of the target page, and the target page is the page to which the user jumps after clicking the entry icon;
[0060] Click events with a browsing duration greater than or equal to a preset threshold are identified as target click events;
[0061] The number of target click events is determined as the number of valid clicks on the entry icon within the historical time period.
[0062] In one possible implementation, the historical usage information includes the number of historical uses; the second determining module is specifically used for:
[0063] The program entry points are sorted in descending order of their historical usage frequency, and the top N program entry points are identified as the at least one target program entry point, where N is an integer greater than or equal to 1; or,
[0064] If there are M custom program entries among the plurality of program entries, then the non-custom program entries are sorted in descending order of their historical usage frequency, and the top NM non-custom program entries and the M custom program entries are determined as the at least one target program entry; wherein, M is an integer greater than or equal to 1, and the non-custom program entries are the other program entries among the plurality of program entries besides the M custom program entries.
[0065] In one possible implementation, the apparatus further includes a transmitting module, the transmitting module being configured to:
[0066] Determine the generation time of the target recommendation information;
[0067] The target recommendation information and the generation time are sent to the server. The target recommendation information and the generation time are used by other electronic devices to display the recommendation page.
[0068] In one possible implementation, the apparatus further includes an update module, wherein the update module is used to,
[0069] After the sending module sends the target recommendation information and the generation time to the server, it requests the server to obtain the target recommendation information and the generation time of the target recommendation information.
[0070] If the local recommendation information is generated earlier than the target recommendation information, then the local recommendation information is updated based on the target recommendation information.
[0071] In one possible implementation, the device further includes a receiving module, wherein,
[0072] The sending module is also used to send a synchronization request to the server, the synchronization request including user account information;
[0073] The receiving module is used to receive a synchronization response sent by the server, the synchronization response including the target recommendation information and the generation time of the target recommendation information.
[0074] In one possible implementation, the display module is specifically used for:
[0075] In response to a click operation on an entry recommendation control, the recommendation page is generated based on the at least one target program entry and the at least one target display position, the recommendation page including at least one target program entry arranged according to the target display position;
[0076] The recommended page is displayed.
[0077] Thirdly, embodiments of this application provide an electronic device, including: a memory and a processor;
[0078] The memory stores computer-executed instructions;
[0079] The processor executes computer execution instructions stored in the memory, causing the processor to execute the program entry recommendation method described in any of the first aspects.
[0080] Fourthly, embodiments of this application provide a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the program entry recommendation method described in any of the first aspects.
[0081] Fifthly, embodiments of this application provide a computer program product, including a computer program that, when executed by a processor, implements the program entry recommendation method shown in any of the first aspects.
[0082] In this embodiment, the electronic device can determine the historical usage information of a first user on multiple program entry points within a historical time period, and determine at least one target program entry point among the multiple program entry points based on the historical usage information. The electronic device can determine whether there are overlapping program entry points and / or custom program entry points between the at least one target program entry point and the at least one recommended program entry point. If there are overlapping program entry points and / or custom program entry points, the electronic device can determine the current display position of the overlapping program entry point and / or custom program entry point on the recommendation page as the target display position; if there are no overlapping program entry points and / or custom program entry points, the electronic device can determine the target display position of the at least one target program entry point on the recommendation page based on the historical usage information. Since the electronic device can determine the user's frequently used target program entry points based on the historical usage information of program entry points, and can combine the current display position of the recommended program entry points on the recommendation page to determine the display position of the target program entry point on the recommendation page, furthermore, a lazy update strategy can be used to avoid frequent changes in the display position of the recommended program entry points on the recommendation page, so that users can quickly find the target program entry point on the recommendation page, improving the efficiency of users finding the target program entry point. Attached Figure Description
[0083] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:
[0084] Figure 1A A schematic diagram illustrating an application scenario provided for an exemplary embodiment of this application;
[0085] Figure 1B A schematic diagram illustrating another application scenario provided for an exemplary embodiment of this application;
[0086] Figure 1C A schematic diagram illustrating yet another application scenario provided for an exemplary embodiment of this application;
[0087] Figure 2 A flowchart illustrating a recommended program entry point for an exemplary embodiment of this application;
[0088] Figure 3A A schematic diagram of a recommendation page provided for an exemplary embodiment of this application;
[0089] Figure 3B A schematic diagram of another recommendation page provided for an exemplary embodiment of this application;
[0090] Figure 4A A schematic diagram showing overlapping program entry points provided for an exemplary embodiment of this application;
[0091] Figure 4B A schematic diagram of the target program entry point provided for an exemplary embodiment of this application;
[0092] Figure 5 A flowchart illustrating another program entry point recommendation method provided for an exemplary embodiment of this application;
[0093] Figure 6 A flowchart illustrating the process of synchronizing target recommendation information is provided as an exemplary embodiment of this application;
[0094] Figure 7 A schematic diagram illustrating recommendation information for multiple electronic device synchronization targets provided in an exemplary embodiment of this application;
[0095] Figure 8 A schematic diagram of a program entry recommendation device provided for an exemplary embodiment of this application;
[0096] Figure 9 A schematic diagram of another program entry recommendation device provided for an exemplary embodiment of this application;
[0097] Figure 10 This is a schematic diagram of the structure of an electronic device provided as an exemplary embodiment of this application. Detailed Implementation
[0098] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions of this application will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0099] Figure 1A This is a schematic diagram illustrating an application scenario provided for an exemplary embodiment of this application. For example... Figure 1A As shown, this includes interfaces 101 and 102. Referring to interface 101, multiple applications can be installed on the electronic device. The electronic device can intelligently recommend multiple target program entries based on the user's usage habits and display these entries in the "My Frequently Used" control (folder). Users can click the "My Frequently Used" control to directly find the target program entries. For example, in interface 102, users can directly find target program entries such as chat software a, payment software b, and shopping software c in "My Frequently Used".
[0100] Figure 1B This is a schematic diagram illustrating another application scenario provided for an exemplary embodiment of this application. For example... Figure 1BAs shown, interfaces 103 and 104 are included. Referring to interface 103, the shopping software includes multiple program entry points such as beauty, clothing, and digital products. Under beauty, there are entry points for skincare and makeup; under clothing, there are entry points for women's clothing and men's clothing; and under digital products, there are entry points for mobile phones and computers. Electronic devices can generate a "My Frequently Used" control and display it at the top. Based on user habits, electronic devices can intelligently recommend target program entry points and display them in the "My Frequently Used" control. Users can click the "My Frequently Used" control to directly find the target program entry point. For example, in interface 104, users can directly find target program entry points such as skincare and women's clothing in "My Frequently Used".
[0101] Figure 1C This is a schematic diagram illustrating yet another application scenario provided for an exemplary embodiment of this application. For example... Figure 1C This includes interfaces 105 and 106. Please refer to interface 105; the electronic device can generate a "My Frequently Used" control. The electronic device provides a smart mode and a custom mode. In smart mode, the electronic device can intelligently recommend multiple target program entries based on the user's usage habits and display these entries in the "My Frequently Used" control (folder). Optionally, in smart mode, the user can also manually add, delete, or move individual target program entries and change their target display positions. The user can click the "Custom Mode" icon to switch the recommendation mode from smart mode to custom mode, as shown in interface 106. In custom mode, the user can manually set multiple target program entries and their target display positions. For example, the user can set multiple target program entries such as "Instance" and "Mirror".
[0102] In related technologies, program entry points are typically located in fixed positions. For example, the program entry point (application icon) for an application is usually placed in a fixed position on the desktop of an electronic device; the program entry points for each function within an application may be placed in fixed positions within the application, or they may be hidden within a specific group. In practical applications, when a user needs to access a particular program entry point, they must search through numerous entry points, resulting in low efficiency in finding program entry points.
[0103] In this embodiment, the electronic device can determine the user's frequently used target program entry point based on their usage habits. It also combines this information with the display positions of currently recommended program entry points on the recommendation page to determine the display position of the target program entry point within the recommendation page. In practical applications, users can directly find the target program entry point by clicking on a specific control, avoiding the need to individually identify or search through numerous applications or application groups. This improves the efficiency of finding the target program entry point. Furthermore, the lazy update strategy prevents frequent changes in the display position of recommended program entry points on the recommendation page, further enhancing the efficiency of finding the target program entry point.
[0104] The technical solutions shown in this application will now be described in detail through specific embodiments. It should be noted that the following embodiments may exist independently or in combination with each other; for identical or similar content, the description will not be repeated in different embodiments.
[0105] Figure 2 This is a flowchart illustrating a recommended program entry point for an exemplary embodiment of this application. Please refer to [link / reference]. Figure 2 The method may include:
[0106] S201. Determine the historical usage information of the first user for multiple program entry points within a historical time period.
[0107] The execution entity in this application embodiment can be an electronic device or a program entry recommendation device installed in an electronic device. The program entry recommendation device can be implemented by software or by a combination of software and hardware.
[0108] Electronic devices can have multiple applications installed. For example, electronic devices can be mobile phones, computers, etc.
[0109] Program entry points include: the program entry point for launching the application and the program entry point for launching a specific function (or page) within the application.
[0110] For example, see Figure 1A The application's icon is the entry point for launching the application.
[0111] For example, see Figure 1B The program entry point for launching a certain function in an application is a control within the application, such as a "skincare" control or a "makeup" control.
[0112] When the program entry point is the entry point that launches the application (e.g., the application icon), the first user can refer to the user using the electronic device. If there is one user using the electronic device, then there is one first user; if there are multiple users using the electronic device, then there are multiple first users.
[0113] When the program entry point is the entry point for launching a specific function within the application (e.g., a control within the application), the first user can refer to a user using the same application account. If there is only one user using the same application account, then there is one first user; if there are multiple users using the same application account, then there are multiple first users.
[0114] Historical usage information may include one or more of the following: historical usage count, historical usage duration, historical usage frequency, maximum continuous usage duration, and average usage duration.
[0115] S202. Based on the historical usage information of multiple program entry points, determine at least one target program entry point among the multiple program entry points.
[0116] A target program entry point refers to a program entry point that users frequently use. There can be one or more target program entry points, and a target program entry point can be a part of multiple program entry points.
[0117] An electronic device determines at least one target program entry from multiple program entry points based on historical usage information from multiple program entry points, which can include the following two cases:
[0118] Scenario 1: The user has not set a custom program entry point.
[0119] Custom app entry points are user-defined target app entry points. In other words, if a user sets a custom app entry point, that entry point should be recommended to the user. There can be one or more custom app entry points, and they are part of the target app entry point. Users can also set the display position of custom app entry points on the recommendation page.
[0120] Optionally, if the historical usage information includes the number of historical usages, the electronic device can obtain the number of historical usages of multiple program entry points, sort the historical usages in descending order, determine the top N program entry points among the multiple program entry points, and determine the top N program entry points as the target program entry points.
[0121] For example, if an electronic device has 20 applications installed, the electronic device can obtain the historical usage count of the program entry points corresponding to the 20 applications, sort them in descending order, and determine the top 10 program entry points with the highest historical usage counts as target program entry points.
[0122] Scenario 2: The user has set up M custom program entry points.
[0123] If there are N target program entry points, and since there are M custom program entry points, there are NM non-custom program entry points. Non-custom program entry points are the program entry points other than the M custom program entry points.
[0124] Optionally, if the historical usage information includes the number of historical usages, the electronic device can obtain the historical usage counts of non-custom program entries from multiple program entry points, sort them in descending order, and determine the top NM non-custom program entries among the multiple program entry points. The electronic device can determine M custom program entries and the top NM non-custom program entries as at least one target program entry point.
[0125] For example, if an electronic device has 20 applications installed, including 3 custom applications and 17 non-custom applications, and the target program entry points are set to 10, the electronic device can obtain the historical usage counts of the program entry points corresponding to the 17 non-custom applications, sort them in descending order, and determine the top 7 program entry points based on historical usage counts. The electronic device can then identify the 3 custom applications and the top 7 program entry points based on historical usage counts as the target program entry points.
[0126] Optionally, if the historical usage information includes at least two of the following: historical usage count, historical usage duration, historical usage frequency, maximum continuous usage duration, and average usage duration, weight values can be set for the at least two pieces of information. Based on the at least two pieces of information and their weight values, at least one target program entry point can be determined from among multiple program entry points.
[0127] S203. Obtain current recommendation information.
[0128] Electronic devices can periodically make intelligent recommendations and determine the recommended information. For example, the period can be set to one week, allowing the electronic device to make intelligent recommendations based on the user's usage of various application entry points over the past week. For instance, the electronic device could make intelligent recommendations on February 27, 2022, based on the usage of various application entry points over the past week, and determine the recommended information again on March 6, 2022.
[0129] Current recommendation information refers to information determined by the electronic device in the previous cycle based on historical usage data of various application entry points. Current recommendation information includes at least one recommended application entry point and the current display position of that recommended application entry point on the recommendation page.
[0130] Electronic devices can obtain current recommendation information to determine multiple recommended app entries and their current display positions on the recommendation page.
[0131] The recommendation page displays multiple recommended app entries. Below, we'll combine... Figures 3A-3B The recommended page is explained.
[0132] Figure 3A This is a schematic diagram of a recommendation page provided for an exemplary embodiment of this application. For example... Figure 3A The recommendation page can be displayed as a floating window. It can show multiple recommended app entries: APP-1, APP-2, APP-3, and APP-4. APP-1 is displayed as icon 1, APP-2 as icon 2, APP-3 as icon 3, and APP-4 as icon 4. Users can manually add, delete, or move recommended app entries on the recommendation page.
[0133] Figure 3B This is a schematic diagram of another recommended page provided for an exemplary embodiment of this application. (See diagram below.) Figure 3B The recommendation page can also be displayed as service cards, with the displayed content similar to... Figure 3A The content displayed is the same as in the previous section, so it will not be repeated here.
[0134] Optionally, the recommendations page can also be pinned to the top as a list. For example, see [link to relevant page]. Figure 1B The entry points for skincare products, women's clothing, and other programs under the "My Favorites" control are displayed at the top in a list format.
[0135] S204. Based on the historical usage information and current recommendation information of at least one target program entry point, determine the target display position of at least one target program entry point on the recommendation page.
[0136] When an electronic device determines that at least one target program entry point is in the target display position on the recommendation page, it can first determine whether there is an overlapping program entry point between at least one recommended program entry point and at least one target program entry point, which can include two cases:
[0137] Case 1: There is an overlap between at least one recommended program entry point and at least one target program entry point.
[0138] In this case, the electronic device can use a lazy update strategy to determine the target display position of at least one target program entry on the recommendation page based on the historical usage count of at least one target program entry and the current display position of overlapping program entries on the recommendation page.
[0139] The lazy update strategy refers to the electronic device minimizing changes in the position of overlapping program entries on the recommendation page when updating the recommended program entries on the recommendation page.
[0140] Below, in conjunction with Figure 4A To illustrate scenario 1, we will take historical usage information, including the number of historical uses, as an example.
[0141] Figure 4A This is a schematic diagram illustrating overlapping program entry points as provided in an exemplary embodiment of this application. For example... Figure 4A If the target app entry points include APP-1, APP-2, APP-3, and APP-4, with historical usage counts of 30, 25, 18, and 15 respectively; and the recommended app entry points include APP-5, APP-6, APP-1, and APP-7, with display positions on the recommendation page of icon 1, icon 2, icon 3, and icon 4 respectively, then since APP-1 is an overlapping app entry point in both the target and recommended app entry points, its target display position on the recommendation page will remain icon 3. Based on the order of the target app entry points and historical usage counts, APP-5, APP-6, and APP-7 can be updated to APP-2, APP-3, and APP-4 on the recommendation page, with their target display positions determined to be icon 1, icon 2, and icon 4 respectively.
[0142] Case 2: There is no overlap between at least one recommended program entry point and at least one target program entry point.
[0143] In this case, the electronic device can sort at least one target program entry based on the historical usage count of at least one target program entry, and determine the target display position of at least one target program entry on the recommendation page based on the sorting result.
[0144] Below, in conjunction with Figure 4B To illustrate scenario 2, we will take historical usage information, including the number of historical uses, as an example.
[0145] Figure 4B A schematic diagram illustrating the target program entry point provided for an exemplary embodiment of this application. (See diagram below.) Figure 4B For example, if the target app entry points include APP-1, APP-2, APP-3, and APP-4, with historical usage counts of 30, 25, 18, and 15 respectively; and the recommended app entry points include APP-5, APP-6, APP-7, and APP-8, since the target app entry points and the recommended app entry points do not overlap, then based on the order of the target app entry points and historical usage counts, APP-5, APP-6, APP-7, and APP-8 can be updated to APP-1, APP-2, APP-3, and APP-4 on the recommendation page, and the target display positions can be determined as icon 1, icon 2, icon 3, and icon 4 respectively.
[0146] S205. Based on the target display location, display at least one target program entry point on the recommendation page.
[0147] After determining the target display location of at least one target program entry point, the electronic device can set at least one target program entry point in the entry point recommendation control according to the target display location, and after the user clicks the entry point recommendation control, a recommendation page is generated, which displays at least one target program entry point according to the target display location.
[0148] In this embodiment, the electronic device can determine the historical usage information of a first user on multiple program entry points within a historical time period, and determine at least one target program entry point among the multiple program entry points based on the historical usage information. The electronic device can determine whether there is any overlap between the at least one target program entry point and at least one recommended program entry point. If there is an overlap, the electronic device can determine the target display position of the at least one target program entry point on the recommendation page, which is the current display position of the overlap program entry point; if there is no overlap, the electronic device can determine the target display position of the at least one target program entry point on the recommendation page based on the historical usage information of the at least one target program entry point. Since the electronic device can determine the user's frequently used target program entry points based on the historical usage information of the program entry points, and can combine the display positions of currently recommended program entry points on the recommendation page to determine the display position of the target program entry point on the recommendation page, furthermore, a lazy update strategy can be used to avoid frequent changes in the display position of recommended program entry points on the recommendation page, so that users can quickly find the target program entry point on the recommendation page, improving the efficiency of users finding the target program entry point.
[0149] exist Figure 2 Based on the illustrated embodiment, the following, in conjunction with Figure 5 Taking historical usage information, including the number of historical uses, as an example, we will further explain the above-mentioned program entry recommendation method in detail. Figure 5 A flowchart illustrating another method for recommending program entry points, provided as an exemplary embodiment of this application. Please refer to... Figure 5 The method may include:
[0150] S501. Determine the number of times multiple program entry points have been used in the historical time period.
[0151] In one optional embodiment, the electronic device can identify multiple entry icons corresponding to multiple program entry points, and determine the number of valid clicks on the multiple entry icons within a historical time period. The electronic device can determine the number of valid clicks on each program entry point within a historical time period as the historical usage count of each program entry point within that historical time period.
[0152] For any given program entry point, the electronic device can identify user clicks on various entry point icons, determine the click events of the entry point icons within a historical time period, and further determine the browsing duration of the target page. The electronic device can determine whether the browsing duration is greater than or equal to a preset threshold, and identify click events with browsing durations greater than or equal to the preset threshold as target click events. The electronic device can determine the number of target click events and define the number of target click events as the valid click count of the entry point icon within the historical time period.
[0153] Click events include user clicks and the duration of a user's browsing of the target page.
[0154] The target page is the page that the user is redirected to after clicking the entry icon.
[0155] The preset threshold is a threshold set for the browsing duration. For example, the preset threshold can be 30 seconds, 1 minute, etc.
[0156] For example, assuming a preset threshold of 1 minute; for APP-1, if the electronic device detects that the user clicked the APP-1 entry icon 50 times in the past week, and can determine that the user browsed the target page for more than 1 minute 30 times after clicking the APP-1 entry icon, then the number of target click events can be determined to be 30. The electronic device can determine the number of target click events (30) as the valid click count of APP-1, and further, can determine the number of valid clicks (30) as the historical usage count of APP-1 in the past week.
[0157] S502, Obtain current recommendation information.
[0158] It should be noted that the execution process of S502 can be found in the execution process of step S203, and will not be repeated here.
[0159] S503. Determine whether a custom program entry exists among the recommended program entry points.
[0160] Program entry points can be categorized into custom program entry points and non-custom program entry points. Electronic devices can recognize user actions and identify user-defined program entry points as custom program entry points. Among multiple program entry points, all except for custom program entry points are non-custom program entry points.
[0161] The electronic device can determine whether a custom program entry exists among the recommended program entries and determine the number of custom program entries. If a custom program entry exists among the recommended program entries, S504 can be executed. If no custom program entry exists among the multiple program entries, S505 can be executed.
[0162] S504. Determine at least one target program entry point from the M custom program entry points and the first NM non-custom program entry points.
[0163] If there are N target program entry points, including M custom program entry points and NM non-custom program entry points, the electronic device can obtain and sort the historical usage counts of the non-custom program entry points to determine the top NM non-custom program entry points. The electronic device can then identify the M custom program entry points and the top NM non-custom program entry points as at least one target program entry point.
[0164] After S504, execute S506.
[0165] S505. Determine the first N program entry points from multiple program entry points as at least one target program entry point.
[0166] An electronic device can acquire the historical usage counts of multiple program entry points, sort the historical usage counts in descending order, and determine the top N program entry points. The electronic device can then identify the top N program entry points as at least one target program entry point.
[0167] After S505, execute S506.
[0168] S506. Determine whether there are overlapping program entries among at least one recommended program entry and at least one target program entry.
[0169] If a custom program entry point is determined to exist in S503, and a duplicate program entry point is determined to exist in S506, then S507 is executed.
[0170] If it is determined in S503 that a custom program entry point exists, and it is determined in S506 that there is no overlapping program entry point, then S508 is executed.
[0171] If it is determined in S503 that there is no custom program entry point, and it is determined in S506 that there is a duplicate program entry point, then S509 is executed.
[0172] If it is determined in S503 that there is no custom program entry point, and in S506 it is determined that there is no overlapping program entry point, then S510 is executed.
[0173] S507. Determine the current display position of M custom program entries and overlapping program entries, keeping them unchanged. Determine the target display position of the remaining target program entries on the recommendation page based on their historical usage count.
[0174] If the electronic device determines that there are M custom program entries and X overlapping program entries in the recommended program entries, then the electronic device can determine the current display position of the M custom program entries and X overlapping program entries on the recommendation page as the corresponding target display position.
[0175] If the target program entry points are set to N, then in addition to M custom program entry points and X overlapping program entry points, there are NMX program entry points. The electronic device can obtain and sort the historical usage counts of non-custom and non-overlapping program entry points from these multiple entry points, identifying the top NMX program entry points as the target program entry points. The electronic device can update the recommended program entry points based on these top NMX program entry points and determine their display positions on the recommendation page according to their historical usage counts.
[0176] For example, if an electronic device has 30 applications and sets 10 target applications, and if the electronic device determines that the recommended application entry points include 2 custom application entry points and 1 overlapping application entry point (APP-1, APP-2, and APP-3), then the electronic device can sort the historical usage counts of the remaining 27 application entry points (excluding APP-1, APP-2, and APP-3) and determine the top 7 as target application entry points. The electronic device can then update the recommended application entry points based on these 7 target application entry points and determine the display position of each of the 7 target application entry points on the recommendation page according to their historical usage counts. The fewer historical usage counts a target application entry point has, the further down its display position it will be.
[0177] S508. Determine that the current display positions of the M custom program entries remain unchanged, and determine the target display positions of the remaining target program entries on the recommendation page according to their historical usage counts.
[0178] If the electronic device determines that there are M custom program entries in the recommended program entries and there are no overlapping program entries, the electronic device can determine the target display position of each of the M custom program entries in the current display position of the recommendation page.
[0179] If the target number of program entry points is set to N, then in addition to the M custom program entry points, there are NM program entry points. The electronic device updates the non-custom program entry points among the recommended program entry points to the top NM program entry points. The electronic device can determine the target display positions of the top NMX program entry points on the recommendation page based on the historical usage count of the top NM program entry points.
[0180] For example, if an electronic device has 30 applications and sets 10 target applications, and if the electronic device determines that the recommended application entry points include two custom application entry points, APP-1 and APP-2, then the electronic device can sort the historical usage counts of the remaining 28 application entry points (excluding APP-1 and APP-2) and determine the top 8 as target application entry points. The electronic device can then update the recommended application entry points based on these 8 target application entry points and determine the display position of each of the 8 target application entry points on the recommendation page according to their historical usage counts.
[0181] S509. Determine that the current display position of the overlapping program entry remains unchanged, and determine the target display position of the other target program entry on the recommendation page according to the historical usage count.
[0182] If the electronic device determines that there are X overlapping program entries in the recommended program entries and no custom program entries, the electronic device can determine the current display position of each of the X overlapping program entries on the recommendation page as the corresponding target display position.
[0183] If the target program entry points are set to N, then in addition to the X overlapping program entry points, there are NX program entry points. The electronic device can obtain and sort the historical usage counts of the non-overlapping program entry points among these multiple program entry points, and determine the top NX non-overlapping program entry points as the target program entry points. The electronic device can then determine the target display positions of the top NX program entry points on the recommendation page based on their historical usage counts.
[0184] Non-overlapping program entry points are program entry points other than overlapping program entry points in at least one target program entry point.
[0185] For example, if an electronic device has 30 applications and sets 10 target applications, and if the electronic device determines that there is one overlapping application entry among the recommended application entry points (APP-1), then the electronic device can sort the historical usage counts of the remaining 29 application entry points (excluding APP-1) and determine the top 9 as target application entry points. The electronic device can then update the recommended application entry points based on these 9 target application entry points and determine the display position of each of the 9 target application entry points on the recommendation page according to their historical usage counts.
[0186] S510. Determine the target display location of the target program entry point on the recommendation page based on the historical usage count.
[0187] If the electronic device determines that there are no custom program entries or overlapping program entries among the recommended program entries, the electronic device can update the recommended program entries according to the target program entry, and determine the target display position of at least one target program entry on the recommendation page according to the historical usage count of at least one target program entry.
[0188] For example, if an electronic device has 30 applications and sets 10 as target applications, and if the electronic device determines that there are no overlapping or custom application entries among the recommended application entries, it can sort the 30 application entries by their historical usage count and determine the top 10 as target application entries. The electronic device can then update the recommended application entries based on these 10 target application entries and determine the display position of each of the 10 target application entries on the recommendation page according to their historical usage count.
[0189] S511. Based on the target display location, display at least one target program entry point on the recommendation page.
[0190] Electronic devices can recognize user clicks on entry recommendation controls and, in response to such clicks, generate and display recommendation pages based on at least one target program entry point and its target display location.
[0191] The recommended page includes at least one entry point for the target program, arranged according to the target's display location.
[0192] In an optional embodiment, after the electronic device determines at least one target program entry and its display position on the recommendation page, the electronic device can generate target recommendation information and save it locally. The electronic device can also send the target recommendation information to a server so that the target recommendation information is saved on the server. When the content of the target recommendation information changes, in this embodiment, the electronic device can determine the historical usage counts of multiple program entries within a historical period, sort them according to the historical usage counts, and determine at least one target program entry among the multiple program entries. The electronic device can determine whether there are overlapping program entries and / or custom program entries between at least one target program entry and at least one recommended program entry. If overlapping program entries and / or custom program entries exist, the electronic device can determine the current display position of the overlapping program entries and / or custom program entries on the recommendation page as the target display position; if there are no overlapping program entries and / or custom program entries, the electronic device can determine the target display position of at least one target program entry on the recommendation page based on the historical usage counts of at least one target program entry. Because electronic devices can determine the user's frequently used target program entry points based on the historical usage of program entry points, and can determine the display position of the target program entry point on the recommendation page by combining the display position of currently recommended program entry points on the recommendation page, and further, can avoid frequent changes in the display position of recommended program entry points on the recommendation page through lazy update strategies, so that users can quickly find the target program entry point on the recommendation page, thus improving the efficiency of users finding the target program entry point.
[0193] In practical applications, users may operate on different electronic devices. For example, users may use the same shopping app or video app on different mobile phones, or use the same browser or office software on different computers. In such cases, multiple electronic devices can share recommended target program entry points to improve the flexibility of recommending program entry points to electronic devices.
[0194] Below, based on any of the above embodiments, combined with Figure 6 This paper describes the process of synchronizing target recommendation information between multiple electronic devices for any given application.
[0195] Figure 6 This is a schematic diagram illustrating a process for synchronizing target recommendation information, provided as an exemplary embodiment of this application. Please refer to... Figure 6 The method may include:
[0196] S601, The first electronic device generates target recommendation information.
[0197] The first electronic device can generate target recommendation information based on the historical usage count and current recommendation information of at least one target program entry point in the first electronic device, and determine the generation time of the target recommendation information.
[0198] S602, The first electronic device sends the target recommendation information, generation time, and user account information to the server.
[0199] The target recommendation information may include multiple target program entry points and their respective display positions on the recommendation page. After generating the target recommendation information, the first electronic device can send the target recommendation information, the generation time, and user account information to the server.
[0200] For example, the first electronic device can send target recommendation information to the server. The target recommendation information includes multiple program entry points such as skin care products, women's clothing, and snacks. The display positions are the first list, the second list, and the third list on the recommendation page, respectively. The generation time is 2022 / 2 / 27 8:00, and the user account is -1.
[0201] S603, the second electronic device sends a synchronization request to the server, which includes user account information.
[0202] When a user uses the application on a second electronic device, the user can log in to the application's account. If synchronization is required, the user can click "Enable Sync" on the recommended page. The second electronic device can respond to the user's "Enable Sync" click by sending a synchronization request to the server.
[0203] S604. The server sends a synchronization response to the second electronic device. The synchronization response includes the target recommendation information and the time when the target recommendation information was generated.
[0204] After receiving the synchronization request and user account information from the second electronic device, the server can determine the target recommendation information and the time when the target recommendation information is generated based on the user account information.
[0205] S605, the second electronic device obtains local recommendation information.
[0206] The local recommendation information is the current recommendation information for the second electronic device.
[0207] It should be noted that the execution process of S605 can be found in the execution process of step S203, and will not be repeated here.
[0208] S606, The second electronic device determines whether the generation time of the target recommendation information is later than the generation time of the local recommendation information.
[0209] If not, the second electronic device displays a recommendation page based on local recommendation information.
[0210] If so, then execute S607; alternatively, the second electronic device may also display a recommendation page based on the target recommendation information.
[0211] S607, The second electronic device updates the local recommendation information based on the target recommendation information.
[0212] If the second electronic device determines that the generation time of the target recommendation information is later than the generation time of the local recommendation information, it means that the target recommendation information is the latest information. The second electronic device can then update the local recommendation information based on the target recommendation information and display the recommendation page based on the updated local recommendation information.
[0213] It should be noted that the process of displaying the recommendation page on the second electronic device can be found in [reference needed]. Figure 2 Examples are not described in detail here.
[0214] Below, in conjunction with Figure 7 right Figure 6 The process of synchronizing target recommendation information is illustrated with an example.
[0215] Figure 7 This is a schematic diagram illustrating the recommendation information for multiple electronic device synchronization targets provided in an exemplary embodiment of this application. Please refer to... Figure 7 The system includes a server, electronic device 1, and electronic device 2. If electronic device 1 generates target recommendation information at 7:00 AM on February 27, 2022, this information includes multiple target program entries such as skincare products, women's clothing, and mobile phones, displayed in the first, second, and third lists of "My Favorites," respectively. Electronic device 1 can send this target recommendation information, the generation time (7:00 AM on February 27, 2022), and user account -1 to the server. When a user uses the application on electronic device 2, they can log in using user account -1. Electronic device 2 has an entry recommendation control called "My Favorites," which can have an "Enable Synchronization" function. If a user clicks "Enable Synchronization," electronic device 2 can respond by sending a synchronization request and user account -1 to the server. After receiving the synchronization request and user account -1, the server can send the target recommendation information to electronic device 2 based on user account -1. If the generation time of the target recommendation information is later than the generation time of the current recommendation information, electronic device 2 can update the current recommendation information based on the target recommendation information and display the recommendation page. In this way, electronic device 2 can synchronize the target recommendation information of electronic device 1 to improve the efficiency of users finding the target program entry point on electronic device 2.
[0216] In this embodiment, the first electronic device can generate target recommendation information and send the target recommendation information, generation time, and user account information to the server. The second electronic device can send a synchronization request and user account information to the user. After receiving the synchronization request and user account information from the second electronic device, the server can send the target recommendation information to the second electronic device based on the user account information. The second electronic device can obtain the current recommendation information and determine whether the generation time of the target recommendation information is later than the current recommendation information. If not, the second electronic device does not synchronize the target recommendation information; if so, the second electronic device updates the current recommendation information based on the target recommendation information. Since any electronic device can synchronize the target recommendation information of other electronic devices, the flexibility of the recommendation program entry point to the electronic device is improved.
[0217] Figure 8 This is a schematic diagram of a program entry point recommendation device provided for an exemplary embodiment of this application. Please refer to... Figure 8 The program entry recommendation device includes: a first determining module 11, a second determining module 12, an acquisition module 13, a third determining module 14, and a display module 15, wherein,
[0218] The first determining module 11 is used to determine the historical usage information of the first user on multiple program entry points within a historical time period;
[0219] The second determining module 12 is used to determine at least one target program entry from the plurality of program entry points based on the historical usage information of the plurality of program entry points;
[0220] The acquisition module 13 is used to acquire current recommendation information, which includes at least one recommended program entry and the current display position of the at least one recommended program entry on the recommendation page.
[0221] The third determining module 14 is used to determine the target display position of the at least one target program entry on the recommendation page based on the historical usage information of the at least one target program entry and the current recommendation information;
[0222] The display module 15 is used to display the at least one target program entry point on the recommended page according to the target display location.
[0223] The program entry recommendation device provided in this application embodiment can execute the technical solution shown in the above method embodiment. Its implementation principle and beneficial effects are similar, and will not be described again here.
[0224] In one possible implementation, the historical usage information includes the number of historical uses; the third determining module 14 is specifically used for:
[0225] Determine whether there are any overlapping program entries among the at least one recommended program entry and the at least one target program entry;
[0226] If so, the target display position of the at least one target program entry on the recommendation page is determined based on the historical usage count of the at least one target program entry and the current display position of the overlapping program entry on the recommendation page.
[0227] If not, the at least one target program entry is sorted according to its historical usage count, and the target display position of the at least one target program entry on the recommendation page is determined based on the sorted at least one target program entry.
[0228] In one possible implementation, the third determining module 14 is specifically used for:
[0229] The current display position of the overlapping program entry on the recommendation page is determined as the target display position of the overlapping program entry on the recommendation page.
[0230] Based on the historical usage count of non-overlapping program entries among the at least one target program entry, the non-overlapping program entries are sorted, and the target display position of the non-overlapping program entries on the recommendation page is determined based on the sorted non-overlapping program entries; the non-overlapping program entries are other program entries among the at least one target program entry besides the overlapping program entries.
[0231] In one possible implementation, the historical usage information includes the number of historical uses; the first determining module 11 is specifically used for:
[0232] Determine the multiple entry icons corresponding to the multiple program entry points;
[0233] Determine the number of valid clicks on the multiple entry icons within the historical time period;
[0234] For any given program entry point, the number of valid clicks on that entry point within the historical time period is determined as the historical usage count of that entry point within the historical time period.
[0235] In one possible implementation, the first determining module 11 is specifically used for:
[0236] Determine multiple click events of the entry icon within the historical time period, wherein the click events include the browsing duration of the target page, and the target page is the page to which the user jumps after clicking the entry icon;
[0237] Click events with a browsing duration greater than or equal to a preset threshold are identified as target click events;
[0238] The number of target click events is determined as the number of valid clicks on the entry icon within the historical time period.
[0239] In one possible implementation, the historical usage information includes the number of historical uses; the second determining module 12 is specifically used for:
[0240] The program entry points are sorted in descending order of their historical usage frequency, and the top N program entry points are identified as the at least one target program entry point, where N is an integer greater than or equal to 1; or,
[0241] If there are M custom program entries among the plurality of program entries, then the non-custom program entries are sorted in descending order of their historical usage frequency, and the top NM non-custom program entries and the M custom program entries are determined as the at least one target program entry; wherein, M is an integer greater than or equal to 1, and the non-custom program entries are the other program entries among the plurality of program entries besides the M custom program entries.
[0242] In one possible implementation, the display module 15 is specifically used for:
[0243] In response to a click operation on an entry recommendation control, the recommendation page is generated based on the at least one target program entry and the at least one target display position, the recommendation page including at least one target program entry arranged according to the target display position;
[0244] The recommended page is displayed.
[0245] The program entry recommendation device provided in this application embodiment can execute the technical solution shown in the above method embodiment. Its implementation principle and beneficial effects are similar, and will not be described again here.
[0246] Figure 9 A schematic diagram of another program entry recommendation device provided for an exemplary embodiment of this application. Figure 8 Based on the illustrated embodiments, please refer to Figure 9 The program entry recommendation device 10 also includes a sending module 16, wherein,
[0247] The sending module 16 is used to determine the generation time of the target recommendation information;
[0248] The sending module 16 is used to send the target recommendation information and the generation time to the server, and the target recommendation information and the generation time are used by other electronic devices to display the recommendation page.
[0249] In one possible implementation, the program entry recommendation device 10 further includes an update module 17, wherein the update module 17 is used to,
[0250] After the sending module 16 sends the target recommendation information and the generation time to the server, it requests the server to obtain the target recommendation information and the generation time of the target recommendation information.
[0251] If the local recommendation information is generated earlier than the target recommendation information, then the local recommendation information is updated based on the target recommendation information.
[0252] In one possible implementation, the program entry recommendation device 10 further includes a receiving module 18, wherein,
[0253] The sending module 16 is further configured to send a synchronization request to the server, the synchronization request including user account information;
[0254] The receiving module 18 is used to receive a synchronization response sent by the server, the synchronization response including the target recommendation information and the generation time of the target recommendation information.
[0255] The program entry recommendation device provided in this application embodiment can execute the technical solution shown in the above method embodiment. Its implementation principle and beneficial effects are similar, and will not be described again here.
[0256] An exemplary embodiment of this application provides a structural schematic diagram of an electronic device. Please refer to [link / reference]. Figure 10 The electronic device 20 may include a processor 21 and a memory 22. Exemplarily, the processor 21 and the memory 22 are interconnected via a bus 23.
[0257] The memory 22 stores computer-executed instructions;
[0258] The processor 21 executes the computer execution instructions stored in the memory 22, causing the processor 21 to execute the program entry recommendation method as shown in the above method embodiment.
[0259] Accordingly, embodiments of this application provide a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the program entry point recommendation method described in the above method embodiments.
[0260] Accordingly, embodiments of this application may also provide a computer program product, including a computer program, which, when executed by a processor, can implement the program entry recommendation method shown in the above method embodiments.
[0261] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0262] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in one or more blocks of the flowchart illustrations and / or one or more blocks of the block diagrams.
[0263] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means that implement the functions specified in one or more flowcharts and / or one or more block diagrams.
[0264] These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, such that the instructions, which execute on the computer or other programmable apparatus, provide steps for implementing the functions specified in one or more flowcharts and / or one or more block diagrams.
[0265] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0266] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.
[0267] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.
[0268] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0269] The above description is merely an embodiment of this application and is not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.
Claims
1. A method for recommending program entry points, characterized in that, include: Determine the historical usage information of the first user for multiple program entry points within a historical time period, wherein the historical usage information includes the number of historical uses; Obtain current recommendation information, which includes at least one recommended program entry point and the current display position of the at least one recommended program entry point on the recommendation page; Determine whether there is a custom program entry point among the at least one recommended program entry point, wherein the custom program entry point is a program entry point set by the user; If so, sort the non-custom program entry points in descending order of their historical usage count, and determine the top NM non-custom program entry points and M custom program entry points as at least one target program entry point; where M is an integer greater than or equal to 1. If not, the program entry points are sorted in descending order of their historical usage counts, and the top N program entry points are identified as the at least one target program entry point, where N is an integer greater than or equal to 1. Based on the historical usage information of the at least one target program entry and the current recommendation information, determine the target display position of the at least one target program entry on the recommendation page; Based on the target display location, display the at least one target program entry point on the recommendation page; The step of determining the target display position of the at least one target program entry on the recommendation page based on the historical usage information of the at least one target program entry and the current recommendation information includes: Determine whether there are any overlapping program entries among the at least one recommended program entry and the at least one target program entry; In the case where at least one recommended program entry point exists, a custom program entry point is also present. If there are overlapping program entry points, the current display position of the M custom program entry points and the overlapping program entry points on the recommendation page will remain unchanged, and the target program entry points will be determined to be displayed on the recommendation page according to the historical usage count. If there are no overlapping program entry points, the current display positions of the M custom program entry points on the recommendation page will remain unchanged, and the target display positions of the remaining target program entry points on the recommendation page will be determined according to the historical usage count.
2. The method according to claim 1, characterized in that, The method further includes: In the case where at least one recommended program entry point does not have a custom program entry point. If there are overlapping program entries, the current display position of the overlapping program entries remains unchanged, and the target display positions of the other target program entries in the recommendation page are determined according to the historical usage count. If there are no overlapping program entry points, the target display position of the target program entry point on the recommendation page is determined according to the historical usage count.
3. The method according to claim 1 or 2, characterized in that, The historical usage information includes the number of times the program was used in the past; the historical usage information of multiple program entry points within a historical period is determined, including: Determine the multiple entry icons corresponding to the multiple program entry points; Determine the number of valid clicks on the multiple entry icons within the historical time period; For any given program entry point, the number of valid clicks on that entry point within the historical time period is determined as the historical usage count of that entry point within the historical time period.
4. The method according to claim 3, characterized in that, For any entry icon; Determining the number of valid clicks on the entry icon within the historical time period includes: Determine multiple click events of the entry icon within the historical time period, wherein the click events include the browsing duration of the target page, and the target page is the page to which the user jumps after clicking the entry icon; Click events with a browsing duration greater than or equal to a preset threshold are identified as target click events; The number of target click events is determined as the number of valid clicks on the entry icon within the historical time period.
5. The method according to claim 1 or 2, characterized in that, After generating target recommendation information based on the historical usage information of the at least one target program entry point and the current recommendation information, the method further includes: Determine the generation time of the target recommendation information; The target recommendation information and the generation time are sent to the server. The target recommendation information and the generation time are used by other electronic devices to display the recommendation page.
6. The method according to claim 5, characterized in that, After sending the target recommendation information and the generation time to the server, the process further includes: Request the server to obtain the target recommendation information and the generation time of the target recommendation information; If the local recommendation information is generated earlier than the target recommendation information, then the local recommendation information is updated based on the target recommendation information.
7. The method according to claim 6, characterized in that, Requesting the target recommendation information and the generation time of the target recommendation information from the server includes: Send a synchronization request to the server, the synchronization request including user account information; Receive a synchronization response sent by the server, the synchronization response including the target recommendation information and the time when the target recommendation information was generated.
8. The method according to claim 1 or 2, characterized in that, Based on the target display location, the at least one target program entry point is displayed on the recommendation page, including: In response to a click operation on the entry recommendation control, the recommendation page is generated based on the at least one target program entry and the target display position, the recommendation page including at least one target program entry arranged according to the target display position; The recommended page is displayed.
9. A program entry recommendation device, characterized in that, include: The system comprises a first determining module, a second determining module, an acquiring module, a third determining module, and a display module, wherein... The first determining module is used to determine the historical usage information of the first user for multiple program entry points within a historical time period, wherein the historical usage information includes the number of historical uses; The acquisition module is used to acquire current recommendation information, which includes at least one recommended program entry and the current display position of the at least one recommended program entry on the recommendation page. The second determining module is used to determine whether there is a custom program entry point among the at least one recommended program entry point, wherein the custom program entry point is a program entry point set by the user; If so, sort the non-custom program entry points in descending order of their historical usage count, and determine the top NM non-custom program entry points and M custom program entry points as at least one target program entry point; where M is an integer greater than or equal to 1. If not, the program entry points are sorted in descending order of their historical usage counts, and the top N program entry points are identified as the at least one target program entry point, where N is an integer greater than or equal to 1. The third determining module is used to determine the target display position of the at least one target program entry on the recommendation page based on the historical usage information of the at least one target program entry and the current recommendation information; The display module is used to display the at least one target program entry point on the recommendation page according to the target display location; The third determining module is further configured to: determine whether there are overlapping program entries among the at least one recommended program entry and the at least one target program entry; In the case where at least one recommended program entry point exists, a custom program entry point is also present. If so, then the current display positions of the M custom program entries and the overlapping program entries on the recommendation page remain unchanged, and the target display positions of the remaining target program entries on the recommendation page are determined according to the historical usage count. If not, then the current display position of the M custom program entries on the recommendation page remains unchanged, and the target display position of the remaining target program entries on the recommendation page is determined according to the historical usage count.
10. An electronic device, characterized in that, include: Memory and processor; The memory stores computer-executed instructions; The processor executes computer execution instructions stored in the memory, causing the processor to perform the program entry recommendation method as described in any one of claims 1 to 8.
11. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the program entry recommendation method according to any one of claims 1 to 8.
12. A computer program product comprising a computer program that, when executed by a processor, implements the program entry recommendation method according to any one of claims 1 to 8.