Object preloading method, electronic device, computer storage medium and program product
Patent Information
- Application Number
- CN202510182407.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-19
- Publication Date
- 2026-08-21
AI Technical Summary
[0003]但是,在应用启动界面展示的信息,对展示速度要求很高,也由此导致对应用加载信息的要求很高
Smart Images

Figure CN122614432A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to an object preloading method, electronic device, computer storage medium, and program product. Background Technology
[0002] The development of internet technology has made it commonplace for people to use various applications (also known as apps) to perform different tasks. Many applications load information onto their startup screen during startup for promotional purposes. For example, many applications display splash screen ads after startup, and so on.
[0003] However, the information displayed on the application's startup screen requires a high display speed, which in turn places high demands on the application's information loading speed. Ensuring that the application's startup screen displays information smoothly during startup has become a pressing issue. Summary of the Invention
[0004] In view of this, embodiments of this application provide an object preloading scheme to at least partially solve the above-mentioned problems.
[0005] According to a first aspect of the embodiments of this application, an object preloading method is provided. The method includes: performing a running state detection on a target application to be displayed on an application startup interface according to a preset detection rule; if the target application is determined to be in a non-running state according to the detection result, then obtaining at least one associated application associated with the target application; and activating the target application using an application in a running state among the at least one associated application, so that the target application is in a running state for object preloading and display.
[0006] According to a second aspect of the embodiments of this application, an object preloading method is provided, applied to a user device where a target application is located. The method includes: receiving an association activation instruction sent by an associated application platform corresponding to the target application, activating the target application in a non-running state to make the target application run; wherein the association activation instruction is sent by the associated application platform at the instruction of an associated application that has an association relationship with the target application; determining the timing for the target application to preload objects based on messages received by the target application in the running state, and instructing the target application to preload at least one object at the timing to display the object in the application startup interface when the target application starts.
[0007] According to a third aspect of the embodiments of this application, an object preloading apparatus is provided. The apparatus includes: a detection module, configured to perform running status detection on a target application for displaying objects on an application startup interface according to preset detection rules; an acquisition module, configured to acquire at least one associated application if the target application is determined to be in a non-running state based on the detection result; and a first activation module, configured to activate the target application using an application in a running state among the at least one associated application, so that the target application is in a running state for object preloading display.
[0008] According to a fourth aspect of the embodiments of this application, an object preloading apparatus is provided, the apparatus comprising: a second activation module, configured to receive an association activation instruction sent by an associated application platform corresponding to the target application, and activate the target application in a non-running state to make the target application run; wherein the association activation instruction is sent by the associated application platform instructed by an associated application having an association relationship with the target application; and a preloading module, configured to determine the timing for the target application to preload objects based on messages received by the target application in the running state, and instruct the target application to preload at least one object at the timing to display the object in the application startup interface when the target application starts.
[0009] According to a fifth aspect of the present application, an electronic device is provided, comprising: a processor, a memory, a communication interface, and a communication bus, wherein the processor, the memory, and the communication interface communicate with each other via the communication bus; the memory is used to store at least one executable instruction, wherein the executable instruction causes the processor to perform an operation corresponding to the method described in the first or second aspect.
[0010] According to a sixth aspect of the embodiments of this application, a computer storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the method as described in the first or second aspect.
[0011] According to a seventh aspect of the embodiments of this application, a computer program product is provided, including computer instructions that instruct a computing device to perform an operation corresponding to the method described in the first or second aspect.
[0012] According to the object preloading scheme provided in this application embodiment, the target application for displaying objects on the application startup screen is subjected to running status detection according to preset detection rules. If the detection result determines that the target application is not running, an associated application that is running is obtained, and the associated application is used to activate the target application to ensure that the target application is running and can preload objects in a timely manner. This ensures that the preloaded objects are successfully displayed on the application startup screen when the target application starts, avoiding the failure to preload objects for display on the application startup screen due to the target application being not running. Furthermore, this ensures the smooth display of objects on the application startup screen, improving the object display effect and efficiency. Attached Figure Description
[0013] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in the embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings.
[0014] Figure 1 A schematic diagram of an exemplary system to which the embodiments of this application are applicable;
[0015] Figure 2 This is a flowchart illustrating the steps of an object preloading method according to an embodiment of this application;
[0016] Figure 3 This is a flowchart illustrating the steps of another object preloading method according to an embodiment of this application;
[0017] Figure 4 This is a schematic diagram of the logic curve for message click prediction according to the embodiments of this application;
[0018] Figure 5 This is a flowchart illustrating the steps of another object preloading method according to an embodiment of this application;
[0019] Figure 6 This is a flowchart of an object preloading timing prediction process according to an embodiment of this application;
[0020] Figure 7 This is a schematic diagram of the structure of an electronic device according to an embodiment of this application. Detailed Implementation
[0021] To enable those skilled in the art to better understand the technical solutions in the embodiments of this application, the technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art should fall within the protection scope of the embodiments of this application.
[0022] The specific implementation of the embodiments of this application will be further described below with reference to the accompanying drawings.
[0023] Figure 1 An exemplary system for an object preloading method applicable to embodiments of this application is shown. For example... Figure 1 As shown, the system 100 may include a server 102, a communication network 104, and / or one or more user equipment 106. Figure 1 The example in the text shows multiple user devices.
[0024] Server 102 can be any suitable device for storing information, data, programs, and / or any other suitable type of content, including but not limited to distributed storage system devices, server clusters, computing cloud server clusters, etc. In some embodiments, server 102 can perform any suitable function. For example, in some embodiments, server 102 can perform the steps required by the server in the object preloading method provided in this application embodiment. For instance, server 102 can detect the running status of the target application. If the target application is not running, it can activate the target application using an associated application that is running, so that the target application is running, in order to perform object preloading and display. As an optional example, in some embodiments, server 102 can send the objects to be preloaded and displayed in the target application to the associated application according to the object download request of the associated application that is running; or, according to the object download request of the target application that is running, send the objects to be preloaded and displayed in the target application to the target application, etc. As another example, in some embodiments, server 102 can obtain the objects to be preloaded and displayed in the target application from the object provider.
[0025] In some embodiments, the communication network 104 may be any suitable combination of one or more wired and / or wireless networks. For example, the communication network 104 may include any one or more of the following: the Internet, an intranet, a wide area network (WAN), a local area network (LAN), a wireless network, a digital subscriber line (DSL) network, a frame relay network, an asynchronous transfer mode (ATM) network, a virtual private network (VPN), and / or any other suitable communication network. The user equipment 106 may be connected to the communication network 104 via one or more communication links (e.g., communication link 112), and the communication network 104 may be linked to the server 102 via one or more communication links (e.g., communication link 114). The communication link may be any communication link suitable for transmitting data between the user equipment 106 and the server 102, such as a network link, a dial-up link, a wireless link, a hardwired link, any other suitable communication link, or any suitable combination of such links.
[0026] User device 106 may include any user device that has a target application installed, which loads and displays one or more objects on the application launch screen. The target application is associated with other applications, i.e., associated applications. Both the target application and associated applications may be installed on the same user device 106. When the target application is not running, the associated application, which is running, can activate the target application to make it run. In some embodiments, user device 106 may include any suitable type of device. For example, in some embodiments, user device 106 may include mobile devices, tablet computers, laptop computers, desktop computers, wearable computers, game consoles, media players, vehicle entertainment systems, and / or any other suitable type of user device. User device 106 can perform the operations required on the user device side in the object preloading method provided in this application embodiment, such as receiving an associated activation instruction sent by the associated application platform corresponding to the target application to activate the target application from a non-running state, thus making the target application run. As an optional example, in some embodiments, user device 106 may be used to determine the timing for a target application to preload objects based on messages received by the target application while it is running, and instruct the target application to preload at least one object at the appropriate time to display the object in the application launch screen when the target application starts. As another example, in some embodiments, user device 106 may be used to determine the timing for a target application to preload objects based on the viewing priority of messages received by the target application while it is running, and instruct the target application to preload at least one object at the appropriate time.
[0027] Based on the above exemplary system, this application provides an object preloading scheme, which will be described below through several embodiments.
[0028] Reference Figure 2 The flowchart illustrates an object preloading method according to an embodiment of this application. This object preloading method is applied to a server and includes the following steps:
[0029] Step S202: According to the preset detection rules, the running status of the target application to be displayed on the application startup interface is detected.
[0030] In this embodiment, the server has preset detection rules. These rules can be any preset rule that can detect the running status of a target application on the user device. However, the specific settings of the detection rules can be configured by those skilled in the art according to actual needs, and this embodiment does not impose any restrictions on this. For example, the detection rules can be implemented using detection tools or by writing detection scripts. Based on this, the server performs running status detection on the target application set on the user device according to the detection rules. The running status detection of the target application can detect whether the target application is running on the user device (in the background of the user device), for example, whether the target application is in a running state or a non-running state on the user device.
[0031] As mentioned earlier, during the startup process, the target application loads objects onto the application startup screen for display. This startup screen, also known as the launch screen or launch page, is the first interface the user sees when opening the application. It is briefly displayed after the user clicks the application icon and before the application fully loads and displays its main functional interfaces. Various types of objects can be displayed on this startup screen, such as advertisements, information on topics like anti-fraud and medical knowledge, or various news articles. The display format of these objects can include, but is not limited to, static images, animated images, and short videos. The prerequisite for these objects to be loaded and displayed on the application startup screen is that the target application is running. Therefore, in this embodiment, the running status of the target application on the user device is first detected by the server. Under normal network connectivity between the server and the user device, the server can detect the running status of the target application on the user device side using a detection tool with configured detection rules or by writing code with these rules.
[0032] Optionally, in one approach, performing runtime status detection on the target application for displaying objects on the application startup interface according to preset detection rules can be achieved by: determining whether there are any objects in the target application that are in a valid state; if there are no objects in the target application that are in a valid state, then performing runtime status detection on the target application.
[0033] An object's valid state indicates whether it currently meets the conditions for being loaded and displayed. In one example, a validity period can be used to determine the object's valid state. If it is within the validity period, the object is valid and can be preloaded and displayed on the application's startup screen. Otherwise, the object is considered invalid. The validity period can be flexibly set by those skilled in the art according to actual needs; for example, it can be set to two calendar days, a few hours, or a shorter or longer period. Before detecting the target application's running status, determining whether there are valid objects in the target application allows for advance determination of whether preloaded objects need to be provided to the target application, rather than determining this after detection. Therefore, if preloaded objects need to be provided to the target application, they can be prepared in advance to ensure the speed and efficiency of object preloading on the user's device.
[0034] Step S204: If the detection result indicates that the target application is not running, then obtain at least one associated application associated with the target application.
[0035] The detection results can indicate whether the target application is in a running state or a non-running state. In this embodiment, the running state means that the application is running in the background, for example, the background thread of the target application exists in the operating system of the user device where the target application is located; the non-running state means that the application is not running or has been terminated by the system, for example, the background thread of the target application does not exist in the operating system of the user device where the target application is located.
[0036] If the detection result indicates that the target application is not running, then at least one associated application is obtained. This associated application is a different application from the target application, but they typically share the same user identifier, such as the same registered account (e.g., device number) or identity information, indicating that both belong to the same user. For example, if applications A, B, and C are all registered to user X's device number, and application A is the target application, then applications B and C are associated applications of application A. There can be one or more associated applications (two or more). Both the target application and associated applications have activation capabilities when running. This activation capability can activate other associated applications that are not running, thus bringing them into operation. Again, using applications A, B, and C as an example, any one of these applications, when running, can activate other applications that are not running.
[0037] Step S206: Activate the target application using at least one running application from the associated applications to put the target application into a running state for object preloading and display.
[0038] After obtaining at least one associated application related to the target application, a running associated application can be selected using any method (such as random selection or selection based on application load). This associated application is then used to activate the target application, even if the target application is already running (e.g., starting or activating a background process or thread). Only a running target application can be used for object preloading and display.
[0039] Optionally, in one approach, activating the target application using at least one running application within an associated application can be achieved by: issuing an associated activation command to the running associated application, so that the associated application activates the target application according to the associated activation command through the associated application platform shared by both the associated application and the target application. The associated application platform stores information about multiple interrelated applications and maintains and manages these applications. In one approach, the associated application platform can be implemented as a keep-alive alliance. Based on this, in this embodiment, the associated application platform executes the associated activation command. After the server issues the associated activation command to the selected running associated application, the associated application can report the associated activation command or the information of receiving the associated activation command to the associated application platform. The associated application platform then activates the target application according to the association relationship between the associated application and the target application, such as sending an activation command for the target application to the user device where the target application is located, so that the target application returns to a running state. In this way, the target application can be activated, and multiple related applications, including the target application and related applications, can be managed efficiently. Furthermore, the related application platform executes the related activation instructions, which reduces the technical requirements and costs for the related applications.
[0040] It should be noted that for multiple interconnected applications belonging to the same associated application platform, one option is that when an application joins the associated application platform, it automatically authorizes other applications within that platform to activate it. Another option is that the clients of each application on the associated application platform can have authorization settings options, allowing users to choose whether to allow other applications to activate it, and which applications are authorized to activate it. A further option is that when an application is to be activated by another application on the associated application platform, a prompt can be displayed on the application's interface, such as a prompt screen, message, or pop-up, for the user to confirm whether to allow the other application to activate it. Activation will only proceed if the user confirms authorization.
[0041] In summary, the object preloading method provided in this embodiment performs runtime status detection on the target application to be displayed on the application startup screen according to preset detection rules. If the detection result determines that the target application is not running, at least one associated application is obtained, and one of the associated applications is determined to be running. This associated application is then used to activate the target application, ensuring that the target application is running and can preload objects in a timely manner. This ensures that the preloaded objects are successfully displayed on the application startup screen when the target application starts, avoiding the failure to preload objects in time during startup and resulting in object display failure on the application startup screen due to the target application being not running. Furthermore, this ensures the smooth display of objects on the application startup screen, improving the object display effect and efficiency.
[0042] In some embodiments, based on Figure 2 The method shown involves activating the target application on the server side, putting it into a running state for object preloading and display. This can be achieved using at least one of the following two methods:
[0043] Method 1: Activate the target application to put it in a running state, and send the objects to be preloaded and displayed in the target application to the associated application based on the object download request of the associated application that activated the target application.
[0044] In this method, objects preloaded and displayed by the target application are sent to the associated application. The associated application can then save the objects to be preloaded and displayed by the target application to a shared storage space on the user's device that is independent of the target application but accessible to the target application. Because the associated application is a running application, objects can be successfully preloaded through the associated application regardless of whether the target application is successfully activated, ensuring the smooth execution of object preloading when the target application starts.
[0045] Method 2 involves activating the target application to put it into a running state, and then sending the objects to be preloaded and displayed in the target application to the target application's local machine based on the object download requests of the running target application.
[0046] In this method, the objects to be preloaded and displayed by the target application are sent to the target application. The target application can then save these objects, which are intended for preloading and display, to its local storage space on the user's device. If the target application is successfully activated, the objects can be successfully preloaded through the target application, ensuring the speed and efficiency of object preloading and display on the application's startup screen, thus greatly improving the user experience.
[0047] However, in some cases, there is still a possibility that the target application activation fails. In such a case, if the server determines that the associated application fails to activate the target application, it obtains the objects that can be displayed in the target application and saves them through the associated application to a shared storage space that is independent of the target application and can be accessed by the target application. Although the activation of the target application using the current associated application fails, there is still a possibility that the target application restarts and activates itself successfully or is activated successfully using other associated applications other than the current associated application. By adopting this method, it can effectively ensure that no matter how the target application is activated, it can obtain the objects for preloading at the fastest speed, improving the efficiency of object preloading in such cases.
[0048] In some other embodiments, based on Figure 2 the method shown, after the target application is activated and in the running state, when object preloading is required, the server can obtain multiple candidate objects from the object provider; sort the multiple candidate objects according to a preset rule, and provide the objects for the target application according to the sorting result. By sorting the multiple candidate objects, the available objects can be quickly screened out, providing an accurate basis for preloading objects for the target application. Optionally, the preset rule includes but is not limited to: the rule of sorting according to the effective duration of the object, and / or, the rule of sorting according to the price of the object. Generally speaking, the longer the effective duration, the higher its effectiveness and availability, which can fully ensure that the preloaded objects for the target application are valid objects; while using the price of the object can better meet the actual object display needs.
[0049] For example, the server performs two-way sorting on the multiple candidate objects: one way is to sort according to the effective duration of the object, obtaining a sequence of multiple candidate objects arranged from large to small or from small to large, and determining the object with the maximum effective duration from this sequence; the other way is to sort according to the price of the object, obtaining a sequence of multiple candidate objects arranged from high to low or from low to high, and determining the object with the highest price from this sequence; providing the object with the maximum effective duration and the object with the highest price to the target application. However, it is not limited to this. It is also possible to first sort according to the effective duration, obtaining the TOP N objects with the longest effective duration (i.e., the longer the effective duration); then, sort these TOP N objects according to the price, and select the TOP M objects from them, and provide these TOP M objects to the target application. Among them, both N and M are positive integers, and M < N. Or, it is possible to first sort according to the price, obtaining the TOP N objects with the highest price (i.e., the higher the price); then, sort these TOP N objects according to the effective duration, and select the TOP M objects from them, and provide these TOP M objects to the target application. As mentioned above, both N and M are positive integers, and M < N.
[0050] Based on this, after the server activates the target application using the associated application, it can directly obtain multiple candidate objects from the object provider, sort the multiple candidate objects according to preset rules, and obtain the sorting result; then, it responds to the target application's object download request and provides the preloaded display object to the target application according to the sorting result, or responds to the associated application's object download request and provides the preloaded display object to the associated application according to the sorting result.
[0051] Alternatively, after the server activates the target application using the associated application, it will receive an object download request from the target application, obtain multiple candidate objects from the object provider according to the object download request, sort the multiple candidate objects according to preset rules, and obtain the sorting result; then, it will provide the preloaded display objects to the target application according to the sorting result.
[0052] Alternatively, after the server activates the target application using the associated application, it will receive an object download request from the associated application, obtain multiple candidate objects from the object provider according to the object download request, sort the multiple candidate objects according to preset rules, and obtain the sorting result; then, it will provide the preloaded display objects to the associated application according to the sorting result.
[0053] In addition, if the server determines that the target application has failed to activate, it can directly obtain multiple candidate objects from the object provider, sort the multiple candidate objects according to preset rules, and obtain the sorting result; then, it responds to the object download request of the associated application and provides the preloaded display object to the associated application according to the sorting result.
[0054] In other embodiments, based on Figure 2 The method shown predicts the next preload time of the target application and then performs runtime status detection on the target application according to preset detection rules before the predicted preload time.
[0055] For example, in one optional approach, the aforementioned runtime status detection of the target application displaying the application startup interface, according to preset detection rules, includes: predicting the next preloading time of the target application based on its historical object preloading information, thus obtaining the predicted preloading time; and performing runtime status detection on the target application according to the preset detection rules before the predicted preloading time. In this way, the preloading time can be known in advance, and runtime status detection of the target application can be performed before that time to avoid invalid detection and save system resources and computing power.
[0056] For example, the server inputs the historical object preloading information of the target application into the time series prediction model, and uses the time series prediction model to predict the next preloading time of the target application, thus obtaining the predicted preloading time. The historical object preloading information can be information about the preloaded objects of the target application within a preset historical time period (including at least the preloading time information). The aforementioned time series prediction models include, but are not limited to: ARMA (Autoregressive Moving Average) models, ARIMA (Autoregressive Integrated Moving Average) models, LSTM (Long Short-Term Memory) models, etc.
[0057] Optionally, in one approach, it can also be determined whether there are any objects in a valid state in the target application before the predicted preloading time; if there are no objects in a valid state in the target application, the running status of the target application is detected according to the preset detection rules.
[0058] By predicting the next preload time of the target application and performing runtime status checks on the target application before the predicted preload time, we can better grasp the timing of the target application's opening. Before the target application is opened, we can complete the preloading of objects to be displayed on the application's startup screen, ensuring that the object is displayed on the application startup screen in a timely manner when the target application is opened. This also avoids the situation where objects are invalid when the target application is opened due to premature preloading. Secondly, while improving the display effect of preloaded objects, it also further improves the display effect of objects, such as increasing the click-through rate of objects and reducing the impact of object loading time on user experience.
[0059] Reference Figure 3 The diagram illustrates a flowchart of another object preloading method provided in this application embodiment. This object preloading method is applied to the user device where the target application resides (i.e., the user device on the terminal side), and its steps include:
[0060] Step S302: Receive the association activation instruction sent by the associated application platform corresponding to the target application, and activate the target application which is in a non-running state so that the target application is in a running state.
[0061] Among them, the association activation instruction is sent by the associated application platform at the instruction of the associated application that has an association relationship with the target application.
[0062] The specific implementation of this step can be referred to the aforementioned... Figure 2 The descriptions of the relevant parts in the method embodiments shown will not be repeated here.
[0063] Step S304: Based on the message received by the target application in the running state, determine the timing for the target application to preload objects, and instruct the target application to preload at least one object at the timing so as to display the object in the application startup interface when the target application starts.
[0064] In this embodiment, in order to more accurately grasp the timing of object preloading, after the target application is activated and running by the associated application, the timing of the target application preloading the object (i.e. the timing of the next time the target application preloads the object) will be determined first, and the object preloading will be performed when the timing arrives.
[0065] To ensure the accuracy of determining the timing of preloading objects, optionally, in one approach, messages received by the target application have different viewing priorities, and different viewing priorities can correspond to different preloading times. The user device can determine the timing of the target application's preloading of objects based on the viewing priorities of messages received by the target application while it is running, and instruct the target application to preload at least one object at the appropriate time. The viewing priority indicates the likelihood that a message will be viewed immediately by the user; a higher priority means the user is more likely to view the message immediately after receiving it. Therefore, this viewing priority provides an effective basis for predicting the timing of preloading objects. The determination of the viewing priority can be appropriately set by those skilled in the art based on actual needs and user habits. For example, voice IM (instant messaging) messages, video IM messages, or IM messages from followed users can be set to the highest priority, such as the first priority; messages with certain identifiers, such as messages with the "@" identifier, or other IM messages besides the aforementioned IM messages can be set to a priority lower than the highest priority, such as the second priority; IM messages from users marked as "Do Not Disturb" or from group chats can be set to the lowest priority, such as the third priority, and so on. However, this is not the only limitation. In practical applications, the priority view can include only the first and second priorities, or it can include more priorities, such as the fourth priority, the fifth priority, and so on.
[0066] An example message viewing priority setting is shown in Table 1 below:
[0067] Table 1 Example of message viewing priority settings
[0068]
[0069] It should be noted that the messages and their corresponding viewing priorities in Table 1 are merely illustrative examples. In practical applications, those skilled in the art can flexibly set the viewing priorities for various types of messages according to actual needs. However, the viewing priority settings for different types of messages in Table 1 are more in line with actual application requirements.
[0070] In one alternative approach, the viewing priority includes a first priority and a second priority (exemplarily, as shown in Table 1). If the viewing priority of a message received by the target application is the first priority, the current time is determined to be the opportune moment for the target application to preload objects, and the target application is instructed to load at least one object immediately. If the viewing priority of a message received by the target application is the second priority, the user device is unlocked for the message. Based on the unlocking detection result, the opportune moment for the target application to preload objects is determined, and the target application is instructed to preload at least one object at that time. The first priority is higher than the second priority. For messages with a higher viewing priority, it means that the user needs to respond within a short time. Therefore, object loading can begin when the target application determines it to be the first priority. For messages with a lower viewing priority, the user does not need to respond within a short time. In this case, the opportune moment for preloading objects can be determined based on the user's unlocking operation on the user device. Thus, not only can messages with high response requirements be responded to quickly, but the opportune moment for preloading objects can also be predicted as accurately as possible based on the message's viewing priority, and object preloading can be performed according to that moment to avoid wasting network resources and user device resources.
[0071] Optionally, the system performs user device unlock detection on messages received by the target application. Based on the unlock detection result, it determines the timing for the target application to preload objects and instructs the target application to preload at least one object at that time. This can be implemented as follows: The system detects screen activation on the user device based on messages received by the target application. If screen activation information is detected, and screen unlock information based on the screen activation information is also detected, the timing for object preloading is determined, and the target application is instructed to immediately preload at least one object. The user device can detect both screen activation and unlocking based on received messages. If screen activation based on received messages is detected, and the user unlocks the device, it means the user needs to view the message immediately after unlocking. Therefore, when screen unlocking is detected, the timing for object preloading is determined, and object preloading is performed immediately. This achieves object preloading for the target application while improving the user experience.
[0072] However, for second-priority messages, users may not view them immediately in some cases, meaning they won't unlock their devices. Therefore, if the target application detects screen-on information for a message received from the user's device but doesn't detect screen unlocking based on that information, a logistic regression model is used to predict the preloading timing. The timing indicated by the prediction result is then determined as the timing for the target application to preload objects, and the target application is instructed to preload at least one object at that timing. Using a logistic regression model allows for more accurate prediction of object preloading timing when the user won't immediately view the message.
[0073] As can be seen from the above, after the target application receives a message, if the message has the highest viewing priority, it means that the target application is likely to be opened to view the message. Therefore, the current time is determined to be the time for the target application to preload objects, and the target application is instructed to preload at least one object immediately.
[0074] If the message has a second priority for viewing, device unlock detection is required. If both screen-on and unlock information based on the screen-on information are detected (e.g., a screen unlock broadcast is heard within 15 seconds of detecting the screen-on information), and the purpose of unlocking is determined to be opening the target application to view the message, the timing for preloading objects is determined, and the target application is instructed to immediately preload at least one object. If screen-on information is detected but no unlock information based on the screen-on information is detected (e.g., no screen unlock broadcast is heard within 15 seconds of detecting the screen-on information), preloading timing is predicted using a logistic regression (LR) model. An exemplary formula for predicting preloading object timing based on an LR model is as follows:
[0075]
[0076] in:
[0077] Ta represents the predicted time for preloaded objects;
[0078] c+α1X t-1 +α2X t-2 +...+α n X t-n +β1ε t-1 +β2ε t-2 +...+β n ε t-m +ε t This is an autoregressive moving average (ARMA) model (a type of LR model), in which c is a constant term; α1, ..., α n For the parameters of the autoregressive part; Xt-1 , ..., X t-n The time series values of the historical objects preloaded for the target application at times t-1, ..., tn represent the autoregressive term; β1, ..., β n ε represents the parameters of the moving average component. t-1 , ..., ε t-m Let ε be the value of the error term at times t-1, ..., tm; t The error term at time t is usually set as white noise;
[0079] Tr represents the time when the target application received the current message; Round() represents a function to round the value; z represents information about the message received by the target application, including but not limited to: message viewing priority information, user device screen unlock status information, and message content information. In one feasible approach, the following can be used: g(z) represents the message click-through rate. Combined with... Figure 4 The formula corresponds to a curve. Input the z value into the formula according to the message. If the output g(z) is in the interval [0.5,1), that is, equal to or greater than 0.5 and less than 1, it means that the message will be clicked to view. Then, the timing of preloading objects is determined, and the target application is instructed to preload at least one object immediately. If the output g(z) is in the interval (0,0.5), that is, greater than 0 and less than 0.5, it means that the message will not be clicked to view, and object preloading will not be performed.
[0080] As can be seen from the formula for predicting the timing of object preloading, ARMA only predicts the timing of user behavior during the main startup (clicking the target application icon). For messages received by the target application, the message click-through rate is estimated using the input z. If it is greater than 0.5, it is determined that the user will click, and an ad request is immediately triggered upon receiving the message (Tr). Otherwise, the minimum value between the main startup click prediction time and the message click prediction time is taken as the timing for triggering object preloading.
[0081] Furthermore, as shown in Table 1 above, message viewing priority can also have a third priority. If the message viewing priority is the third priority, it means that the probability of the target application being opened to view the message is low, and object preloading can be temporarily omitted.
[0082] Table 2 below shows an example relationship between message viewing priority and the timing of preloading objects:
[0083] Table 2
[0084]
[0085] In summary, the object preloading method provided in this embodiment receives and executes the association activation instruction sent by the associated application platform corresponding to the target application, and determines the timing for the target application to preload objects based on the message received by the target application in the running state. At this timing, the probability of the target application being opened is relatively high, and the target application is instructed to preload at least one object at this timing so as to display the object in the application startup interface when the target application starts, thus ensuring that a valid object can be loaded when the target application starts.
[0086] In addition, based on message viewing priority settings and screen-on detection, it can determine whether the target application is likely to be opened, thereby accurately grasping the preloading timing of objects and ensuring that objects can be preloaded and displayed in a timely manner.
[0087] In some embodiments, the user device instructs the target application to load at least one object at the preloading timing determined above. This may involve instructing the target application to preload at least one object from local storage (e.g., the target application's storage space on the user device) at that timing, or to preload at least one object from shared storage space shared with the associated application.
[0088] It should be noted that, Figure 2 The illustrated embodiments and Figure 3 The illustrated embodiments can be combined into a single embodiment to illustrate the interaction process between the server and the user device during the object preloading process.
[0089] Reference Figure 5 The object preloading method provided in this application embodiment is illustrated with a specific example. The object preloading method includes:
[0090] Step S402, process begins.
[0091] Step S404: The server determines that there are no objects in a valid state on the target application's local machine.
[0092] The server determines whether there is a valid object on the target application's local machine; and after determining that there is no valid object on the user's device, it executes step S406.
[0093] Step S406: Determine whether the target application is running.
[0094] The server determines whether the target application is running; if the target application is running, it directly executes step S408; if the target application is not running, it executes step S416.
[0095] Step S408: The target application requests the object to be downloaded from the object provider.
[0096] If the target application is running, it can send an object download request to the server.
[0097] Step S410: Sort the multiple candidate objects in two ways to obtain the object with the highest price and the object with the longest effective duration.
[0098] For example, after receiving an object download request from the target application, the server retrieves multiple candidate objects from the object provider based on the request. These candidate objects are then sorted in two ways: first, by their validity period, resulting in a sequence of candidate objects arranged from largest to smallest or smallest to largest, from which the object with the longest validity period is selected; and second, by their price, resulting in a sequence of candidate objects arranged from highest to lowest or lowest to highest, from which the object with the highest price is selected. The server then sends the object with the highest price and the object with the longest validity period to the target application on the user's device.
[0099] Step S412: The target application downloads the objects obtained from the two-way sorting.
[0100] For example, the target application receives the object with the highest price and the object with the longest validity period sent by the server.
[0101] Step S414: Save the obtained object to the target application's local storage space.
[0102] For example, the object with the highest price and the object with the longest validity period can be saved to the target application's local storage. If the target application is opened, it can preload at least one object from local storage to display it on its application launch screen.
[0103] Step S416: When the target application is not running, send an association activation command to the SDK.
[0104] Once the server determines that the target application is not running, it identifies the associated application and sends an activation command to the SDK (Software Development Kit) integrated into the target application through this associated application to activate the target application. In this example, the SDK acts as the associated application platform.
[0105] Step S418: Determine whether the target application has been successfully activated.
[0106] The server determines whether the target application has been successfully activated; if the target application is successfully activated, proceed to step S408; if the target application fails to activate, proceed to step S420.
[0107] Step S420: The server requests the object to be downloaded from the object provider.
[0108] If the target application is not successfully activated by the currently associated application, the server will directly request the object to be downloaded from the object provider.
[0109] Step S422: Sort the downloaded candidate objects in two ways to obtain the object with the highest price and the object with the longest effective duration.
[0110] The server retrieves multiple candidate objects from the object provider. These candidates are then sorted in two ways: first, by their validity period, resulting in a sequence of candidates arranged from largest to smallest or smallest to largest; from this sequence, the object with the longest validity period is selected. Second, by their price, resulting in a sequence of candidates arranged from highest to lowest or lowest to highest price; from this sequence, the object with the highest price is selected. The server then sends the object with the highest price and the object with the longest validity period to the target application on the user's device.
[0111] Step S424: Associate the application to download the objects obtained from the two sorting methods.
[0112] The user device receives the highest-priced object and the object with the longest validity period from the server through the associated application.
[0113] Step S426: Save the obtained object to the shared storage space.
[0114] The user device saves the most expensive object and the object with the longest validity period to a shared storage space shared by the target application and associated applications. If the target application is opened, it can load at least one object from the shared storage space to display the preloaded object on the application's launch screen.
[0115] Step S428, process ends.
[0116] This example demonstrates a solution that, according to preset detection rules, performs a runtime status check on the target application for displaying objects on the application's startup screen. If the detection results indicate that the target application is not running, a running associated application is obtained and activated using this associated application. This ensures the target application is running and can preload objects in a timely manner, guaranteeing the smooth display of preloaded objects on the application's startup screen. This avoids the failure to preload objects during startup due to the target application being not running, which would result in failed object display on the startup screen. Furthermore, ensuring successful object display on the application's startup screen improves the click-through rate and efficiency of object display, while reducing the impact of object loading on user experience.
[0117] Reference Figure 6The process of object preloading timing prediction in this application embodiment is illustrated with a specific example, which includes the following steps:
[0118] Step S502, process begins.
[0119] In step S504, the target application receives a message sent by another application.
[0120] For example, receiving an IM message sent to the target application by another application.
[0121] Step S506: Determine the message viewing priority.
[0122] For example, the viewing priority of messages can be as shown in Table 1 above.
[0123] Step S508: If the viewing priority of the message is the first priority, proceed to step S510.
[0124] If the message has the highest viewing priority, it means that the target application is likely to be opened immediately to view the message. Therefore, the current time is determined to be the time for the target application to preload objects, and step S510 is executed.
[0125] Step S510: Trigger a real-time request.
[0126] That is, the target application sends a real-time object preload request to the server to request the preload of objects, so that the target application can immediately preload at least one object.
[0127] Step S512: If the viewing priority of the message is the second priority, proceed to step S514.
[0128] Step S514: Determine whether a screen unlock broadcast is detected within a preset time period.
[0129] If the message has a viewing priority of second priority, a device unlock detection needs to be performed for the message. For example, if a screen unlock broadcast is detected within 15 seconds of the screen being turned on, and the purpose of unlocking is determined to be to open the target application to view the message, then the timing for preloading the object is determined, and step S510 is executed. If no screen unlock broadcast is detected within 15 seconds of the screen being turned on, then step S516 is executed.
[0130] Step S516: Predict the timing of preloading objects for the target application.
[0131] For example, the timing of preloading objects can be predicted using the aforementioned formula for predicting the timing of preloading objects based on the LR model.
[0132] Step S518: Preload the object when it is preloaded.
[0133] Then, proceed to step S522.
[0134] Step S520: If the viewing priority of the message is the third priority, proceed to step S522.
[0135] In the above process, the first priority is higher than the second priority, and the second priority is higher than the third priority.
[0136] Step S522, process ends.
[0137] This example demonstrates how to effectively and accurately predict the timing of preloading for a target application.
[0138] Reference Figure 7 This document illustrates a schematic diagram of an electronic device according to an embodiment of this application. The specific embodiments of this application do not limit the specific implementation of the electronic device.
[0139] like Figure 7 As shown, the electronic device may include: a processor 602, a communications interface 604, a memory 606, and a communications bus 608. Wherein:
[0140] The processor 602, communication interface 604, and memory 606 communicate with each other via communication bus 608.
[0141] Communication interface 604 is used for communication with other electronic devices or servers.
[0142] The processor 602 is used to execute program 610, specifically to perform the relevant steps in the above-described object preloading method embodiment.
[0143] Specifically, program 610 may include program code that includes computer operation instructions.
[0144] The processor 602 may be a CPU, a GPU (Graphics Processing Unit), an Application Specific Integrated Circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of this application. The electronic device includes one or more processors, which may be processors of the same type, such as one or more CPUs; or they may be processors of different types, such as one or more CPUs and one or more ASICs.
[0145] Memory 606 is used to store program 610. Memory 606 may include high-speed RAM memory, and may also include non-volatile memory, such as at least one disk storage device.
[0146] Program 610 may include multiple computer instructions. Specifically, program 610 may use multiple computer instructions to cause processor 602 to execute the operation corresponding to the object preloading method described in any of the foregoing multiple method embodiments.
[0147] The specific implementation of each step in program 610 can be found in the corresponding steps and units described in the above method embodiments, and has corresponding beneficial effects, which will not be repeated here. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the devices and modules described above can be referred to the corresponding process descriptions in the foregoing method embodiments, and will not be repeated here.
[0148] This application also provides a computer storage medium storing a computer program thereon, which, when executed by a processor, implements the method described in any of the foregoing method embodiments. The computer storage medium includes, but is not limited to, compact disc read-only memory (CD-ROM), random access memory (RAM), floppy disk, hard disk, or magneto-optical disk.
[0149] This application also provides a computer program product, including computer instructions that instruct a computing device to perform an operation corresponding to any of the object preloading methods in the above-described plurality of method embodiments.
[0150] Furthermore, it should be noted that the user-related information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to sample data used for training the model, data used for analysis, stored data, displayed data, etc.) involved in the embodiments of this application are all information and data authorized by the user or fully authorized by all parties. Moreover, the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and corresponding operation entry points are provided for users to choose to authorize or refuse.
[0151] It should be noted that, depending on the implementation needs, the various components / steps described in the embodiments of this application can be broken down into more components / steps, or two or more components / steps or parts of the operation of components / steps can be combined into new components / steps to achieve the purpose of the embodiments of this application.
[0152] The methods described in the embodiments of this application can be implemented in hardware, firmware, or as software or computer code that can be stored in a recording medium (such as a CD-ROM, RAM, floppy disk, hard disk, or magneto-optical disk), or as computer code downloaded over a network that is originally stored in a remote recording medium or a non-transitory machine-readable medium and will be stored in a local recording medium. Thus, the methods described herein can be stored on a recording medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware (such as an Application Specific Integrated Circuit (ASIC) or a Field Programmable Gate Array (FPGA)). It is understood that the computer, processor, microprocessor controller, or programmable hardware includes storage components (e.g., Random Access Memory (RAM), Read-Only Memory (ROM), Flash Memory, etc.) capable of storing or receiving software or computer code, which, when accessed and executed by the computer, processor, or hardware, implements the methods described herein. Furthermore, when a general-purpose computer accesses code used to implement the methods shown herein, the execution of the code transforms the general-purpose computer into a dedicated computer for executing the methods shown herein.
[0153] Those skilled in the art will recognize that the units and method steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the embodiments of this application.
[0154] The above embodiments are only used to illustrate the embodiments of this application, and are not intended to limit the embodiments of this application. Those skilled in the art can make various changes and modifications without departing from the spirit and scope of the embodiments of this application. Therefore, all equivalent technical solutions also fall within the scope of the embodiments of this application, and the patent protection scope of the embodiments of this application should be defined by the claims.
Claims
1. An object preloading method, applied on a server side, the method comprising: According to the preset detection rules, the target application to be displayed on the application startup interface is subjected to runtime status detection. If, based on the detection results, it is determined that the target application is in a non-running state, then at least one associated application associated with the target application is obtained. The target application is activated by using an application that is running in at least one of the associated applications, so that the target application is running and objects are preloaded and displayed.
2. The method according to claim 1, wherein, Activating the target application to put it into a running state for object preloading and display includes: The target application is activated to put it into a running state, and according to the object download request of the associated application that activated the target application, the object to be preloaded and displayed in the target application is sent to the associated application. or, The target application is activated to put it into a running state, and according to the object download request of the running target application, the objects to be preloaded and displayed in the target application are sent to the target application's local machine.
3. The method according to claim 1 or 2, wherein, Activating the target application using an application that is running in the at least one associated application includes: An association activation command is sent to the associated application that is in operation, so that the associated application activates the target application according to the association activation command through the association application platform that corresponds to both the associated application and the target application.
4. The method according to claim 3, wherein, The method further includes: If the associated application fails to activate the target application, then the object that can be displayed in the target application is obtained and saved by the associated application to a shared storage space that is independent of the target application but accessible by the target application.
5. The method according to claim 1 or 2, wherein, The step of performing runtime status detection on the target application for displaying the application startup interface according to preset detection rules includes: Determine whether there are any objects in a valid state in the target application; If there are no objects in a valid state in the target application, then the target application is subjected to runtime status detection.
6. The method according to claim 1 or 2, wherein, The step of performing runtime status detection on the target application for displaying the application startup interface according to preset detection rules includes: Based on the historical object preloading information of the target application, the next preloading time of the target application is predicted to obtain the predicted preloading time. Before the predicted preloading time, the target application is subjected to runtime status detection according to preset detection rules.
7. The method according to claim 1 or 2, wherein, The method further includes: Obtain multiple candidate objects from the object provider; According to preset rules, the multiple candidate objects are sorted, and objects are provided to the target application based on the sorting results.
8. The method according to claim 7, wherein, The preset rules include: a rule for sorting objects according to their effective duration, and / or a rule for sorting objects according to their price.
9. An object preloading method, applied to a user device where a target application resides, the method comprising: The system receives an association activation instruction sent by an associated application platform corresponding to the target application, and activates the target application, which is in a non-running state, so that the target application is in a running state; wherein, the association activation instruction is sent by the associated application platform at the instruction of the associated application that has an association relationship with the target application. Based on the message received by the target application while it is running, determine the timing for the target application to preload objects, and instruct the target application to preload at least one object at the timing to display the object in the application startup interface when the target application starts.
10. The method according to claim 9, wherein, The step of determining the timing for the target application to preload objects based on messages received by the target application while it is running, and instructing the target application to preload at least one object at that timing, includes: Based on the viewing priority of messages received by the target application while it is running, determine when the target application should preload objects, and instruct the target application to preload at least one object at that time.
11. The method according to claim 10, wherein, The step of determining the timing for the target application to preload objects based on the viewing priority of messages received by the target application while it is running, and instructing the target application to preload at least one object at that timing, includes: If the message viewing priority is the first priority, then the current time is determined to be the time for the target application to preload objects, and the target application is instructed to immediately load at least one object; If the viewing priority of the message is the second priority, then the user device is unlocked for the message. Based on the unlock detection result, the timing for the target application to preload objects is determined, and the target application is instructed to preload at least one object at the timing. The first priority is higher than the second priority.
12. The method according to claim 11, wherein, The step of performing unlock detection on the user device in response to the message, determining the timing for the target application to preload objects based on the unlock detection result, and instructing the target application to preload at least one object at the timing includes: The screen on / off detection of the user device is performed based on the messages received by the target application. If screen-on information of the user device is detected, and screen unlock information based on the screen-on information is detected, the timing of the arrival of the preloaded object is determined, and the target application is instructed to immediately preload at least one of the objects.
13. The method according to claim 12, wherein, The method further includes: If screen-on information of the user device is detected, and no screen unlock information based on the screen-on information is detected, a logistic regression model is used to predict the preloading timing. The timing indicated by the prediction result is determined as the timing for the target application to preload objects, and the target application is instructed to preload at least one object at the timing.
14. The method according to any one of claims 9-13, wherein, The instruction to the target application to preload at least one object at the specified time includes: The target application is instructed to preload at least one object locally at the specified time; or, to preload at least one object from a shared storage space shared with the associated application.
15. An electronic device comprising: The processor, memory, communication interface, and communication bus are provided, wherein the processor, memory, and communication interface communicate with each other via the communication bus. The memory is used to store at least one executable instruction that causes the processor to perform an operation corresponding to the method as described in any one of claims 1-8 or 9-14.
16. A computer storage medium having a computer program stored thereon, which, when executed by a processor, implements the method as described in any one of claims 1-8 or 9-14.
17. A computer program product comprising computer instructions that instruct a computing device to perform an operation corresponding to any one of the methods described in claims 1-8 or 9-14.