Installation channel determination method and device, electronic equipment and storage medium

By determining the status information of the preset function module collection on the client or server, combined with the preset correspondence table, the application's installation channel determination is realized, solving the problems of strict permissions and relying on third-party SDKs in the existing technology, and improving the accuracy and security of installation channel determination.

CN120179263APending Publication Date: 2025-06-20BEIJING ZITIAO NETWORK TECH CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311754394.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-12-19
Publication Date
2025-06-20

AI Technical Summary

Technical Problem

The installation attribution implementation method used in the prior art is relatively demanding, requiring the device's system operation permissions, and relying on third-party SDKs, which pose permission problems and data security risks.

Method used

By obtaining the target package file of the client, the target status information of the preset function modules are determined in the target package file, and the target installation channel information of the client is determined based on the status information, or the target status information sent by the client is received and the installation channel information is queried from the preset correspondence table.

Benefits of technology

No need to obtain the system operation permissions of the equipment, which reduces the difficulty of determining the application installation channel and improves the accuracy, controllability and security of the installation channel determination results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120179263A_ABST
    Figure CN120179263A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides an installation channel determination method and device, electronic equipment and a storage medium. The method comprises the following steps: acquiring a target program package file of a client; target state information of a preset function module set in the target program package file is determined, the preset function module set comprises at least one preset function module, and the preset function module set has different state information in the program package files adopted by different installation channels; and determining target installation channel information of the client based on the target state information. By means of the technical scheme, the difficulty in determining the application installation channel can be lowered.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present disclosure relate to the field of computer technologies, and in particular, to a method, an apparatus, an electronic device, and a storage medium for determining an installation channel. Background Art

[0002] Currently, an anti-overwrite file is generally configured. Information about an application and an installation channel number is recorded in the file, and the anti-overwrite file is placed in the system partition of the device. Even if the application is upgraded or uninstalled, the anti-overwrite file still exists. It is only necessary to read the information in the anti-overwrite file to determine the installation channel of the application, thereby realizing the installation attribution of the application.

[0003] However, the implementation method of installation attribution in the prior art is relatively demanding and requires obtaining the system operation permission of the device. When the system operation permission of the device is not available, the installation attribution of the application cannot be performed. Summary of the Invention

[0004] Embodiments of the present disclosure provide a method, an apparatus, an electronic device, and a storage medium for determining an installation channel, so as to provide a new installation attribution solution and reduce the difficulty of application installation attribution.

[0005] In a first aspect, an embodiment of the present disclosure provides a method for determining an installation channel, including:

[0006] Obtaining a target program package file of a client;

[0007] Determining target status information of a preset function module set in the target program package file, where the preset function module set includes at least one preset function module, and the preset function module set has different status information in program package files adopted by different installation channels;

[0008] Determining target installation channel information of the client based on the target status information.

[0009] In a second aspect, an embodiment of the present disclosure further provides a method for determining an installation channel, including:

[0010] Receiving target status information sent by a client, where the target status information is status information of a preset function module set in a target program package file of the client, the preset function module set includes at least one preset function module, and the preset function module set has different status information in program package files adopted by different installation channels;

[0011] Querying, from a preset correspondence table, installation channel information corresponding to the target status information as the target installation channel information of the client, where the preset correspondence table is used to record the correspondence between different status information and different installation channel information.

[0012] In a third aspect, an embodiment of the present disclosure further provides a device for determining an installation channel, including:

[0013] A file acquisition module, configured to acquire a target program package file of a client;

[0014] A status determination module, configured to determine target status information of a preset function module set in the target program package file, where the preset function module set includes at least one preset function module, and the preset function module set has different status information in program package files adopted by different installation channels;

[0015] A first channel determination module, configured to determine target installation channel information of the client based on the target status information.

[0016] In a fourth aspect, an embodiment of the present disclosure further provides a device for determining an installation channel, including:

[0017] An information receiving module, configured to receive target status information sent by a client, where the target status information is status information of a preset function module set in a target program package file of the client, the preset function module set includes at least one preset function module, and the preset function module set has different status information in program package files adopted by different installation channels;

[0018] A second channel determination module, configured to query, from a preset correspondence table, installation channel information corresponding to the target status information as the target installation channel information of the client, where the preset correspondence table is used to record the correspondence between different status information and different installation channel information.

[0019] In a fifth aspect, an embodiment of the present disclosure further provides an electronic device, including:

[0020] One or more processors;

[0021] A memory, configured to store one or more programs,

[0022] When the one or more programs are executed by the one or more processors, the one or more processors implement the method for determining an installation channel as described in the embodiment of the present disclosure.

[0023] In a sixth aspect, an embodiment of the present disclosure further provides a computer-readable storage medium, on which a computer program is stored, and when the program is executed by a processor, the method for determining an installation channel as described in the embodiment of the present disclosure is implemented.

[0024] The method, device, electronic device, and storage medium for determining an installation channel provided by an embodiment of the present disclosure obtain a target program package file of a client; determine target status information of a preset function module set in the target program package file, where the preset function module set includes at least one preset function module, and the preset function module set has different status information in program package files adopted by different installation channels; and determine target installation channel information of the client based on the target status information. Alternatively, receive the target status information sent by the client, where the target status information is the status information of the preset function module set in the target program package file of the client, the preset function module set includes at least one preset function module, and the preset function module set has different status information in program package files adopted by different installation channels; query, from a preset correspondence table, the installation channel information corresponding to the target status information as the target installation channel information of the client, where the preset correspondence table is used to record the correspondence between different status information and different channel information. By using the above technical solutions, the embodiments of the present disclosure indicate the installation channel of an application through a preset function module, without the need to obtain the system operation permission of the device or rely on a third-party tool, which can reduce the difficulty of determining the installation channel of the application, improve the accuracy, controllability of the determination result of the application installation channel, and the security of the application installation channel determination process. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] In combination with the accompanying drawings and with reference to the following specific embodiments, the above and other features, advantages, and aspects of the embodiments of the present disclosure will become more obvious. Throughout the drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic, and the original elements and elements are not necessarily drawn to scale.

[0026] Figure 1 It is a schematic flowchart of a method for determining an installation channel provided by an embodiment of the present disclosure;

[0027] Figure 2 It is a schematic flowchart of another method for determining an installation channel provided by an embodiment of the present disclosure;

[0028] Figure 3 It is a schematic flowchart of still another method for determining an installation channel provided by an embodiment of the present disclosure;

[0029] Figure 4 It is a structural block diagram of a device for determining an installation channel provided by an embodiment of the present disclosure;

[0030] Figure 5 It is a structural block diagram of another device for determining an installation channel provided by an embodiment of the present disclosure;

[0031] Figure 6 It is a schematic structural diagram of an electronic device provided by an embodiment of the present disclosure. Detailed Implementation Modes

[0032] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although some embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. On the contrary, these embodiments are provided to more thoroughly and completely understand the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not used to limit the protection scope of the present disclosure.

[0033] It should be understood that the various steps recited in the method embodiments of the present disclosure can be executed in a different order and / or in parallel. In addition, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present disclosure is not limited in this regard.

[0034] The term "including" and its variants used herein are open-ended, that is, "including but not limited to". The term "based on" is "based at least in part on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". The relevant definitions of other terms will be given in the following description.

[0035] It should be noted that the concepts such as "first" and "second" mentioned in the present disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order of the functions executed by these devices, modules or units or their interdependent relationships.

[0036] It should be noted that the modifications of "one" and "multiple" mentioned in the present disclosure are illustrative rather than restrictive. Those skilled in the art should understand that unless otherwise clearly specified in the context, it should be understood as "one or more".

[0037] The names of the messages or information exchanged between multiple devices in the embodiments of the present disclosure are only for illustrative purposes and are not used to limit the scope of these messages or information.

[0038] It can be understood that before using the technical solutions disclosed in the embodiments of the present disclosure, the types, usage scopes, usage scenarios, etc. of the personal information involved in the present disclosure should be informed to the user and the user's authorization should be obtained in an appropriate manner in accordance with relevant laws and regulations.

[0039] For example, when a user's active request is received, a prompt message is sent to the user to clearly prompt the user that the operation requested by the user will require obtaining and using the user's personal information. Thus, the user can autonomously choose whether to provide personal information to software or hardware such as an electronic device, an application program, a server, or a storage medium that performs the operations of the present disclosure technical solution according to the prompt message.

[0040] As an optional but non-limiting implementation manner, the manner of sending a prompt message to the user in response to receiving the user's active request may be, for example, a pop-up window manner, and the prompt message may be presented in text in the pop-up window. In addition, the pop-up window may also carry a selection control for the user to choose "agree" or "disagree" to provide personal information to the electronic device.

[0041] It can be understood that the above notification and user authorization process is only illustrative and does not constitute a limitation on the implementation manner of the present disclosure. Other manners that meet relevant laws and regulations can also be applied to the implementation manner of the present disclosure.

[0042] Figure 1 It is a flowchart of a method for determining an installation channel provided by an embodiment of the present disclosure. This method can be executed by a device for determining an installation channel, where the device can be implemented by software and / or hardware and can be configured in an electronic device. Typically, it can be configured in a mobile phone, a tablet computer, or a computer. For example, it can be configured in a client installed in the electronic device or configured in a server. The method for determining an installation channel provided by an embodiment of the present disclosure is applicable to scenarios of attributing the installation of an application.

[0043] The installation attribution of an application can be briefly described as determining the installation channel information of the application, which can provide the effect of the application advertisement to the application provider. The application advertisement here is a broad sense of advertisement, which can include multiple media channels, such as advertising placement and pre-installation.

[0044] For application advertisements, users have two interactive behaviors: viewing application advertisements and clicking application advertisements. The attribution results can be divided into two types: non-organic traffic and organic traffic. Non-organic traffic can be that the user has interacted with a certain media channel (usually completed through display or click); organic traffic can be that the user has not interacted with the media channel.

[0045] Installation attribution can greatly promote the optimization of application user acquisition and activation, and improve the optimization effect. The accuracy of installation attribution has a greater impact on application providers.

[0046] Taking the pre-installation scenario as an example, pre-installation means pre-installing the application on the device that is about to be shipped by the manufacturer or operator, so that the users who purchase the device can use it. Pre-installation attribution is an important part of pre-installation. The provider of the application needs to accurately identify the channel from which the application is installed to further analyze the effect of pre-installation. For pre-installed applications, there are often three scenarios when users activate them: directly activating the pre-installed version of the application; the application is silently upgraded by the device's application store, and the user activates the latest version of the application after the application store upgrade; the user uninstalls the pre-installed version of the application and then downloads the new version of the application from the application store.

[0047] For the first scenario, adding some identifiers to the pre-installed version of the application can accurately identify the installation source of the application. For the second and third scenarios, because the installation package of the application has changed, it is necessary to have the ability to prevent overwriting, that is, the installation source of the application can still be accurately identified after the application is upgraded or uninstalled and reinstalled.

[0048] Currently, the implementation of application installation attribution requires the help of third-party software development kits (SDKs) such as Appsflyer. The more common attribution anti-overwrite method is to prepare an anti-overwrite file, which records the application information (such as the application package name) and channel number (media_source) information. The device manufacturer or operator places the anti-overwrite file in the system partition of the device. Even if the application is upgraded or uninstalled, the anti-overwrite file still exists. The application only needs to read the information in the anti-overwrite file when it is started for the first time.

[0049] However, this method currently has the following disadvantages: placing the anti-overwrite file requires operating the mobile phone system, requiring partners (such as equipment manufacturers or operators) to have system-level operating capabilities, but usually some operator partners are unable to operate the system; partners are prone to errors when placing anti-overwrite files, causing the anti-overwrite file to be carried on devices that have not been deployed, resulting in attribution errors and settlement losses; the solution relies on a third-party SDK implementation and cannot effectively perform attribution control. At the same time, there is a risk of leakage during data transmission.

[0050] Therefore, the embodiments of the present disclosure provide a new installation attribution solution to reduce the difficulty of application installation attribution and solve at least some of the above-mentioned technical problems existing in the prior art.

[0051] like Figure 1 As shown, the method for determining the installation channel provided in this embodiment may include:

[0052] S101, obtaining a target program package file of a client.

[0053] Among them, the client can be understood as an application for which the installation channel information is to be determined currently. The target package file can be the package file of the client, such as the application file and / or the installation package of the client, etc.

[0054] In this embodiment, the package file of the client can be obtained, such as obtaining the package file of the client from the device on which the client is installed, so as to subsequently determine the installation channel information of the client based on the package file.

[0055] S102. Determine the target status information of the preset function module set in the target package file, where the preset function module set includes at least one preset function module, and the preset function module set has different status information in the package files adopted by different installation channels.

[0056] The preset function module set can be a set of preset function modules. The preset function module set can include one or more preset function modules. The number of preset function modules included in the preset function module set can be determined based on the number of channels of the installation channels, as long as it can indicate each existing installation channel.

[0057] The preset function module can be a function module in the package file of the application for determining the installation channel of the application. The preset function modules included in the package files of different installation channels are not exactly the same. Exemplarily, the package file of a certain installation channel may not include a preset function module, and the package files of other installation channels except this installation channel may include at least one preset function module. At least one of the at least one function modules included in the package files of different installation channels is a different preset function module, so as to indicate the corresponding installation channel based on the status information of the preset function module.

[0058] The preset function module can be configured in the package file in the form of a function module. Thus, the preset function module will not be removed due to the update of the application (such as the update of the package file), avoiding the situation of being unable to determine the installation channel of the application or mis-determining the installation channel of the application. Optionally, the preset function module is configured to be updated along with the update of the basic module in the package file. For example, the version of the preset function module can be consistent with the version of the basic module in the program file package. When the application store updates the application automatically or based on the user's trigger operation, it can update the basic module in the package file, and further update the preset function module in the package file to have the same version number as the updated basic module.

[0059] The basic module in the package file can be a module for implementing the basic functions of the application, and the package files adopted by different installation channels can all contain the basic module. The preset function module in the package file can be an additional module in the package file. The additional module in the package file can include but is not limited to the preset function module. For example, the package file can also contain a function module for implementing other functions besides determining the installation channel.

[0060] Optionally, the package file is an Android application bundle (AAB) file, the basic module is the main module in the AAB file, and the preset function module is the adaptive function module in the AAB file. Among them, the Android App Bundle (AAB) file consists of a Base module and multiple Dynamic Feature (DF) modules. The preset function module can be configured as a DF module in the AAB file. The application store can dynamically distribute the DF module according to the application configuration. Each DF module is independent and can generate a separate Android application package (APK) file in another format, and its version number is consistent with the version number of the Base module.

[0061] Therefore, when the application is updated, it will ensure that the version numbers of all DF modules are consistent with the version number of the Base module. Even if the DF modules included in the old version before the update do not meet the distribution conditions of the application store, the application store will force the update of the DF modules instead of removing them. Thus, the status information of the DF modules (including the preset function modules) in the application package remains unchanged before and after the update. For example, if no preset function module is included in the application package before the update, no preset function module will still be included in the updated application package; if one or more preset function modules are included in the application package before the update, one or more preset function modules will still be included in the updated application package, and which specific preset function modules are included will not change, only the version of the preset function module is updated. Based on this, the installation channel of the application can be determined through the status information of the preset function module.

[0062] The target status information may be the status information of a preset function module set in the target program package file. Exemplarily, the status information can be used to indicate whether the target program package file contains the preset function modules in the preset function module set and / or which preset function modules in the preset function module set are included. Optionally, the target status information is used to indicate whether the target program package file contains the preset function module. For example, for each preset function module in the preset function module set, the target status information can be used to indicate whether the target program package file contains the preset function module.

[0063] Specifically, after obtaining the target program package file of the client, the target status information of the preset function module set in the target program package file can be determined, such as determining the preset function modules included in the target program package file, and obtaining the target status information of the preset function module set in the target program package file according to the determination result.

[0064] S103. Determine the target installation channel information of the client based on the target status information.

[0065] Among them, the target installation channel information can be understood as the installation channel information of the client. The installation channel information can be related information of the installation channel, such as the installation channel name and / or channel number, etc.

[0066] Specifically, after determining the target status information of the preset function module set in the target program package file, the installation channel information (i.e., the target installation channel information) of the client can be determined based on the target status information.

[0067] For example, the program package files of different installation channels may contain different preset function modules. In other words, different preset function modules correspond to different installation channels. Thus, the preset function modules included in the target program package file can be determined according to the target status information, and the installation channel information of the installation channel corresponding to the preset function module is determined as the target installation channel information of the client.

[0068] For another example, the status information of the preset function modules included in the program package files of different installation channels may not be completely the same. For example, the program package files of different installation channels may contain different combinations of preset function modules. Thus, the installation channel information of the installation channel corresponding to the target status information can be determined as the target installation channel information of the client.

[0069] The method for determining the installation channel provided in this embodiment can be executed by the client (i.e., the application for which the installation channel information is to be determined) and / or the server.

[0070] In some embodiments, the client can obtain its own target package file, determine the target status information of the preset function module set in the target package file, and can determine the target installation channel information of the client by itself based on the target status information, or determine the target installation channel information of the client through the server based on the target status information.

[0071] At this time, optionally, determining the target installation channel information of the client based on the target status information includes: querying the installation channel information corresponding to the target status information from a preset correspondence table as the target installation channel information of the client, and sending the target installation channel information to the server, where the preset correspondence table is used to record the correspondence between different status information and different installation channel information; or sending the target status information to the server, where the sent target status information is used for the server to determine the target installation channel information of the client.

[0072] Among them, the preset correspondence table can be a table for recording the correspondence between status information and installation channel information. Exemplarily, the preset correspondence table can record the installation channel information corresponding to each status information of the preset function module set, and it can be pre-configured and stored in the client and / or the server.

[0073] For example, after determining the target status information, the client can query the preset correspondence table, determine the installation channel information recorded in the preset correspondence table and corresponding to the target status information as its own target installation channel information, and can report the target installation channel information to the server.

[0074] Again, for example, after determining the target status information, the client can send the target status information to the server, and the server determines the target installation channel information of the client based on the target status information.

[0075] In some embodiments, the server can obtain the target package file of the client whose installation channel information is to be determined, determine the target status information of the preset function module set in the target package file, and determine the target installation channel information of the client based on the target status information.

[0076] The method for determining the installation channel provided in this embodiment obtains the target package file of the client; determines the target status information of the preset function module set in the target package file, where the preset function module set includes at least one preset function module, and the preset function module set has different status information in the package files adopted by different installation channels; determines the target installation channel information of the client based on the target status information. By using the above technical solution, this embodiment indicates the installation channel of the application through the preset function module, without obtaining the system operation permission of the device or relying on a third-party tool, which can reduce the difficulty of determining the application installation channel, improve the accuracy and controllability of the application installation channel determination result, and the security of the application installation channel determination process.

[0077] Figure 2 It is a schematic flowchart of another method for determining the installation channel provided in an embodiment of the present disclosure. The solution in this embodiment can be combined with one or more optional solutions in the above embodiment. Optionally, the target status information includes the module set code of the preset function module set. Determining the target status information of the preset function module set in the target package file includes: performing a function module detection on the target package file to generate a detection result, where the detection result is used to indicate the module information of the first function module and / or the module information of the second function module, the first function module is a preset function module included in the target package file, and the second function module is a preset function module not included in the target package file; encoding the at least one preset function module according to the detection result by using a preset encoding method to obtain the module set code of the preset function module set.

[0078] Correspondingly, as Figure 2 shown, the method for determining the installation channel provided in this embodiment may include:

[0079] S201. Obtain the target package file of the client.

[0080] S202. Perform a function module detection on the target package file to generate a detection result, where the detection result is used to indicate the module information of the first function module and / or the module information of the second function module, the first function module is a preset function module included in the target package file, and the second function module is a preset function module not included in the target package file.

[0081] In this embodiment, after obtaining the target program file, a function module detection can be performed on the target package file to generate a detection result.

[0082] Exemplarily, the preset function modules included in the target package file can be detected as the first function modules, and the preset function modules not included in the target package file in the preset function module set can be used as the second function modules. Alternatively, for each preset function module in the preset function module set, it can be detected whether the target package file contains the preset function module. If so, the preset function module is used as the first function module; if not, the preset function module is used as the second function module.

[0083] S203. According to the detection result, at least one preset function module is encoded by using a preset encoding method to obtain a module set encoding of the preset function module set, where the preset function module set includes the at least one preset function module, and the preset function module set has different status information in the package files used in different installation channels.

[0084] Among them, the module set encoding of the preset function module set can be understood as the set encoding of the preset function module set obtained based on the target package file. The module set encoding of the preset function module set can be obtained by combining the status codes corresponding to each preset function module included in the preset function module set in a preset arrangement order. The preset function modules included in the target package file and the preset function modules not included in the target package file can correspond to different status codes. The preset encoding method can be a preset encoding method, and this preset encoding method is not limited. Optionally, the preset encoding method includes a binary encoding method to reduce the number of preset function modules that need to be set.

[0085] Specifically, after generating the detection result, according to the detection result, each preset function module included in the preset function module set can be encoded by using a preset encoding method. For example, different status codes are used to encode the first function module and the second function module in the preset function module set to obtain a module set encoding composed of the status codes corresponding to each preset function module in the preset function module set.

[0086] In some embodiments, the step of encoding at least one preset function module by using a preset encoding method according to the detection result to obtain a module set encoding of the preset function module set includes: determining the status code of the first function module as the first status code corresponding to the preset encoding method, and determining the status code of the second function module as the second status code corresponding to the preset encoding method; arranging the status codes of the at least one preset function module in the preset arrangement order corresponding to the preset encoding method; and combining the arranged status codes into one encoding as the module set encoding of the preset function module set.

[0087] Among them, the first status code can be understood as the status code corresponding to the functional modules included in the program package file in a preset encoding method, and the second status code can be understood as the status code corresponding to the functional modules not included in the program package file in the preset encoding method. The first status code and the second status code can be different status codes. For example, the first status code and the second status code can be different numbers or letters, etc. Taking the preset encoding method as the binary encoding method as an example, the first status code can be the number 1, and the second status code can be the number 0; or, the first status code can be the number 0, and the second status code can be the number 1. The preset arrangement order can be the arrangement order of the status codes of different preset functional modules when forming the module set encoding, which can be flexibly set according to needs.

[0088] Exemplarily, after determining the first functional module and the second functional module in the preset functional module set, the status code of the first functional module can be determined as the first status code in the preset encoding method, and the status code of the second functional module can be determined as the second status code in the preset encoding method; arrange the status codes of each first functional module and each second functional module according to the preset arrangement order indicated in the preset encoding method, and combine the arranged status codes into one encoding as the module set encoding of the preset functional module set.

[0089] Taking the pre-installation scenario as an example, assume that the program package file used by the application mall does not include the df_attrbution module (i.e., the preset functional module), and the program package files used by the installation channels other than the application mall include at least one df_attrbution module. Thus, in the scenario of pre-installed application update, the presence of the df_attribution module can be detected before and after the update, while in the scenario of uninstalling and reinstalling, the df_attribution module will not be included in the application's program package file. Therefore, the installation source of the application can be determined by judging the presence of the df_attribution module.

[0090] Exemplarily, the binary encoding format can be used to manage different pre-installation attributions through the arrangement and combination of the df_attribution module. For example, a total of six preset functional modules, df_attrbution_1 to df_attrbution_6, can be newly created. If a certain preset functional module exists in the application's program package file, it is marked as 1, and if a certain preset functional module does not exist in the application's program package file, it is marked as 0, thus constructing a six-digit binary number (i.e., the module set encoding). Thus, 64 different pre-installation attribution information (i.e., installation channel information) can be represented by 6 preset functional modules, that is, the attribution of multiple installation channels can be achieved by using a relatively small number of preset functional modules.

[0091] S204. Determine the target installation channel information of the client based on the target status information, where the target status information includes the module set code of the preset function module set.

[0092] Exemplarily, after determining the module set code of the preset function module set, the target installation channel information of the client can be determined based on the module set code. For example, the installation channel information corresponding to the determined module set code in the preset correspondence table is determined as the target installation channel information of the client.

[0093] The method for determining the installation channel provided in this embodiment generates the module set code of the preset function module set based on whether each preset function module in the program package file of the client contains the preset function module set, and determines the installation channel information of the client based on the module set code of the preset function module set, which can further simplify the amount of computation required in the process of determining the installation channel.

[0094] Figure 3 It is a schematic flowchart of a method for determining an installation channel provided in an embodiment of the present disclosure. This method can be executed by a device for determining an installation channel, where the device can be implemented by software and / or hardware and can be configured in an electronic device. Typically, it can be configured in a computer, such as configured in a server. The method for determining an installation channel provided in an embodiment of the present disclosure is applicable to scenarios where attribution is made for the installation of an application. As Figure 3 shown, the method for determining an installation channel provided in this embodiment may include:

[0095] S301. Receive the target status information sent by the client, where the target status information is the status information of the preset function module set in the target program package file of the client. The preset function module set includes at least one preset function module, and the preset function module set has different status information in the program package files of different installation channels.

[0096] Exemplarily, after the client to determine the installation channel information determines the target status information of the preset function module set in the target program package file, it can send the target status information to the server. Thus, the server can receive the target status information sent by the client.

[0097] S302. Query the installation channel information corresponding to the target status information from the preset correspondence table as the target installation channel information of the client. The preset correspondence table is used to record the correspondence between different status information and different installation channel information.

[0098] Exemplarily, after receiving the target status information sent by the client, the server can query the preset correspondence table to determine the installation channel information recorded in the preset correspondence table and corresponding to the target status information as the target installation channel information of the client.

[0099] The method for determining the installation channel provided in this embodiment receives the target status information sent by the client. The target status information is the status information of the preset function module set in the target program package file of the client. The preset function module set includes at least one preset function module, and the preset function module set has different status information in the program package files adopted by different installation channels; query the installation channel information corresponding to the target status information from the preset correspondence table as the target installation channel information of the client. The preset correspondence table is used to record the correspondence between different status information and different channel information. By using the above technical solution, this embodiment indicates the installation channel of the application through the preset function module, without obtaining the system operation permission of the device and without relying on third-party tools, which can reduce the difficulty of determining the application installation channel, improve the accuracy, controllability of the application installation channel determination result, and the security of the application installation channel determination process.

[0100] Figure 4 It is a structural block diagram of a device for determining an installation channel provided by an embodiment of the present disclosure. This device can be implemented by software and / or hardware, and can be configured in an electronic device. Typically, it can be configured in a mobile phone, a tablet computer or a computer. Exemplarily, it can be configured in the client installed in the electronic device or configured in the server, and can perform installation attribution on the application by executing the method for determining the installation channel. As Figure 4 shown, the device for determining the installation channel provided in this embodiment may include: a file acquisition module 401, a status determination module 402, and a first channel determination module 403, where

[0101] The file acquisition module 401 is used to acquire the target program package file of the client;

[0102] The status determination module 402 is used to determine the target status information of the preset function module set in the target program package file, where the preset function module set includes at least one preset function module, and the preset function module set has different status information in the program package files adopted by different installation channels;

[0103] The first channel determination module 403 is used to determine the target installation channel information of the client based on the target status information.

[0104] The installation channel determination device provided in this embodiment obtains the target package file of the client through the file acquisition module; determines the target status information of the preset function module set in the target package file through the status determination module, where the preset function module set includes at least one preset function module, and the preset function module set has different status information in the package files adopted by different installation channels; determines the target installation channel information of the client based on the target status information through the first channel determination module. By using the above technical solution, this embodiment indicates the installation channel of the application through the preset function module, without obtaining the system operation permission of the device, nor relying on third-party tools, which can reduce the difficulty of determining the application installation channel, improve the accuracy, controllability of the application installation channel determination result, and the security of the application installation channel determination process.

[0105] Optionally, the preset function module is configured to be updated along with the update of the basic module in the package file.

[0106] Optionally, the package file is an Android application package AAB file, the basic module is the main module in the AAB file, and the preset function module is the adaptive function module in the AAB file.

[0107] Optionally, the target status information is used to indicate whether the preset function module is included in the target package file.

[0108] Optionally, the target status information includes the module set code of the preset function module set, and the status determination module 402 includes: a result generation unit for detecting the function modules of the target package file to generate a detection result, where the detection result is used to indicate the module information of the first function module and / or the module information of the second function module, the first function module is the preset function module included in the target package file, and the second function module is the preset function module not included in the target package file; an encoding unit for encoding the at least one preset function module according to the detection result by using a preset encoding method to obtain the module set code of the preset function module set.

[0109] Optionally, the encoding unit is specifically configured to: determine the status code of the first function module as the first status code corresponding to the preset encoding method, and determine the status code of the second function module as the second status code corresponding to the preset encoding method; arrange the status codes of the at least one preset function module in the preset arrangement order corresponding to the preset encoding method; combine the arranged status codes into one code as the module set code of the preset function module set.

[0110] Optionally, the preset encoding method includes a binary encoding method.

[0111] Optionally, the first channel determination module 403 is specifically configured to:

[0112] Query the installation channel information corresponding to the target status information from a preset correspondence table as the target installation channel information of the client, and send the target installation channel information to the server, where the preset correspondence table is used to record the correspondence between different status information and different installation channel information; or, send the target status information to the server, where the sent target status information is used for the server to determine the target installation channel information of the client.

[0113] The installation channel determination device provided by an embodiment of the present disclosure can execute the installation channel determination method provided by any embodiment of the present disclosure, and has function modules and beneficial effects corresponding to executing the installation channel determination method. Technical details not described in detail in this embodiment can be found in the installation channel determination method provided by any embodiment of the present disclosure.

[0114] Figure 5 It is a structural block diagram of an installation channel determination device provided by an embodiment of the present disclosure. This device can be implemented by software and / or hardware, and can be configured in an electronic device. Typically, it can be configured in a computer, such as configured in a server, and can perform installation attribution on an application by executing the installation channel determination method. As Figure 5 shown, the installation channel determination device provided in this embodiment may include: an information receiving module 501 and a second channel determination module 502, where

[0115] The information receiving module 501 is configured to receive the target status information sent by the client, where the target status information is the status information of a preset function module set in the target program package file of the client, the preset function module set includes at least one preset function module, and the preset function module set has different status information in program package files of different installation channels;

[0116] The second channel determination module 502 is configured to query the installation channel information corresponding to the target status information from a preset correspondence table as the target installation channel information of the client, where the preset correspondence table is used to record the correspondence between different status information and different installation channel information.

[0117] The installation channel determination device provided in this embodiment receives, through an information receiving module, target status information sent by a client. The target status information is the status information of a preset function module set in a target program package file of the client. The preset function module set includes at least one preset function module, and the preset function module set has different status information in program package files adopted by different installation channels. The second channel determination module queries, from a preset correspondence table, installation channel information corresponding to the target status information as the target installation channel information of the client. The preset correspondence table is used to record the correspondence between different status information and different channel information. By using the above technical solution, this embodiment indicates the installation channel of an application through a preset function module, without the need to obtain the system operation permission of the device or rely on a third-party tool, which can reduce the difficulty of determining the installation channel of the application, improve the accuracy and controllability of the determination result of the application installation channel, and the security of the application installation channel determination process.

[0118] The installation channel determination device provided in the embodiments of the present disclosure can execute the installation channel determination method provided in any embodiment of the present disclosure, and has corresponding function modules and beneficial effects for executing the installation channel determination method. For technical details not described in detail in this embodiment, reference may be made to the installation channel determination method provided in any embodiment of the present disclosure.

[0119] Reference is made below to Figure 6 , which shows a schematic structural diagram of an electronic device (such as a terminal device) 600 suitable for implementing the embodiments of the present disclosure. The terminal device in the embodiments of the present disclosure may include, but is not limited to, mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Tablet Computers), PMPs (Portable Multimedia Players), in-vehicle terminals (such as in-vehicle navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Figure 6 The electronic device shown is only an example and should not impose any limitation on the functions and usage scope of the embodiments of the present disclosure.

[0120] As Figure 6 shown, the electronic device 600 may include a processing device (such as a central processing unit, a graphics processing unit, etc.) 601, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 602 or a program loaded from a storage device 608 into a random access memory (RAM) 603. In the RAM 603, various programs and data required for the operation of the electronic device 600 are also stored. The processing device 601, the ROM 602, and the RAM 603 are connected to each other through a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.

[0121] Typically, the following devices can be connected to the I / O interface 605: an input device 606 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 607 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 608 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 609. The communication device 609 can allow the electronic device 600 to communicate with other devices wirelessly or wiredly to exchange data. Although Figure 6 the electronic device 600 with various devices is shown, it should be understood that it is not required to implement or have all the shown devices. Instead, more or fewer devices can be implemented or had.

[0122] In particular, according to an embodiment of the present disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, an embodiment of the present disclosure includes a computer program product that includes a computer program carried on a non-transitory computer-readable medium, and the computer program includes program codes for performing the methods shown in the flowcharts. In such an embodiment, the computer program can be downloaded and installed from a network through the communication device 609, or installed from the storage device 608, or installed from the ROM 602. When the computer program is executed by the processing device 601, the above functions defined in the methods of the embodiments of the present disclosure are performed.

[0123] It should be noted that the above-mentioned computer-readable medium in the present disclosure can be a computer-readable signal medium, a computer-readable storage medium, or any combination of the two. The computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the above. More specific examples of the computer-readable storage medium can include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, the computer-readable storage medium can be any tangible medium that contains or stores a program, and this program can be used by or in combination with an instruction execution system, apparatus, or device. In the present disclosure, the computer-readable signal medium can include a data signal propagated in a baseband or as part of a carrier wave, in which the computer-readable program code is carried. Such a propagated data signal can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. The computer-readable signal medium can also be any computer-readable medium other than the computer-readable storage medium, and this computer-readable signal medium can send, propagate, or transmit a program for use by or in combination with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted by any suitable medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.

[0124] In some embodiments, the client and the server can communicate using any currently known or future-developed network protocol such as HTTP (HyperText Transfer Protocol), and can be interconnected with digital data communication in any form or medium (e.g., a communication network). Examples of communication networks include local area networks ("LAN"), wide area networks ("WAN"), the Internet (e.g., the Internet), and end-to-end networks (e.g., ad hoc end-to-end networks), as well as any currently known or future-developed networks.

[0125] The above-mentioned computer-readable medium can be included in the above-mentioned electronic device; it can also exist separately without being assembled into the electronic device.

[0126] The above computer-readable medium carries one or more programs, which, when executed by the electronic device, cause the electronic device to: obtain a target program package file of a client; determine target status information of a preset function module set in the target program package file, where the preset function module set includes at least one preset function module, and the preset function module set has different status information in program package files adopted by different installation channels; determine target installation channel information of the client based on the target status information. Or

[0127] Receive target status information sent by the client, where the target status information is the status information of a preset function module set in the target program package file of the client, the preset function module set includes at least one preset function module, and the preset function module set has different status information in program package files adopted by different installation channels; query, from a preset correspondence table, installation channel information corresponding to the target status information as the target installation channel information of the client, where the preset correspondence table is used to record the correspondence between different status information and different installation channel information.

[0128] Computer program code for performing the operations of the present disclosure may be written in one or more programming languages or combinations thereof. The programming languages include, but are not limited to, object-oriented programming languages such as Java, Smalltalk, C++, and also include conventional procedural programming languages such as the "C" language or similar programming languages. The program code may execute entirely on the user's computer, partially on the user's computer, execute as a stand-alone software package, execute partially on the user's computer and partially on a remote computer, or execute entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (for example, by using an Internet service provider to connect through the Internet).

[0129] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions, and operations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagram may represent a module, a segment of a program, or a part of code that contains one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions noted in the blocks may occur in a different order than noted in the accompanying drawings. For example, two consecutive blocks shown may actually be executed substantially in parallel, or they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram and / or flowchart, and combinations of blocks in the block diagram and / or flowchart, can be implemented by a dedicated hardware-based system that performs the specified functions or operations, or by a combination of dedicated hardware and computer instructions.

[0130] The units involved in the embodiments described in the present disclosure can be implemented in software or in hardware. Among them, the name of the module does not constitute a limitation on the unit itself in some cases.

[0131] The functions described above herein can be performed, at least in part, by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that can be used include: Field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (ASSPs), Systems on Chip (SOCs), Complex Programmable Logic Devices (CPLDs), and so on.

[0132] In the context of the present disclosure, a machine-readable medium can be a tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer disk, a hard disk, a Random Access Memory (RAM), a Read Only Memory (ROM), an Erasable Programmable Read Only Memory (EPROM or Flash Memory), an optical fiber, a portable Compact Disc Read Only Memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0133] According to one or more embodiments of the present disclosure, Example 1 provides a method for determining an installation channel, including:

[0134] Obtain the target package file of the client;

[0135] Determine the target status information of the preset function module set in the target package file, where the preset function module set includes at least one preset function module, and the preset function module set has different status information in the package files adopted by different installation channels;

[0136] Determine the target installation channel information of the client based on the target status information.

[0137] According to one or more embodiments of the present disclosure, Example 2 According to the method described in Example 1, the preset function module is configured to be updated as the basic module in the package file is updated.

[0138] According to one or more embodiments of the present disclosure, Example 3 According to the method described in Example 2, the package file is an Android application package AAB file, the basic module is the main module in the AAB file, and the preset function module is the adaptive function module in the AAB file.

[0139] According to one or more embodiments of the present disclosure, Example 4 According to the method described in Example 1, the target status information is used to indicate whether the preset function module is included in the target package file.

[0140] According to one or more embodiments of the present disclosure, Example 5 According to the method described in Example 1, the target status information includes the module set code of the preset function module set, and determining the target status information of the preset function module set in the target package file includes:

[0141] Perform function module detection on the target package file to generate a detection result, where the detection result is used to indicate the module information of the first function module and / or the module information of the second function module, the first function module is the preset function module included in the target package file, and the second function module is the preset function module not included in the target package file;

[0142] According to the detection result, encode the at least one preset function module using a preset encoding method to obtain the module set code of the preset function module set.

[0143] According to one or more embodiments of the present disclosure, Example 6 According to the method described in Example 5, the step of encoding the at least one preset function module using a preset encoding method according to the detection result to obtain the module set code of the preset function module set includes:

[0144] Determine the status code of the first functional module as the first status code corresponding to the preset encoding method, and determine the status code of the second functional module as the second status code corresponding to the preset encoding method;

[0145] Arrange the status codes of the at least one preset functional module in the preset arrangement order corresponding to the preset encoding method;

[0146] Combine the arranged status codes into one code as the module set code of the preset functional module set.

[0147] According to one or more embodiments of the present disclosure, in Example 7, according to the method described in Example 5, the preset encoding method includes a binary encoding method.

[0148] According to one or more embodiments of the present disclosure, in Example 8, according to the method described in any one of Examples 1-7, determining the target installation channel information of the client based on the target status information includes:

[0149] Query the installation channel information corresponding to the target status information from a preset correspondence table as the target installation channel information of the client, and send the target installation channel information to the server, where the preset correspondence table is used to record the correspondence between different status information and different installation channel information; or

[0150] Send the target status information to the server, where the sent target status information is used for the server to determine the target installation channel information of the client.

[0151] According to one or more embodiments of the present disclosure, Example 9 provides a method for determining an installation channel, including:

[0152] Receive the target status information sent by the client, where the target status information is the status information of a preset functional module set in the target program package file of the client, the preset functional module set includes at least one preset functional module, and the preset functional module set has different status information in the program package files adopted by different installation channels;

[0153] Query the installation channel information corresponding to the target status information from a preset correspondence table as the target installation channel information of the client, where the preset correspondence table is used to record the correspondence between different status information and different installation channel information.

[0154] According to one or more embodiments of the present disclosure, Example 10 provides a device for determining an installation channel, including:

[0155] A file acquisition module, configured to acquire the target program package file of the client;

[0156] A status determination module, configured to determine target status information of a preset function module set in the target program package file, where the preset function module set includes at least one preset function module, and the preset function module set has different status information in program package files adopted by different installation channels;

[0157] A first channel determination module, configured to determine target installation channel information of the client based on the target status information.

[0158] According to one or more embodiments of the present disclosure, Example 11 provides a device for determining an installation channel, including:

[0159] An information receiving module, configured to receive target status information sent by a client, where the target status information is status information of a preset function module set in the target program package file of the client, the preset function module set includes at least one preset function module, and the preset function module set has different status information in program package files adopted by different installation channels;

[0160] A second channel determination module, configured to query installation channel information corresponding to the target status information from a preset correspondence table as the target installation channel information of the client, where the preset correspondence table is used to record the correspondence between different status information and different installation channel information.

[0161] According to one or more embodiments of the present disclosure, Example 12 provides an electronic device, including:

[0162] One or more processors;

[0163] A memory, configured to store one or more programs,

[0164] When the one or more programs are executed by the one or more processors, the one or more processors implement the method for determining an installation channel as described in any one of Examples 1-9.

[0165] According to one or more embodiments of the present disclosure, Example 13 provides a computer-readable storage medium, on which a computer program is stored, and when the program is executed by a processor, the method for determining an installation channel as described in any one of Examples 1-9 is implemented.

[0166] The above description is only a preferred embodiment of the present disclosure and an explanation of the applied technical principles. Those skilled in the art should understand that the scope of the disclosure involved in the present disclosure is not limited to the technical solutions formed by the specific combination of the above technical features, but should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the above disclosure concept. For example, the technical solutions formed by mutually replacing the above features with the technical features (but not limited to) having similar functions disclosed in the present disclosure.

[0167] In addition, although the operations are depicted in a particular order, this should not be construed as requiring that the operations be performed in the particular order shown or in sequential order. In certain circumstances, multitasking and parallel processing may be advantageous. Similarly, although several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of the present disclosure. Certain features described in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, the various features described in the context of a single embodiment may also be implemented separately or in any suitable sub-combination in multiple embodiments.

[0168] Although the subject matter has been described in language specific to structural features and / or methodological logical acts, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are merely example forms for implementing the claims.

Claims

1. A method for determining an installation channel, characterized in that, Including: Obtain the target package file of the client; Determine the target status information of the preset function module set in the target package file, where the preset function module set includes at least one preset function module, and the preset function module set has different status information in the package files adopted by different installation channels; Determine the target installation channel information of the client based on the target status information.

2. The method according to claim 1, characterized in that, The preset function module is configured to be updated along with the update of the base module in the package file.

3. The method according to claim 2, characterized in that, The package file is an Android application package AAB file, the base module is the main module in the AAB file, and the preset function module is the adaptive function module in the AAB file.

4. The method according to claim 1, characterized in that, The target status information is used to indicate whether the preset function module is included in the target package file.

5. The method according to claim 1, characterized in that, The target status information includes the module set code of the preset function module set. Determining the target status information of the preset function module set in the target package file includes: Perform a function module detection on the target package file to generate a detection result, where the detection result is used to indicate the module information of the first function module and / or the module information of the second function module. The first function module is the preset function module included in the target package file, and the second function module is the preset function module not included in the target package file; According to the detection result, encode the at least one preset function module using a preset encoding method to obtain the module set code of the preset function module set.

6. The method according to claim 5, characterized in that, The step of encoding the at least one preset function module using a preset encoding method according to the detection result to obtain the module set code of the preset function module set includes: Determine the status code of the first function module as the first status code corresponding to the preset encoding method, and determine the status code of the second function module as the second status code corresponding to the preset encoding method; Arrange the status codes of the at least one preset function module in the preset arrangement order corresponding to the preset encoding method; Combine the arranged status codes into one code as the module set code of the preset function module set.

7. The method according to claim 5, characterized in that, The preset encoding method includes a binary encoding method.

8. The method according to any one of claims 1-7, characterized in that, The step of determining the target installation channel information of the client based on the target status information includes: Query the installation channel information corresponding to the target status information from the preset correspondence table as the target installation channel information of the client, and send the target installation channel information to the server. The preset correspondence table is used to record the correspondence between different status information and different installation channel information; or Send the target status information to the server, where the sent target status information is used for the server to determine the target installation channel information of the client.

9. A method for determining an installation channel, characterized in that, Including: Receive the target status information sent by the client, where the target status information is the status information of a preset function module set in the target package file of the client. The preset function module set includes at least one preset function module, and the preset function module set has different status information in the package files adopted by different installation channels; Query the installation channel information corresponding to the target status information from a preset correspondence table as the target installation channel information of the client. The preset correspondence table is used to record the correspondence between different status information and different installation channel information.

10. An apparatus for determining an installation channel, characterized in that, Includes: A file acquisition module for acquiring the target package file of the client; A status determination module for determining the target status information of the preset function module set in the target package file, where the preset function module set includes at least one preset function module, and the preset function module set has different status information in the package files adopted by different installation channels; A first channel determination module for determining the target installation channel information of the client based on the target status information.

11. An apparatus for determining an installation channel, characterized in that, Includes: An information reception module for receiving the target status information sent by the client, where the target status information is the status information of a preset function module set in the target package file of the client. The preset function module set includes at least one preset function module, and the preset function module set has different status information in the package files adopted by different installation channels; A second channel determination module for querying the installation channel information corresponding to the target status information from a preset correspondence table as the target installation channel information of the client. The preset correspondence table is used to record the correspondence between different status information and different installation channel information.

12. An electronic device, characterized in that, Includes: At least one processor; And A memory communicatively connected to the at least one processor; wherein, The memory stores a computer program executable by the at least one processor. The computer program is executed by the at least one processor so that the at least one processor can execute the installation channel determination method according to any one of claims 1-9.

13. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions for causing a processor to implement the installation channel determination method according to any one of claims 1-9 when executed.