Application downloading method and device, computer equipment, readable storage medium and program product
By sending a request message carrying application identification to the eMMTel enable server in the SDK of the IMS terminal, directly obtaining the configuration file of the target application, solving the problem of inefficient application download in the IMS terminal, and achieving a more efficient download process.
Patent Information
- Application Number
- CN202411778709.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-05
- Publication Date
- 2025-04-01
- Estimated Expiration
- 2044-12-05
AI Technical Summary
In the IMS terminal, the number of interactions between the eMMTel client and the eMMTel enable server is large, resulting in inefficient download of the application.
By sending an application configuration list request message to the eMMTel enable server in the SDK of the IMS terminal, carrying the application identification of the target application, directly obtaining the configuration file of the target application, reducing multiple interactions between the eMMTel client and the eMMTel enable server.
Improves the download efficiency of the application, simplifies the download process, and reduces resource usage.
Smart Images

Figure CN119743475A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and in particular to an application downloading method, apparatus, computer equipment, computer-readable storage medium, and computer program product. Background Art
[0002] The download of data channel applications (hereinafter referred to as applications) in IMS (IP Multimedia Subsystem) terminals is achieved through the eMMTel (enhanceMultiMediaTelephony, IMS-based multimedia telephony service) enabling architecture defined in 3GPP TR 23.700.
[0003] When downloading an application based on the eMMTel enabling architecture, the number of interactions between the eMMTel client and the eMMTel enabling server is relatively high, resulting in very low download efficiency of the application. Summary of the invention
[0004] Based on this, it is necessary to provide an application downloading method, apparatus, computer device, computer-readable storage medium and computer program product that can improve the efficiency of application downloading in response to the above technical problems.
[0005] In a first aspect, the present application provides an application download method, which is applied to an SDK in an IMS terminal, and the method includes:
[0006] Sending an application configuration list request message to the eMMTel enabling server, wherein the application configuration list request message carries a first information element table, wherein the first information element table includes a first information element, and the first information element is used to carry an application identifier of a target application;
[0007] Receive an application profile list response message fed back by the eMMTel enabling server in response to the application configuration list request message, wherein the application profile list response message carries a second information element table, wherein the second information element table includes an application profile list, and the application profile list is determined based on the first information element.
[0008] In one of the embodiments, when the first information element carries the application identifier of the target application, the application configuration file list includes the configuration file of the target application.
[0009] In one of the embodiments, the first information element table also includes a second information element and a third information element, the second information element is used to carry an index start value, and the third information element is used to carry the number of paging lists, and when the first information element in the first information element table is empty, the application configuration file list includes a configuration file of at least one candidate application, and the at least one candidate application is determined based on the index start value and the number of paging lists.
[0010] In one embodiment, the method further comprises:
[0011] Sending an application request message to the eMMTel enabling server, wherein the application request message includes a third information element table, and the information elements in the third information element table include an identifier of the application to be downloaded and a version number of the application to be downloaded;
[0012] Receive an application response message fed back by the eMMTel enabling server, wherein the application response message includes a fourth information element table, and the information elements in the fourth information element table include an identifier of the application to be downloaded, a version number of the application to be downloaded, a response code, and a message body, wherein the response code is used to identify the content of this response, and the message body is used to carry the application package of the application to be downloaded.
[0013] In one embodiment, the response code includes a first response code, a second response code, a third response code and a fourth response code, wherein:
[0014] The first response code is used to identify the application program whose latest version has been returned;
[0015] The second response code is used to indicate that the local cache version of the terminal is already the latest version and does not need to be returned to the application;
[0016] The third response code is used to indicate that the version number of the application program cached locally on the terminal is less than the minimum version number of the application program to be downloaded, and the download fails;
[0017] The fourth response code is used to indicate that the terminal user is in the application blacklist or not in the whitelist, and the download fails.
[0018] In one of the embodiments, the triggering condition for sending the application request message to the eMMTel enabling server includes any one of the following:
[0019] In response to a download operation for the application to be downloaded;
[0020] The configuration file of the application to be downloaded includes a target indicator, and the target indicator indicates that the application to be downloaded is automatically downloaded;
[0021] In response to the ADC channel establishment request, ADC negotiation is completed with the peer device.
[0022] In one of the embodiments, when the trigger condition is that the ADC negotiation is completed with the opposite device in response to the establishment request of the ADC channel, the method further includes:
[0023] When the response code indicates that the download fails, the ADC channel established with the opposite device is disconnected.
[0024] In a second aspect, the present application provides an application downloading method, which is applied to an eMMTel enabling server, and the method includes:
[0025] receiving an application configuration list request message sent by an IMS terminal, wherein the application configuration list request message carries a first information element table, wherein the first information element table includes a first information element, and the first information element is used to carry an application identifier of a target application;
[0026] At least one application to be fed back is determined according to the first information element, and an application profile list response message is sent to the IMS terminal, wherein the application profile list response message carries a second information element table, wherein the second information element table includes an application profile list, and the application profile list includes profiles of each of the applications to be fed back.
[0027] In one embodiment, determining at least one application to be fed back according to the first information element includes:
[0028] In a case where the first information element carries the application identifier of the target application, the target application is determined as the application to be fed back.
[0029] In one embodiment, determining at least one application to be fed back according to the first information element includes:
[0030] If the first information element is empty, obtaining the index start value carried by the second information element and the number of paging lists carried by the third information element from the first information element table;
[0031] At least one candidate application is determined based on the index start value and the number of the paging list, and the at least one candidate application is used as the application to be fed back.
[0032] In one embodiment, the method further comprises:
[0033] receiving an application request message sent by the IMS terminal, wherein the application request message includes a third information element table, and the information elements in the third information element table include an identifier of an application to be downloaded and a version number of the application to be downloaded;
[0034] An application response message is sent to the IMS terminal, where the application response message includes a fourth information element table, where the information elements in the fourth information element table include an identifier of the application to be downloaded, a version number of the application to be downloaded, a response code, and a message body, where the response code is used to identify the content of this response, and the message body is used to carry an application package of the application to be downloaded.
[0035] In one embodiment, the response code includes a first response code, a second response code, a third response code and a fourth response code, wherein:
[0036] The first response code is used to identify the application program whose latest version has been returned;
[0037] The second response code is used to indicate that the local cache version of the terminal is already the latest version and does not need to be returned to the application;
[0038] The third response code is used to indicate that the version number of the application program cached locally on the terminal is less than the minimum version number of the application program to be downloaded, and the download fails;
[0039] The fourth response code is used to indicate that the terminal user is in the application blacklist or not in the whitelist, and the download fails.
[0040] In a third aspect, the present application further provides an application downloading device, which is applied to the SDK in the IMS terminal, and the device includes:
[0041] A first sending module, configured to send an application configuration list request message to the eMMTel enabling server, wherein the application configuration list request message carries a first information element table, wherein the first information element table includes a first information element, and the first information element is used to carry an application identifier of a target application;
[0042] The first receiving module is used to receive an application configuration file list response message fed back by the eMMTel enabling server in response to the application configuration list request message, wherein the application configuration file list response message carries a second information element table, wherein the second information element table includes an application configuration file list, and the application configuration file list is determined based on the first information element.
[0043] In one of the embodiments, when the first information element carries the application identifier of the target application, the application configuration file list includes the configuration file of the target application.
[0044] In one of the embodiments, the first information element table also includes a second information element and a third information element, the second information element is used to carry an index start value, and the third information element is used to carry the number of paging lists, and when the first information element in the first information element table is empty, the application configuration file list includes a configuration file of at least one candidate application, and the at least one candidate application is determined based on the index start value and the number of paging lists.
[0045] In one embodiment, the device further comprises:
[0046] A second sending module, configured to send an application request message to the eMMTel enabling server, wherein the application request message includes a third information element table, and the information elements in the third information element table include an identifier of the application to be downloaded and a version number of the application to be downloaded;
[0047] The second receiving module is used to receive an application response message fed back by the eMMTel enabling server, wherein the application response message includes a fourth information element table, and the information elements in the fourth information element table include an identifier of the application to be downloaded, a version number of the application to be downloaded, a response code and a message body, wherein the response code is used to identify the content of this response, and the message body is used to carry the application package of the application to be downloaded.
[0048] In one embodiment, the response code includes a first response code, a second response code, a third response code and a fourth response code, wherein:
[0049] The first response code is used to identify the application program whose latest version has been returned;
[0050] The second response code is used to indicate that the local cache version of the terminal is already the latest version and does not need to be returned to the application;
[0051] The third response code is used to indicate that the version number of the application program cached locally on the terminal is less than the minimum version number of the application program to be downloaded, and the download fails;
[0052] The fourth response code is used to indicate that the terminal user is in the application blacklist or not in the whitelist, and the download fails.
[0053] In one of the embodiments, the triggering condition for sending the application request message to the eMMTel enabling server includes any one of the following:
[0054] In response to a download operation for the application to be downloaded;
[0055] The configuration file of the application to be downloaded includes a target indicator, and the target indicator indicates that the application to be downloaded is automatically downloaded;
[0056] In response to the ADC channel establishment request, ADC negotiation is completed with the peer device.
[0057] In one embodiment, the trigger condition is that in response to the ADC channel establishment request, ADC negotiation is completed with the opposite end device, and the apparatus further includes:
[0058] The disconnection module is used to disconnect the ADC channel established with the opposite device when the response code indicates that the download fails.
[0059] In a fourth aspect, the present application further provides an application downloading device, which is applied to an eMMTel enabling server, and the device includes:
[0060] A first receiving module, configured to receive an application configuration list request message sent by an IMS terminal, wherein the application configuration list request message carries a first information element table, wherein the first information element table includes a first information element, and the first information element is used to carry an application identifier of a target application;
[0061] The first sending module is configured to determine at least one application to be fed back according to the first information element, and send an application configuration file list response message to the IMS terminal, wherein the application configuration file list response message carries a second information element table, wherein the second information element table includes an application configuration file list, and the application configuration file list includes configuration files of each of the applications to be fed back.
[0062] In one embodiment, the first sending module is specifically used for:
[0063] In a case where the first information element carries the application identifier of the target application, the target application is determined as the application to be fed back.
[0064] In one embodiment, the first sending module is specifically used for:
[0065] If the first information element is empty, obtaining the index start value carried by the second information element and the number of paging lists carried by the third information element from the first information element table;
[0066] At least one candidate application is determined based on the index start value and the number of the paging list, and the at least one candidate application is used as the application to be fed back.
[0067] In one embodiment, the device further comprises:
[0068] A second receiving module, configured to receive an application request message sent by the IMS terminal, wherein the application request message includes a third information element table, and the information elements in the third information element table include an identifier of the application to be downloaded and a version number of the application to be downloaded;
[0069] The second sending module is used to send an application response message to the IMS terminal, where the application response message includes a fourth information element table, where the information elements in the fourth information element table include an identifier of the application to be downloaded, a version number of the application to be downloaded, a response code, and a message body, where the response code is used to identify the content of this response, and the message body is used to carry an application package of the application to be downloaded.
[0070] In one embodiment, the response code includes a first response code, a second response code, a third response code and a fourth response code, wherein:
[0071] The first response code is used to identify the application program whose latest version has been returned;
[0072] The second response code is used to indicate that the local cache version of the terminal is already the latest version and does not need to be returned to the application;
[0073] The third response code is used to indicate that the version number of the application program cached locally on the terminal is less than the minimum version number of the application program to be downloaded, and the download fails;
[0074] The fourth response code is used to indicate that the terminal user is in the application blacklist or not in the whitelist, and the download fails.
[0075] In a fifth aspect, the present application further provides a computer device, comprising a memory and a processor, wherein the memory stores a computer program, and the processor implements any of the above application downloading methods when executing the computer program.
[0076] In a sixth aspect, the present application also provides a computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements any of the above application downloading methods.
[0077] In a seventh aspect, the present application also provides a computer program product, including a computer program, which implements any of the above application downloading methods when executed by a processor.
[0078] In the above-mentioned application downloading method, apparatus, computer device, computer-readable storage medium and computer program product, the SDK of the IMS terminal can send an application configuration list request message to the eMMTel enabling server, the application configuration list request message carries a first information element table, the first information element table includes a first information element, and the first information element is used to carry the application identifier of the target application. Subsequently, an application configuration file list response message fed back by the eMMTel enabling server in response to the application configuration list request message can be received, the application configuration file list response message carries a second information element table, the second information element table includes an application configuration file list, and the application configuration file list is determined based on the first information element. Using the application downloading method, apparatus, computer device, computer-readable storage medium and computer program product provided by the embodiment of the present application, the downloading process is realized by the communication interaction between the SDK and the eMMTel enabling server, the application configuration list request message sent by the SDK to the eMMTel enabling server adds an information element for carrying the application identifier of the target application, and in the process of downloading the target application, the configuration file of the target application can be directly obtained through the information element, without the need for multiple interactions between the eMMTel client and the eMMTel enabling server, thereby improving the download efficiency of the target application.
[0079] Moreover, the download process is interactively handled by the SDK and the eMMTel-enabled server at the application layer through the HTTP (Hypertext Transfer Protocol) protocol, which can bypass the DCSF (Data Channel Signaling Function). The implementation of the technical solution has no impact on 5GC (5th Generation Core Network) / IMS. Adding a new SDK to the IMS terminal does not involve modifying the native system. Therefore, the development process of the technical solution is simple and can effectively improve production efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0080] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the drawings required for use in the embodiments of the present application or related technical descriptions will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.
[0081] Figure 1 is a schematic diagram of an eMMTel enabling architecture in one embodiment;
[0082] Figure 2 A schematic diagram of a flow chart of a method for downloading an application program in one embodiment;
[0083] Figure 3 A schematic diagram of a flow chart of downloading steps of an application to be downloaded in one embodiment;
[0084] Figure 4 A schematic diagram of a flow chart of a method for downloading an application program in another embodiment;
[0085] Figure 5 is a flow chart of step 404 in one embodiment;
[0086] Figure 6 is a schematic flow chart of a downloading step of an application to be downloaded in another embodiment;
[0087] Figure 7 is a schematic diagram of the architecture of an IMS terminal in one embodiment;
[0088] Figure 8 A signaling interaction diagram of an application downloading method in one embodiment;
[0089] Fig. 9 A structural block diagram of an application downloading device in an embodiment;
[0090] Fig.10 It is a structural block diagram of an application downloading device in another embodiment;
[0091] Fig.11 FIG. 4 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION
[0092] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0093] The download of data channel applications (hereinafter referred to as applications) in IMS terminals is achieved through the eMMTel enabling architecture defined in 3GPP TR23.700. Figure 1 The eMMTel enabling server is hosted in the operator network that supports the eMMTel service function.
[0094] The eMMTel client and the eMMTel enabling server interact through the eMMTel-1 reference point. The eMMTel client requests the eMMTel enabling server for a list of applications available to the terminal user, and the eMMTel enabling server returns a list of applications in "all page types" to the eMMTel client, along with a configuration file for each application. The configuration file contains multiple indicators set by the application provider or the eMMTel service provider. The indicators include, but are not limited to: download time, such as before or during a call; whether to automatically download and start the application to the terminal; whether to automatically load the application to the local dialer; supported media types; QoS requirements, etc.
[0095] The DCMTSI (DC Multimedia Telephony Service for IMS) client is responsible for creating the bootstrap data channel and actually downloading the application. The eMMTel client interacts with the DCMTSI client specified in 3GPP TS 26.114 through the eMMTel-4 reference point according to the policy provided by the eMMTel enabling server to control the download behavior of DCMTSI.
[0096] However, the current process of using the eMMTel-enabled architecture to download applications has the following problems:
[0097] Currently, the application list returned by the eMMTel enabling server to the eMMTel client is "all-paged", that is, when the user operates on the terminal once (for example, swipe), the eMMTel client requests a page of application list from the eMMTel enabling server, and each page has a fixed number of entries (such as 20, which can be defined). This method does not consider the situation where the user directly searches for a single application, which will lead to a serious problem, that is, if the user wants to find a single application, he has to start from the first page and search page by page, which increases the number of interactions between the eMMTel client and the eMMTel enabling server, and the download efficiency of the application is very low, and it occupies more resources.
[0098] The embodiment of the present application provides an application downloading method to solve the above technical problems. The application downloading method provided by the embodiment of the present application is introduced below through a specific embodiment.
[0099] In one embodiment, Figure 2 As shown, a method for downloading an application is provided. This embodiment uses the method applied to the SDK (Software Development Kit) in the IMS terminal as an example. It can be understood that the IMS terminal refers to a user device or client that supports the IMS technology. The IMS terminal is mainly responsible for multimedia communications on the IP network, including voice, video, messaging and other services, and can include smart phones, tablet computers, fixed telephone devices, PC clients, etc. In this embodiment, the method includes the following steps:
[0100] Step 202: Send an application configuration list request message to the eMMTel enabling server. The application configuration list request message carries a first information element table. The first information element table includes a first information element. The first information element is used to carry an application identifier of a target application.
[0101] In the embodiment of the present application, according to the configuration information set by the application provider or eMMTel service provider through controlling the application server, the configuration file and application download package of each application are stored in the eMMTel enabling server. The SDK can send an application configuration list request message to the eMMTel enabling server.
[0102] Exemplarily, in an IMS terminal, the SDK can call the "Service+SOC" component through a pre-defined AIDL (Android Interface Definition Language, an Android-specific language used to define the interface used for cross-process communication between clients and services) interface, and send and receive HTTP protocol packets for interaction between the SDK and the eMMTel-enabled server at the IMS protocol layer.
[0103] Among them, Service refers to a set of functions or programs provided by the operating system to support the execution of applications, manage hardware resources, and provide interfaces for users and programs. SOC (System on Chip) is a highly integrated microchip that integrates multiple chip functions, such as microprocessors, analog IP cores, digital IP cores, and memory, on a single silicon chip to achieve the integration of key system components. That is, in this example, the SDK can call the Service through the pre-defined AIDL interface, and the Service controls the SOC to create a BDC (Bootstrap data center) channel, and then the SDK can interact with the eMMTel-enabled server through messages in the BDC channel.
[0104] The application configuration list request message sent by the SDK to the eMMTel enabling server may include a first information element table, wherein the first information element table includes a first information element, and the first information element is used to carry the application identifier of the target application. The application identifier of the target application may include the ID of the target application, the name of the target application, the search keywords corresponding to the target application, etc.
[0105] Exemplarily, the first information element table in the application configuration list request message is shown in Table 1.
[0106] Table 1
[0107]
[0108] Among them, state M indicates mandatory (that is, required), and state O indicates optional (that is, not required). SDK version number is the version number of SDK. After receiving the application configuration list request message, the eMMTel enabling server needs to obtain the SDK version number from the application configuration list request message to verify the SDK version.
[0109] For example, in a scenario where a user operates an IMS terminal to search for a target application, the first information element in the first information element table may carry an application identifier of the target application, that is, the information element in the first information element table includes the application identifier of the target application. Alternatively, when a user operates an IMS terminal to browse a page corresponding to an application, the first information element is empty.
[0110] The second information element is the index start value, which carries the value of the index start value of the configuration file of the first application required in the application configuration file list. For example, when requesting the eMMTel enabling server to return the application list, the SDK needs to tell the eMMTel enabling server which item to start returning. Generally, it is set to 0, which means starting from the first page. For example, if 25 items are displayed at a time, the next page will start from the 25th item in the application list, and this value should be set to 25.
[0111] This information element is displayed if the requested application is not the first in the application list. For example, when the application list needs to be displayed in multiple pages, this information element needs to be included when requesting pages other than the first page. If this information element is not present, the default value of this information element is 0.
[0112] The third information element is the number of page lists, which identifies the number of application configuration file lists requested, that is, the number of application programs that can be displayed in the page.
[0113] Step 204: Receive an application profile list response message fed back by the eMMTel enabling server in response to the application configuration list request message. The application profile list response message carries a second information element table. The second information element table includes an application profile list. The application profile list is determined based on the first information element.
[0114] In an embodiment of the present application, after receiving the application configuration list request message, the eMMTel enabling server can feedback an application configuration file list response message to the SDK. The application configuration file list response message carries a second information element table, and the second information element table includes an application configuration file list. The configuration file carried in the application configuration file list is determined by the eMMTel enabling server based on the first information element.
[0115] Exemplarily, the second information element table in the application profile list response message is shown in Table 2.
[0116] Table 2
[0117]
[0118] Table 3
[0119]
[0120] Exemplarily, when the first information element is not empty, the eMMTel enabling server may feedback a configuration file of an application corresponding to the application identifier carried by the first information element; or, when the first information element is empty, the eMMTel enabling server may feedback a configuration file of an application corresponding to the page currently to be viewed.
[0121] In the above-mentioned application download method, the SDK of the IMS terminal can send an application configuration list request message to the eMMTel enabling server, and the application configuration list request message carries a first information element table, and the first information element table includes a first information element, and the first information element is used to carry the application identifier of the target application. Subsequently, an application configuration file list response message fed back by the eMMTel enabling server in response to the application configuration list request message can be received, and the application configuration file list response message carries a second information element table, and the second information element table includes an application configuration file list, and the application configuration file list is determined based on the first information element. Using the application download method provided in the embodiment of the present application, the download process is realized by the communication interaction between the SDK and the eMMTel enabling server, and the application configuration list request message sent by the SDK to the eMMTel enabling server adds an information element for carrying the application identifier of the target application. In the process of downloading the target application, the configuration file of the target application can be directly obtained through the information element, without the need for multiple interactions between the eMMTel client and the eMMTel enabling server, thereby improving the download efficiency of the target application.
[0122] Moreover, the download process is interactively handled by the SDK and the eMMTel-enabled server at the application layer through the HTTP (Hypertext Transfer Protocol) protocol, which can bypass the DCSF (Data Channel Signaling Function). The implementation of the technical solution has no impact on 5GC (5th Generation Core Network) / IMS. Adding a new SDK to the IMS terminal does not involve modifying the native system. Therefore, the development process of the technical solution is simple and can effectively improve production efficiency.
[0123] In an exemplary embodiment, when the first information element carries an application identifier of a target application, the application configuration file list includes a configuration file of the target application.
[0124] In the embodiment of the present application, when the user operates the IMS terminal to search for a specified application, the first information element carries the application identifier input by the user. When the first information element is not empty, the eMMTel enabling server directly determines the target application based on the fuzzy search of the first information element, and carries the configuration file of the target application in the second information element table in the feedback application configuration file list response message.
[0125] In an exemplary embodiment, the first information element table also includes a second information element and a third information element, the second information element is used to carry an index start value, and the third information element is used to carry the number of paging lists. When the first information element in the first information element table is empty, the application profile list includes a profile of at least one candidate application, and the at least one candidate application is determined based on the index start value and the number of paging lists.
[0126] In an embodiment of the present application, when the user browses the pages, that is, when the application identifier is not entered, in response to a triggering operation such as swiping by the user on the IMS terminal, the first information element in the first information element table of the application configuration list request message sent by the SDK to the eMMTel enabling server is empty, the second information element carries the index start value, and the third information element carries the number of paging lists. The index start value and the number of paging lists have been introduced in the previous embodiments and will not be repeated here in the embodiments of the present application.
[0127] When the first information element is empty, the eMMTel enabling server obtains the index start value and the number of paging lists from the first information element, searches for the number of applications in the paging list from the application list as candidate applications based on the index start value, and carries the configuration file of each candidate application in the second information element table in the feedback application configuration file list response message.
[0128] In an exemplary embodiment, referring to Figure 3 As shown, the above method further includes the following steps 302 to 304, wherein:
[0129] Step 302: Send an application request message to the eMMTel enabling server, where the application request message includes a third information element table, where the information elements in the third information element table include an identifier of the application to be downloaded and a version number of the application to be downloaded;
[0130] Step 304, receiving an application response message fed back by the eMMTel enabling server, the application response message includes a fourth information element table, the information elements in the fourth information element table include an identifier of the application to be downloaded, a version number of the application to be downloaded, a response code and a message body, the response code is used to identify the content of this response, and the message body is used to carry the application package of the application to be downloaded.
[0131] In an embodiment of the present application, after obtaining the application configuration file list, the SDK of the IMS terminal can continue to send an application request message to the eMMTel enabling server. The application request message includes a third information element table, and the information elements in the third information element table include the identifier of the application to be downloaded and the version number of the application to be downloaded. Exemplarily, if the IMS terminal has a local cache of the application to be downloaded, the third information element table may include the identifier and version number of the application to be downloaded, or if the IMS terminal does not have a local cache of the application to be downloaded, the third information element table may include the identifier of the application to be downloaded, and the version number is empty.
[0132] Exemplarily, the third information element table in the application request message is shown in Table 4.
[0133] Table 4
[0134]
[0135] After the eMMTel enabling server receives the application request message, it can feedback an application response message in response to the application request message. The application response message includes a fourth information element table. The information elements in the fourth information element table include an identifier of the application to be downloaded, a version number of the application to be downloaded, a response code and a message body. The response code is used to identify the content of this response, and the message body is used to carry the application package of the application to be downloaded.
[0136] The response code may include a first response code, a second response code, a third response code, and a fourth response code. The first response code is used to identify that the latest version of the application has been returned; the second response code is used to identify that the local cache version of the terminal is already the latest version and there is no need to return the application; the third response code is used to identify that the version number of the application cached locally by the terminal is less than the minimum version number of the application to be downloaded, and the download fails; the fourth response code is used to identify that the terminal user is in the application blacklist or not in the whitelist, and the download fails. Exemplarily, the fourth information element table is shown in Table 5 below.
[0137] Table 5
[0138]
[0139] In an exemplary embodiment, the triggering condition for sending the application request message to the eMMTel enabling server may include any of the following:
[0140] In response to a download operation for an application to be downloaded;
[0141] The configuration file of the application to be downloaded includes a target indicator, and the target indicator indicates that the application to be downloaded is automatically downloaded;
[0142] In response to the ADC channel establishment request, ADC negotiation is completed with the peer device.
[0143] In the embodiment of the present application, there are two modes involved: the local end initiates the download and the other end initiates the download.
[0144] Among them, the situations in which the local end initiates download include: the user selects the application to be downloaded from the paginated applications for download, and the SDK can send an application request message to the eMMTel enabling server in response to the user's download operation on the downloaded application; or, there is an indicator of the application in the obtained application configuration file list, indicating that the application needs to be automatically loaded to the terminal, or indicating that the application needs to be downloaded to the terminal and automatically run, then the SDK can send an application request message to the eMMTel enabling server in response to the automatic download attribute of the application.
[0145] When the peer initiates the download, the IMS terminal receives a request to establish an end-to-end ADC or an end-to-network ADC. The local end calls the "Service+SOC" component through the SDK. After completing the ADC negotiation with the peer device, the SDK can send an application request message to the eMMTel enabling server in response to the application instructed to download by the peer.
[0146] In an exemplary embodiment, when the trigger condition is completing ADC negotiation with the peer device in response to a request to establish an ADC channel, the method may further include: disconnecting the ADC channel established with the peer device when the response code indicates download failure.
[0147] In an embodiment of the present application, after the SDK obtains the application response message fed back by the eMMTel enabling server, if the response code in the fourth information element table in the application response message indicates that the download has failed, for example: the response code is the third response code or the fourth response code, the SDK can disconnect the ADC channel recommended by the peer device.
[0148] In one embodiment, Figure 4 As shown, a method for downloading an application is provided. This embodiment takes the method applied to an eMMTel enabling server as an example. The method may include the following steps 402 to 404, wherein:
[0149] Step 402: receiving an application configuration list request message sent by an IMS terminal, wherein the application configuration list request message carries a first information element table, wherein the first information element table includes a first information element, and the first information element is used to carry an application identifier of a target application;
[0150] Step 404: determine at least one application to be fed back according to the first information element, and send an application profile list response message to the IMS terminal, wherein the application profile list response message carries a second information element table, wherein the second information element table includes an application profile list, and the application profile list includes profiles of each of the applications to be fed back.
[0151] In the embodiment of the present application, the process of the IMS terminal sending the application configuration list request message and the introduction of the application configuration list request message can refer to the relevant description of the aforementioned embodiment, and will not be repeated here in the embodiment of the present application.
[0152] Exemplarily, after receiving the application configuration list request message, the eMMTel enabling server may obtain the first information element from the application configuration list request message. If the first information element is not empty, the eMMTel enabling server may take the application corresponding to the application identifier carried in the first information element as the application to be fed back, and feed back the configuration file of the application to be fed back through the application configuration file list response message; or, if the first information element is empty, the eMMTel enabling server may take the application corresponding to the page currently to be viewed as the application to be fed back, and feed back the configuration file of the application to be fed back through the application configuration file list response message.
[0153] In the above-mentioned application download method, the SDK of the IMS terminal can send an application configuration list request message to the eMMTel enabling server, and the application configuration list request message carries a first information element table, and the first information element table includes a first information element, and the first information element is used to carry the application identifier of the target application. Subsequently, an application configuration file list response message fed back by the eMMTel enabling server in response to the application configuration list request message can be received, and the application configuration file list response message carries a second information element table, and the second information element table includes an application configuration file list, and the application configuration file list is determined based on the first information element. Using the application download method provided in the embodiment of the present application, the download process is realized by the communication interaction between the SDK and the eMMTel enabling server, and the application configuration list request message sent by the SDK to the eMMTel enabling server adds an information element for carrying the application identifier of the target application. In the process of downloading the target application, the configuration file of the target application can be directly obtained through the information element, without the need for multiple interactions between the eMMTel client and the eMMTel enabling server, thereby improving the download efficiency of the target application.
[0154] Moreover, the download process is interactively handled by the SDK and the eMMTel-enabled server at the application layer through the HTTP (Hypertext Transfer Protocol) protocol, which can bypass the DCSF (Data Channel Signaling Function). The implementation of the technical solution has no impact on 5GC (5th Generation Core Network) / IMS. Adding a new SDK to the IMS terminal does not involve modifying the native system. Therefore, the development process of the technical solution is simple and can effectively improve production efficiency.
[0155] In an exemplary embodiment, in step 404, determining at least one application to be fed back according to the first information element may include:
[0156] In a case where the first information element carries an application identifier of the target application, the target application is determined as the application to be fed back.
[0157] In the embodiment of the present application, when the user operates the IMS terminal to search for a specified application, the first information element carries the application identifier input by the user. When the first information element is not empty, the eMMTel enabling server directly determines the target application based on the fuzzy search of the first information element, and uses the target application as the application to be fed back, and feeds back the configuration file of the application to be fed back through the application configuration file list response message.
[0158] In an exemplary embodiment, referring to Figure 5 As shown, in step 404, at least one application to be fed back is determined according to the first information element, including the following steps 502 to 504, wherein:
[0159] Step 502: if the first information element is empty, then obtain the index start value carried by the second information element and the number of paging lists carried by the third information element from the first information element table;
[0160] Step 504: determine at least one candidate application based on the index start value and the number of the page list, and use the at least one candidate application as an application to be fed back.
[0161] In an embodiment of the present application, when the user browses the pages, that is, when the application identifier is not entered, in response to a triggering operation such as swiping by the user on the IMS terminal, the first information element in the first information element table in the application configuration list request message sent by the SDK to the eMMTel enabling server is empty, the second information element carries the index start value, and the third information element carries the number of paginated lists.
[0162] When the first information element is empty, the eMMTel enabling server obtains the index start value and the number of paging lists from the first information element, and based on the index start value, searches for the number of applications in the paging list from the application list as candidate applications, takes the candidate applications as applications to be fed back, and feeds back the configuration files of the applications to be fed back through an application configuration file list response message.
[0163] In an exemplary embodiment, referring to Figure 6 As shown, the method may further include the following steps 602 to 604, wherein:
[0164] Step 602: Receive an application request message sent by the IMS terminal, where the application request message includes a third information element table, where the information elements in the third information element table include an identifier of the application to be downloaded and a version number of the application to be downloaded;
[0165] Step 604: Send an application response message to the IMS terminal. The application response message includes a fourth information element table. The information elements in the fourth information element table include an identifier of the application to be downloaded, a version number of the application to be downloaded, a response code, and a message body. The response code is used to identify the content of this response, and the message body is used to carry an application package of the application to be downloaded.
[0166] In the embodiment of the present application, after obtaining the application configuration file list, the SDK of the IMS terminal can continue to send an application request message to the eMMTel enabling server. The application request message includes a third information element table, and the information elements in the third information element table include the identifier of the application to be downloaded and the version number of the application to be downloaded.
[0167] After the eMMTel enabling server receives the application request message, it can feedback an application response message in response to the application request message. The application response message includes a fourth information element table. The information elements in the fourth information element table include an identifier of the application to be downloaded, a version number of the application to be downloaded, a response code and a message body. The response code is used to identify the content of this response, and the message body is used to carry the application package of the application to be downloaded.
[0168] Exemplarily, when the identifier of the application to be downloaded is found and the version number of the application to be downloaded is lower than the latest version, the application package of the application to be downloaded can be carried in the message body, and the response code can be determined to be the first response code, which is used to identify that the latest version of the application has been returned.
[0169] Alternatively, when the version number of the application to be downloaded carried in the application request message is already the latest version, it can be determined that the response code is the second response code, which is used to indicate that the terminal's local cache version is already the latest version, and there is no need to return the application, and the message body is empty.
[0170] Alternatively, when the version number of the application to be downloaded carried in the application request message is smaller than the minimum version number stored on the eMMTel enabling server side, the IMS terminal is not allowed to directly update the version, and the response code can be determined to be a third response code, which is used to indicate that the version number of the application locally cached by the terminal is smaller than the minimum version number of the application to be downloaded, the download fails, and the message body is empty.
[0171] Alternatively, when an application blacklist or whitelist is maintained on the eMMTel enabling server side and terminal users in the blacklist are not allowed to download or only users in the whitelist are allowed to download, the response code can be determined to be the fourth response code, which is used to identify that the terminal user is in the application blacklist or not in the whitelist, the download fails, and the message body is empty.
[0172] In order to enable those skilled in the art to better understand the embodiments of the present application, the embodiments of the present application are described below through specific examples.
[0173] For example, refer to Figure 7 FIG. 1 shows a schematic diagram of the architecture of an IMS terminal in an embodiment of the present application.
[0174] In the embodiment of the present application, SDK+Service+SOC components are used on the IMS terminal side to implement the functions of abstract components such as "eMMTel-1", "eMMTel-4" and so on in the eMMTel client + DCMTSI client in the eMMTel enabling architecture. Including: using the plug-in SDK to implement the functions of the eMMTel client component, which obtains the application list and the configuration file of each application from the eMMTel enabling server. The configuration file contains multiple indicators; using the Service component in the operating system, which has no interface and runs in the background for a long time, together with the IMS protocol stack in the SOC to implement the functions of the DCMTSI client component, create a boot data channel and actually download the application.
[0175] In an embodiment of the present application, according to the configuration information set by the application provider or the eMMTel service provider through controlling the application server, the configuration file and application download package of each application are stored in the eMMTel enabling server; the boot data channel is created by the SOC, and does not involve the interaction process with other components in the terminal; the reference point eMMTel-1 is implemented by the HTTP protocol, and when the boot data channel is established, the SDK uses the HTTP protocol to send an application request message to the eMMTel enabling server, requesting the eMMTel enabling server to return the application configuration file and application download package; the reference point eMMTel-4 is implemented by the AIDL interface, and the SDK calls AIDL to notify the "Service+SOC" component, and sends and receives HTTP protocol packets for interaction between the SDK and the eMMTel enabling server at the IMS protocol layer.
[0176] Reference Figure 8 As shown, a signaling interaction diagram for application downloading in an embodiment of the present application is shown.
[0177] First, the SOC has established a boot data channel. The eMMTel client in the SDK sends an application profile list request message (see Table 1) to the eMMTel enabling server to obtain a list of application profiles available to the user.
[0178] The information element "application name" in Table 1 is a new information element in the embodiment of the present application, which solves the situation where the terminal user directly searches for a single application. If this element is not empty, it notifies the eMMTel enabling server that it only needs to retrieve the application that matches the information element, that is, the application configuration file list returned to the IMS terminal below changes from the original "all paging type" to "partial paging type". If this element is empty, the application configuration file list returned to the IMS terminal below is still "all paging type".
[0179] The eMMTel enabling server sends an application profile list response message to the eMMTel client in the SDK (see Table 2, and the profile of a single application is shown in Table 3).
[0180] The download process includes two methods: the local end initiates the download and the other end initiates the download.
[0181] The local application download method includes: the user selects the application from the application list or triggers the download according to the automatic download attribute of the application. The SDK sends an application request message to the eMMTel enabling server. When the terminal has a cached application, the SDK needs to carry the cached application version number information in the message. The information elements of the application request message are shown in Table 4. The eMMTel enabling server sends an application response message to the SDK. When it is determined that the application needs to be updated, the new application is returned in the message; when it is determined that the cached version of the application is already the latest version, the message returns information that does not need to be updated. In particular, when the eMMTel enabling server determines that the cached application version number is less than the minimum version number requirement of the requested application, or when the eMMTel enabling server determines that the application cannot be used by the current user (such as the user is in the application blacklist or not in the whitelist), the failure reason is returned. The information elements of the application response message are shown in Table 5.
[0182] The peer application download method includes: the terminal receives a request to establish an end-to-end ADC or an end-to-network ADC, and the local SDK+Service completes ADC negotiation with the peer. The SDK sends an application request message to the eMMTel enabling server. When the terminal has a cached application, the SDK needs to carry the cached application version number information in the message. The eMMTel enabling server sends an application response message to the SDK. When the eMMTel enabling server determines that the application needs to be updated, the new application is returned in the message; when the eMMTel enabling server determines that the cached version of the application is already the latest version, the message returns information that does not need to be updated. In particular, when the eMMTel enabling server determines that the cached application version number is less than the minimum version number requirement of the requested application, or when the eMMTel enabling server determines that the application cannot be used by the current user (such as the user is in the application blacklist or not in the whitelist), the failure reason is returned. When the application is not downloaded successfully, the SDK instructs the Service to remove the ADC channel established in the above process.
[0183] Using the application download method provided in the embodiment of the present application, the download process is interactively processed by the SDK and the eMMTel enabling server at the application layer through the HTTP protocol, bypassing the top of the DCSF. Therefore, the technical solution has no impact on 5GC / IMS. Adding a new SDK / Service does not involve modifying the native system, which can effectively improve production efficiency. The good compatibility of the HTTP protocol meets the requirements of sustainable development.
[0184] It should be understood that, although the various steps in the flowcharts involved in the above-mentioned embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps does not have a strict order restriction, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-mentioned embodiments can include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.
[0185] Based on the same inventive concept, the embodiment of the present application also provides an application downloading device for implementing the application downloading method involved above. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above method, so the specific limitations in one or more application downloading device embodiments provided below can refer to the limitations on the application downloading method above, and will not be repeated here.
[0186] In an exemplary embodiment, Fig. 9 As shown, an application downloading device is provided, including: a first sending module 902 and a first receiving module 904, wherein:
[0187] A first sending module 902 is used to send an application configuration list request message to the eMMTel enabling server, wherein the application configuration list request message carries a first information element table, wherein the first information element table includes a first information element, and the first information element is used to carry an application identifier of a target application;
[0188] The first receiving module 904 is used to receive an application configuration file list response message fed back by the eMMTel enabling server in response to the application configuration list request message, wherein the application configuration file list response message carries a second information element table, wherein the second information element table includes an application configuration file list, and the application configuration file list is determined based on the first information element.
[0189] The application download device provided in the embodiment of the present application is adopted, and the download process is realized by the communication interaction between the SDK and the eMMTel enabling server. The application configuration list request message sent by the SDK to the eMMTel enabling server adds an information element for carrying the application identifier of the target application. In the process of downloading the target application, the configuration file of the target application can be directly obtained through the information element, without the need for multiple interactions between the eMMTel client and the eMMTel enabling server, thereby improving the download efficiency of the target application. Moreover, the download process is interactively processed by the SDK and the eMMTel enabling server at the application layer through the HTTP (Hypertext Transfer Protocol) protocol, which can bypass the DCSF (Data Channel Signaling Function). The implementation of the technical solution has no effect on 5GC (5th Generation Core Network, the core network of the fifth generation mobile communication system) / IMS. Adding a new SDK to the IMS terminal does not involve modifying the native system. Therefore, the development process of the technical solution is simple and can effectively improve production efficiency.
[0190] In one of the embodiments, when the first information element carries the application identifier of the target application, the application configuration file list includes the configuration file of the target application.
[0191] In one of the embodiments, the first information element table also includes a second information element and a third information element, the second information element is used to carry an index start value, and the third information element is used to carry the number of paging lists, and when the first information element in the first information element table is empty, the application configuration file list includes a configuration file of at least one candidate application, and the at least one candidate application is determined based on the index start value and the number of paging lists.
[0192] In one embodiment, the device further comprises:
[0193] A second sending module, configured to send an application request message to the eMMTel enabling server, wherein the application request message includes a third information element table, and the information elements in the third information element table include an identifier of the application to be downloaded and a version number of the application to be downloaded;
[0194] The second receiving module is used to receive an application response message fed back by the eMMTel enabling server, wherein the application response message includes a fourth information element table, and the information elements in the fourth information element table include an identifier of the application to be downloaded, a version number of the application to be downloaded, a response code and a message body, wherein the response code is used to identify the content of this response, and the message body is used to carry the application package of the application to be downloaded.
[0195] In one embodiment, the response code includes a first response code, a second response code, a third response code and a fourth response code, wherein:
[0196] The first response code is used to identify the application program whose latest version has been returned;
[0197] The second response code is used to indicate that the local cache version of the terminal is already the latest version and does not need to be returned to the application;
[0198] The third response code is used to indicate that the version number of the application program cached locally on the terminal is less than the minimum version number of the application program to be downloaded, and the download fails;
[0199] The fourth response code is used to indicate that the terminal user is in the application blacklist or not in the whitelist, and the download fails.
[0200] In one of the embodiments, the triggering condition for sending the application request message to the eMMTel enabling server includes any one of the following:
[0201] In response to a download operation for the application to be downloaded;
[0202] The configuration file of the application to be downloaded includes a target indicator, and the target indicator indicates that the application to be downloaded is automatically downloaded;
[0203] In response to the ADC channel establishment request, ADC negotiation is completed with the peer device.
[0204] In one embodiment, the trigger condition is that in response to the ADC channel establishment request, ADC negotiation is completed with the opposite end device, and the apparatus further includes:
[0205] The disconnection module is used to disconnect the ADC channel established with the opposite device when the response code indicates that the download fails.
[0206] In an exemplary embodiment, Fig.10 As shown, an application downloading device is provided, comprising: a first receiving module 1002 and a first sending module 1004, wherein:
[0207] The first receiving module 1002 is used to receive an application configuration list request message sent by an IMS terminal, wherein the application configuration list request message carries a first information element table, wherein the first information element table includes a first information element, and the first information element is used to carry an application identifier of a target application;
[0208] The first sending module 1004 is configured to determine at least one application to be fed back according to the first information element, and send an application configuration file list response message to the IMS terminal, wherein the application configuration file list response message carries a second information element table, wherein the second information element table includes an application configuration file list, and the application configuration file list includes configuration files of each of the applications to be fed back.
[0209] The application download device provided in the embodiment of the present application is adopted, and the download process is realized by the communication interaction between the SDK and the eMMTel enabling server. The application configuration list request message sent by the SDK to the eMMTel enabling server adds an information element for carrying the application identifier of the target application. In the process of downloading the target application, the configuration file of the target application can be directly obtained through the information element, without the need for multiple interactions between the eMMTel client and the eMMTel enabling server, thereby improving the download efficiency of the target application. Moreover, the download process is interactively processed by the SDK and the eMMTel enabling server at the application layer through the HTTP (Hypertext Transfer Protocol) protocol, which can bypass the DCSF (Data Channel Signaling Function). The implementation of the technical solution has no effect on 5GC (5th Generation Core Network, the core network of the fifth generation mobile communication system) / IMS. Adding a new SDK to the IMS terminal does not involve modifying the native system. Therefore, the development process of the technical solution is simple and can effectively improve production efficiency.
[0210] In one embodiment, the first sending module 1004 is specifically used for:
[0211] In a case where the first information element carries the application identifier of the target application, the target application is determined as the application to be fed back.
[0212] In one embodiment, the first sending module 1004 is specifically used for:
[0213] If the first information element is empty, obtaining the index start value carried by the second information element and the number of paging lists carried by the third information element from the first information element table;
[0214] At least one candidate application is determined based on the index start value and the number of the paging list, and the at least one candidate application is used as the application to be fed back.
[0215] In one embodiment, the device further comprises:
[0216] A second receiving module, configured to receive an application request message sent by the IMS terminal, wherein the application request message includes a third information element table, and the information elements in the third information element table include an identifier of the application to be downloaded and a version number of the application to be downloaded;
[0217] The second sending module is used to send an application response message to the IMS terminal, where the application response message includes a fourth information element table, where the information elements in the fourth information element table include an identifier of the application to be downloaded, a version number of the application to be downloaded, a response code, and a message body, where the response code is used to identify the content of this response, and the message body is used to carry an application package of the application to be downloaded.
[0218] In one embodiment, the response code includes a first response code, a second response code, a third response code and a fourth response code, wherein:
[0219] The first response code is used to identify the application program whose latest version has been returned;
[0220] The second response code is used to indicate that the local cache version of the terminal is already the latest version and does not need to be returned to the application;
[0221] The third response code is used to indicate that the version number of the application program cached locally on the terminal is less than the minimum version number of the application program to be downloaded, and the download fails;
[0222] The fourth response code is used to indicate that the terminal user is in the application blacklist or not in the whitelist, and the download fails.
[0223] Each module in the above application downloading device can be implemented in whole or in part by software, hardware or a combination thereof. Each module can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in a computer device in the form of software, so that the processor can call and execute operations corresponding to each module.
[0224] In an exemplary embodiment, a computer device is provided. The computer device may be a terminal, and its internal structure diagram may be as shown in FIG. Fig.11As shown. The computer device includes a processor, a memory, an input / output interface, a communication interface, a display unit and an input device. The processor, the memory and the input / output interface are connected through a system bus, and the communication interface, the display unit and the input device are connected to the system bus through the input / output interface. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The input / output interface of the computer device is used to exchange information between the processor and the external device. The communication interface of the computer device is used to communicate with an external terminal in a wired or wireless manner, and the wireless manner can be implemented through WIFI, a mobile cellular network, near field communication (Near Field Communication, NFC) or other technologies. When the computer program is executed by the processor, an application download method is implemented. The display unit of the computer device is used to form a visually visible picture, which can be a display screen, a projection device or a virtual reality imaging device. The display screen can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer device can be a touch layer covering the display screen, or a button, trackball or touchpad set on the computer device shell, or an external keyboard, touchpad or mouse.
[0225] Those skilled in the art will understand that Fig.11 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0226] In one embodiment, a computer device is further provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the steps in the above method embodiments when executing the computer program.
[0227] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the above-mentioned method embodiments are implemented.
[0228] In one embodiment, a computer program product is provided, including a computer program, which implements the steps in the above method embodiments when executed by a processor.
[0229] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant regulations.
[0230] A person of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment method can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, an artificial intelligence (AI) processor, etc., but are not limited to this.
[0231] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.
[0232] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.
Claims
1. A method for downloading an application, characterized in that: The SDK applied to the IMS terminal comprises: Sending an application configuration list request message to the eMMTel enabling server, wherein the application configuration list request message carries a first information element table, wherein the first information element table includes a first information element, and the first information element is used to carry an application identifier of a target application; Receive an application profile list response message fed back by the eMMTel enabling server in response to the application configuration list request message, wherein the application profile list response message carries a second information element table, wherein the second information element table includes an application profile list, and the application profile list is determined based on the first information element.
2. The method according to claim 1, characterized in that In a case where the first information element carries the application identifier of the target application, the application configuration file list includes the configuration file of the target application.
3. The method according to claim 1, characterized in that The first information element table also includes a second information element and a third information element, the second information element is used to carry an index start value, and the third information element is used to carry the number of paging lists. When the first information element in the first information element table is empty, the application configuration file list includes a configuration file of at least one candidate application, and the at least one candidate application is determined based on the index start value and the number of paging lists.
4. The method according to any one of claims 1 to 3, characterized in that The method further comprises: Sending an application request message to the eMMTel enabling server, wherein the application request message includes a third information element table, and the information elements in the third information element table include an identifier of the application to be downloaded and a version number of the application to be downloaded; Receive an application response message fed back by the eMMTel enabling server, wherein the application response message includes a fourth information element table, and the information elements in the fourth information element table include an identifier of the application to be downloaded, a version number of the application to be downloaded, a response code, and a message body, wherein the response code is used to identify the content of this response, and the message body is used to carry the application package of the application to be downloaded.
5. The method according to claim 4, characterized in that The response code includes a first response code, a second response code, a third response code and a fourth response code, wherein: The first response code is used to identify the application program whose latest version has been returned; The second response code is used to indicate that the local cache version of the terminal is already the latest version and does not need to be returned to the application; The third response code is used to indicate that the version number of the application program cached locally on the terminal is less than the minimum version number of the application program to be downloaded, and the download fails; The fourth response code is used to indicate that the terminal user is in the application blacklist or not in the whitelist, and the download fails.
6. The method according to claim 4, characterized in that The triggering condition for sending the application request message to the eMMTel enabling server includes any one of the following: In response to a download operation for the application to be downloaded; The configuration file of the application to be downloaded includes a target indicator, and the target indicator indicates that the application to be downloaded is automatically downloaded; In response to the ADC channel establishment request, ADC negotiation is completed with the peer device.
7. The method according to claim 6, characterized in that When the trigger condition is that the ADC negotiation is completed with the opposite device in response to the ADC channel establishment request, the method further includes: When the response code indicates that the download fails, the ADC channel established with the opposite device is disconnected.
8. A method for downloading an application, characterized in that: Applied to an eMMTel enabling server, the method comprises: receiving an application configuration list request message sent by an IMS terminal, wherein the application configuration list request message carries a first information element table, wherein the first information element table includes a first information element, and the first information element is used to carry an application identifier of a target application; At least one application to be fed back is determined according to the first information element, and an application profile list response message is sent to the IMS terminal, wherein the application profile list response message carries a second information element table, wherein the second information element table includes an application profile list, and the application profile list includes profiles of each of the applications to be fed back.
9. The method according to claim 8, characterized in that The determining at least one application to be fed back according to the first information element includes: In a case where the first information element carries the application identifier of the target application, the target application is determined as the application to be fed back.
10. The method according to claim 8, characterized in that The determining at least one application to be fed back according to the first information element includes: If the first information element is empty, obtaining the index start value carried by the second information element and the number of paging lists carried by the third information element from the first information element table; At least one candidate application is determined based on the index start value and the number of the paging list, and the at least one candidate application is used as the application to be fed back.
11. The method according to any one of claims 8 to 10, characterized in that The method further comprises: receiving an application request message sent by the IMS terminal, wherein the application request message includes a third information element table, and the information elements in the third information element table include an identifier of an application to be downloaded and a version number of the application to be downloaded; An application response message is sent to the IMS terminal, where the application response message includes a fourth information element table, where the information elements in the fourth information element table include an identifier of the application to be downloaded, a version number of the application to be downloaded, a response code, and a message body, where the response code is used to identify the content of this response, and the message body is used to carry an application package of the application to be downloaded.
12. The method according to claim 11, characterized in that The response code includes a first response code, a second response code, a third response code and a fourth response code, wherein: The first response code is used to identify the application program whose latest version has been returned; The second response code is used to indicate that the local cache version of the terminal is already the latest version and does not need to be returned to the application; The third response code is used to indicate that the version number of the application program cached locally on the terminal is less than the minimum version number of the application program to be downloaded, and the download fails; The fourth response code is used to indicate that the terminal user is in the application blacklist or not in the whitelist, and the download fails.
13. An application downloading device, characterized in that: The SDK applied to the IMS terminal comprises: A first sending module, configured to send an application configuration list request message to the eMMTel enabling server, wherein the application configuration list request message carries a first information element table, wherein the first information element table includes a first information element, and the first information element is used to carry an application identifier of a target application; The first receiving module is used to receive an application configuration file list response message fed back by the eMMTel enabling server in response to the application configuration list request message, wherein the application configuration file list response message carries a second information element table, wherein the second information element table includes an application configuration file list, and the application configuration file list is determined based on the first information element.
14. An application downloading device, characterized in that: Applied to an eMMTel enabling server, the device comprises: A first receiving module, configured to receive an application configuration list request message sent by an IMS terminal, wherein the application configuration list request message carries a first information element table, wherein the first information element table includes a first information element, and the first information element is used to carry an application identifier of a target application; The first sending module is configured to determine at least one application to be fed back according to the first information element, and send an application configuration file list response message to the IMS terminal, wherein the application configuration file list response message carries a second information element table, wherein the second information element table includes an application configuration file list, and the application configuration file list includes configuration files of each of the applications to be fed back.
15. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 7 or 8 to 12 are implemented.
16. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 or 8 to 12 are implemented.
17. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 or 8 to 12 are implemented.
Citation Information
Patent Citations
System and method for installing and configuring software applications on a mobile networked terminal
CN101502079A
Icon display method and terminal
CN105320405A
Remote file browsing method, intelligent terminal and display equipment
CN111914511A
IMS DC application program downloading method, system and device and IMS network
CN118921652A
Method and apparatus for protecting an application program
US20140173761A1