CN110869907A - Method and terminal for browsing application page - Google Patents
Method and terminal for browsing application page Download PDFInfo
- Publication number
- CN110869907A CN110869907A CN201880043747.1A CN201880043747A CN110869907A CN 110869907 A CN110869907 A CN 110869907A CN 201880043747 A CN201880043747 A CN 201880043747A CN 110869907 A CN110869907 A CN 110869907A
- Authority
- CN
- China
- Prior art keywords
- application
- installation
- free
- terminal
- url
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
The embodiment of the invention relates to a method and a terminal for browsing application pages. The method comprises the following steps: a first application on the terminal receives a first request for accessing a second application; the first application sends a second request to an installation-free application running engine on the terminal, wherein the second request is used for requesting to access the second application, the second request carries an identifier of the second application, and the second application is an installation-free application and is not installed on the terminal; the installation-free application running engine acquires an installation-free application program package of the second application from a download server; the installation-free application running engine loads and runs an installation-free application program package of the second application; the second application displays a page of the second application. According to the embodiment of the invention, application skipping in a specific scene can be realized, and user experience is good.
Description
The present application claims priority from a chinese patent application filed by the chinese patent office on 28/03/2018 under application number 201810265838.1 entitled "deieplink method and apparatus for installation-free applications," the entire contents of which are incorporated herein by reference.
The present invention relates to the field of computers, and in particular, to a method and a terminal for browsing an Application (APP) page.
With the rapid development of computer technology, methods for browsing application pages are also gradually diversified.
In a first existing method for browsing application pages, when a first application on a terminal receives a request for accessing a second application, a page of the second application is displayed through the first application. The method for browsing the application page cannot realize automatic jump of the application, when the first application on the terminal receives a request for accessing the second application, the page of the second application is displayed through the first application regardless of whether the second application is installed on the terminal, and user experience is poor.
In a second conventional method for browsing an application page, when a first application on a terminal receives a request for accessing a second application, if the second application is installed on the terminal, a page of the second application is displayed through the second application. Although the method for browsing the application page can realize automatic jump of the application, the premise is that the terminal is provided with the second application. When the first application on the terminal receives a request for accessing the second application, if the second application is not installed on the terminal, the page of the second application still needs to be displayed through the first application, and the user experience is poor.
In summary, in the method for browsing an application page in the prior art, when a first application on a terminal receives a request for accessing a second application, if the second application is not installed on the terminal, and for the specific scene, the page of the second application is displayed through the first application, so that application jump in the specific scene cannot be realized, and user experience is poor.
Disclosure of Invention
The embodiment of the invention provides a method and a terminal for browsing an application page, which can realize application skip in a specific scene and have good user experience.
In a first aspect, a method for browsing application pages is provided. A first application on the terminal receives a first request for accessing a second application; the first application sends a second request to an installation-free application running engine on the terminal, wherein the second request is used for requesting to access the second application, the second request carries an identifier of the second application, and the second application is an installation-free application and is not installed on the terminal; the installation-free application running engine acquires an installation-free application program package of the second application from a download server; the installation-free application running engine loads and runs an installation-free application program package of the second application; the second application displays a page of the second application.
In the embodiment of the invention, a first application on a terminal receives a first request for accessing a second application, wherein the second application is an installation-free application and is not installed on the terminal. In the specific scene, the first application informs an installation-free application running engine of the identifier of the second application, the installation-free application running engine loads and runs an installation-free application program package of the second application, and the second application displays a page of the second application, so that application skipping in the specific scene can be realized, and user experience is good.
In a possible implementation manner, the first application sends an intent request to an installation-free application running engine on the terminal, where the intent request carries an identifier of the second application. According to the implementation mode, the first application sends an intent request, the intent request is directly received by the installation-free application running engine, and the first application informs the installation-free application running engine of the identifier of the second application by sending the intent request.
In a possible implementation manner, before the installation-free application running engine acquires an installation-free application program package of the second application from a download server, the installation-free application running engine sends an identifier of the second application to a policy server, so that the policy server determines that the second application is legal according to the identifier of the second application; the installation-free application running engine receives indication that the second application is legitimate from the policy server. According to the embodiment, the installation-free application running engine firstly determines that the second application is legal and then acquires the installation-free application program package of the second application from the download server, so that the installation-free application is ensured to be legal while the experience of starting the installation-free application by other applications is provided.
In a possible implementation manner, before the installation-free application running engine acquires the installation-free application package of the second application from a download server, the installation-free application running engine sends the signature of the first application to a policy server, so that the policy server determines that the first application is legal according to the signature of the first application; the installation-free application execution engine receives, from the policy server, an indication that the first application is legitimate. According to the embodiment, the installation-free application running engine firstly determines that the first application is legal, and then acquires the installation-free application program package of the second application from the download server, so that the experience of starting the installation-free application by other applications is provided, and meanwhile, the other applications are guaranteed to be legal.
In a possible implementation, the first application sends an http request to a firewall on the terminal, where the http request carries a Uniform Resource Locator (URL) for locating to the second application; the firewall determines that the URL is matched with a URL regular expression; and the firewall sends the URL to the installation-free application running engine, wherein the URL carries the identifier of the second application. According to the implementation mode, the first application sends an http request, the http request is intercepted by a firewall, and the firewall notifies an installation-free application running engine of the identifier of the second application after determining that the URL used for positioning the second application is matched with the URL regular expression, so that the experience of starting the installation-free application by other applications is provided.
In a possible implementation manner, the firewall sends the URL to a system application on the terminal, where the URL carries an identifier of the second application; and the system application sends the URL to the installation-free application running engine, wherein the URL carries the identifier of the second application. According to the embodiment, the firewall informs the installation-free application running engine of the identifier of the second application not directly, but through the system application, so that the controllability of the system is enhanced.
In a possible implementation manner, the firewall determines that the identifier of the first application belongs to the first identifier set, and then determines that the URL matches the URL regular expression. The first identification set may be a list of packet names from which the request originates. According to the embodiment, the validity of the first application (namely, the caller) can be verified, and the legal caller is ensured to call the installation-free application running engine.
In a possible implementation manner, the system application on the terminal first obtains the first identifier set and the URL regular expression from a policy server, and the system application sends the first identifier set and the URL regular expression to the firewall, and then the firewall determines that the identifier of the first application belongs to the first identifier set. The system application may obtain an interception matching policy from a policy server, where the interception matching policy includes the first identifier set and the URL regular expression. According to the embodiment, a way for the firewall to acquire the first identifier set and the URL regular expression is provided.
In a possible implementation manner, the second request carries an identifier, a page path, and an input parameter of the second application; and the second application displays the page of the second application according to the page path and the input parameters. According to this embodiment, the second application may display a page of the second application according to the page path and the input parameter, instead of displaying a default page of the second application.
In a second aspect, an embodiment of the present invention provides a terminal, where the terminal may implement the function executed in the method design in the first aspect, where the function may be implemented by hardware, or may be implemented by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above-described functions.
In one possible design, the structure of the terminal includes a processor configured to support the terminal to perform the corresponding functions in the method of the first aspect. The terminal may also include a memory, coupled to the processor, that retains program instructions and data necessary for the terminal. The terminal may also include a communication interface for sending or receiving information or the like. The terminal may further include a display screen for displaying a page of an application, etc.
In a third aspect, embodiments of the present invention provide a communication device, which may be, for example, a chip, and which may be disposed in a terminal, where the communication device includes a processor and an interface. The processor is configured to enable the communication device to perform the corresponding functions in the method of the first aspect. The interface is used to support communication between the communication device and other communication devices or other network elements. The communication device may also include a memory, coupled to the processor, that retains program instructions and data necessary for the communication device.
In a fourth aspect, an embodiment of the present invention provides a computer storage medium having instructions stored thereon, which, when executed on a computer, cause the computer to perform the method described in the first aspect or any one of the possible designs of the first aspect.
In a fifth aspect, an embodiment of the present invention provides a computer program product, which contains instructions that, when the program is executed by a computer, cause the computer to perform the method described in the first aspect or any one of the possible designs of the first aspect.
In a sixth aspect, an embodiment of the present invention provides a computer program, which includes instructions that, when executed by a computer, cause the computer to perform the method described in the first aspect or any one of the possible designs of the first aspect.
In the embodiment of the invention, a first application on a terminal receives a first request for accessing a second application, wherein the second application is an installation-free application and is not installed on the terminal. In the specific scene, the first application informs an installation-free application running engine of the identifier of the second application, the installation-free application running engine loads and runs an installation-free application program package of the second application, and the second application displays a page of the second application, so that application skipping in the specific scene can be realized, and user experience is good.
Fig. 1 is a schematic diagram of a system architecture on which a method for browsing an application page provided by an embodiment of the present invention is based;
fig. 2 is a schematic diagram of another system architecture on which the method for browsing application pages provided by the embodiment of the present invention is based;
fig. 3 is a schematic structural diagram of a terminal according to an embodiment of the present invention;
fig. 4 is a communication diagram of a method for browsing an application page according to an embodiment of the present invention;
fig. 5 is a schematic diagram of a first application interface according to an embodiment of the present invention;
FIG. 6 is a schematic diagram of a user interface variation provided in an embodiment of the present invention;
FIG. 7 is a schematic diagram of another variation of a user interface provided by an embodiment of the present invention;
FIG. 8 is a communication diagram illustrating another method for browsing application pages according to an embodiment of the present invention;
FIG. 9 is a schematic diagram of another variation of a user interface provided by an embodiment of the present invention;
FIG. 10 is a communication diagram illustrating another method for browsing application pages according to an embodiment of the present invention;
FIG. 11 is a schematic diagram of another variation of a user interface provided by the present invention;
FIG. 12 is a communication diagram illustrating another method for browsing application pages according to an embodiment of the present invention;
FIG. 13 is a schematic diagram of another variation of a user interface provided by an embodiment of the present invention;
FIG. 14 is a communication diagram illustrating another method for browsing application pages according to an embodiment of the present invention;
fig. 15 is a schematic structural diagram of another terminal according to an embodiment of the present invention;
fig. 16 is a schematic diagram of a communication device according to an embodiment of the present application.
Fig. 1 is a schematic diagram of a system architecture on which the method for browsing application pages provided by the embodiment of the present invention is based. Embodiments of the present invention may be implemented, but are not limited to being, based on deep link (deep link) technology. Referring to fig. 1, the system includes a terminal 101 and a download server 102. Wherein the first application 1011 and the installation-free application execution engine 1012 are installed on the terminal 101, and the second application 1013 is not installed. The first application 1011 may act as an initiator of a deep link request requesting a link to the second application 1013. The first application 1011 may be a variety of types of applications, such as a browser application or an instant messaging application. The second application 1013 may be various types of applications, such as a shopping application or a multimedia playing application. The second application 1013 is an installation-free application. The installation-free application is a point-to-point application form and is executed through an installation-free application running environment. The install-free application execution engine 1012 provides an execution environment for the install-free application. And a download server 102 for providing an install-free application package for the second application 1013.
The embodiment of the invention provides a method for browsing application pages. A first application 1011 on the terminal 101 receives a first request to access a second application; the first application 1011 sends a second request to the installation-exempt application execution engine 1012 on the terminal, where the second request is used for requesting to access a second application, the second request carries an identifier of the second application 1013, and the second application 1013 is an installation-exempt application and is not installed on the terminal 101; the install-free application execution engine 1012 obtaining an install-free application package for the second application 1013 from the download server 102; the install-free application execution engine 1012 loading and executing an install-free application package for the second application 1013; the second application 1013 displays a page of the second application.
In this embodiment of the present invention, a first application 1011 on a terminal 101 receives a first request for accessing a second application, where the second application 1013 is an installation-free application and is not installed on the terminal 101. In this specific scenario, the first application 1011 notifies the installation-free application execution engine 1012 of the identifier of the second application, the installation-free application package of the second application 1013 is loaded and executed by the installation-free application execution engine 1012, and the page of the second application is displayed by the second application 1013, so that application jump in the specific scenario can be realized, and the user experience is good.
It is noted that accessing the second application may include accessing a page of the second application. The second request may carry a page path and input parameters in addition to the identifier of the second application 1013, and the second application 1013 may display a page of the second application according to the page path and the input parameters carried in the second request. Or, the second request only carries the identifier of the second application 1013 and does not carry a page path and input parameters, and the second application 1013 may display a page of the second application according to a default page path and input parameters.
Further, in one example, the terminal 101 may store the download address of the second application 1013 in advance, the terminal 101 determines whether the second application 1013 is legal, and when the terminal 101 determines that the second application 1013 is legal, the install-free application package of the second application 1013 is acquired from the download server 102 according to the download address of the second application 1013.
Fig. 2 is a schematic diagram of another system architecture on which the method for browsing application pages provided by the embodiment of the present invention is based. Embodiments of the present invention may be implemented, but are not limited to being, based on deep link (deep link) technology. Referring to fig. 2, the system includes not only the terminal 101 and the download server 102 but also the policy server 103. Wherein the first application 1011 and the installation-free application execution engine 1012 are installed on the terminal 101, and the second application 1013 is not installed. The first application 1011 may act as an initiator of a deep link request requesting a link to the second application 1013. The first application 1011 may be a variety of types of applications, such as a browser application or an instant messaging application. The second application 1013 may be various types of applications, such as a shopping application or a multimedia playing application. The second application 1013 is an installation-free application. The installation-free application is a point-to-point application form and is executed through an installation-free application running environment. The install-free application execution engine 1012 provides an execution environment for the install-free application. And a download server 102 for providing an install-free application package for the second application 1013.
In one example, the terminal 101 may not store the download address of the second application 1013 in advance, and the uninstalled application running engine 1012 needs to acquire the download address of the second application 1013 from the policy server 103. The policy server 103 is configured to determine whether the second application 1013 is legitimate, and send, to the install-exempt application execution engine 1012, indication information that the second application 1013 is legitimate when the second application 1013 is determined to be legitimate, and send the download address of the install-exempt application package of the second application 1013 to the install-exempt application execution engine 1012, so that the install-exempt application execution engine 1012 can acquire the install-exempt application package of the second application 1013 from the download server 102 according to the download address of the second application 1013.
A Terminal may also be referred to as User Equipment (UE), Terminal Equipment (TE), Mobile Station (MS), Mobile Terminal (MT), 5G UE, and the like. The terminal device may be a mobile phone (mobile phone), a tablet computer (Pad), a computer with a wireless transceiving function, a Virtual Reality (VR) terminal device, an Augmented Reality (AR) terminal device, a wireless terminal in industrial control (industrial control), a wireless terminal in self-driving (self-driving), a wireless terminal in remote surgery (remote medical supply), a wireless terminal in smart grid (smart grid), a wireless terminal in transportation safety (transportation safety), a wireless terminal in smart city (smart city), a wireless terminal in smart home (smart home), and the like, which are not limited in this application.
Referring to fig. 3, a terminal provided in an embodiment of the present invention includes: radio Frequency (RF) circuit 110, memory 120, input unit 130, display unit 140, processor 150, power supply 160, and sensor 170. Those skilled in the art will appreciate that the terminal structure shown in fig. 3 is not intended to be limiting and may include more or fewer components than those shown, or some components may be combined, or a different arrangement of components.
The terminal provided in the embodiment of the present invention may be configured to execute the method for browsing an application page provided in the following embodiment of the present invention, and for corresponding features and descriptions, reference may be made to contents related to the following method, which is not described in detail in this embodiment.
The following describes the various components of the terminal in detail with reference to fig. 3:
the RF circuit 110 may be used for transmitting and receiving information, for example, for interacting with a device such as a server, and for processing the received information to the processor 150. In general, RF circuit 110 includes, but is not limited to, an antenna, at least one Amplifier, a transceiver, a coupler, a Low Noise Amplifier (LNA), a duplexer, and the like. In addition, the RF circuitry 110 may also communicate with networks and other devices via wireless communications. The wireless communication may adopt any communication standard or protocol, including but not limited to Global System for Mobile communication (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Long Term Evolution (LTE), email, Short Message Service (SMS), and the like.
The memory 120 may be used to store software programs and modules, and the processor 150 may cause the terminal to perform a method of browsing application pages by operating the software programs and modules stored in the memory 120. The memory 120 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required to implement the method of browsing application pages, and the like. The storage data area may store a configuration file of an application, etc. In addition, the memory 120 may be a volatile memory (RAM), such as a random-access memory (RAM); the memory 120 may also be a non-volatile memory (ROM), such as a read-only memory (read-only memory), a flash memory (flash memory), a hard disk (HDD) or a solid-state drive (SSD); the memory 120 may also comprise a combination of memories of the above kind.
The input unit 130 may be used to receive numeric or character information input by a user or operation information of clicking an application link by the user, and specifically, the input unit 130 may include a touch panel 131 and other input devices 132. The touch panel 131, also referred to as a touch screen, may collect touch operations of a user on or near the touch panel 131 (e.g., operations of the user on or near the touch panel 131 using any suitable object or accessory such as a finger or a stylus pen), and drive the corresponding connection device according to a preset program. Alternatively, the touch panel 131 may include two parts, i.e., a touch detection device and a touch controller. The touch detection device detects the touch direction of a user, detects a signal brought by touch operation and transmits the signal to the touch controller; the touch controller receives touch information from the touch sensing device, converts the touch information into touch point coordinates, sends the touch point coordinates to the processor 150, and can receive and execute commands sent by the processor 150. In addition, the input unit 130 may implement the touch panel 131 using various types such as resistive, capacitive, infrared, and surface acoustic wave. The input unit 130 may include other input devices 132 in addition to the touch panel 131. In particular, other input devices 132 may include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control keys, switch keys, etc.), a trackball, a mouse, a joystick, and the like.
The display unit 140 may be used to display information input by a user or information provided to a user, etc. The Display unit 140 may include a Display panel 141, and optionally, the Display panel 141 may be configured in the form of a Liquid Crystal Display (LCD), an Organic Light-Emitting Diode (OLED), or the like. Further, the touch panel 131 may cover the display panel 141, and when the touch panel 131 detects an operation of clicking an application link on or near the touch panel 131, the operation is transmitted to the processor 150 to determine that the application is a legal application, and then the processor 150 provides a visual output of a page of the application on the display panel 141 after a series of processes. Although in fig. 3, the touch panel 131 and the display panel 141 are two separate components to implement the input and output functions of the terminal, in some embodiments, the touch panel 131 and the display panel 141 may be integrated to implement the input and output functions of the terminal.
The processor 150 is a control center of the terminal, connects various parts of the entire terminal using various interfaces and lines, and performs a method of browsing application pages by running or executing software programs and/or modules stored in the memory 120 and calling data stored in the memory 120. Optionally, processor 150 may include one or more processing units. Preferably, the processor 150 may integrate an application processor, which mainly handles operating systems, user interfaces, application programs, etc., and a modem processor, which mainly handles wireless communications. It will be appreciated that the modem processor described above may not be integrated into the processor 150.
The terminal also includes a power supply 160 (e.g., a battery) for powering the various components, which may preferably be logically coupled to the processor 150 via a power management system to manage charging, discharging, and power consumption management functions via the power management system.
The terminal may further include a sensor 170, the terminal may include one or more sensors, only one sensor is shown as an example, the terminal may include various types of sensors, which may be, but are not limited to, a pressure sensor, a distance sensor, an acceleration sensor, a gyro sensor, a GPS sensor, a direction sensor, a temperature sensor, and the like.
Although not shown, the terminal may further include a camera, a bluetooth module, an audio circuit, a USB module, and the like, which are not described herein again.
In the embodiment of the invention, the method for browsing the application page can be realized based on a deep link (deep link) technology. The deep linking technique is briefly described below. Generally, deep linking technology is used to enable a jump between two installed applications on a terminal. When the first application receives a request for accessing the second application, if the second application is installed on the terminal, displaying a page of the second application through the second application according to a Uniform Resource Identifier (URI) corresponding to the request.
According to the technical scheme of the deeplink of the Android (Android) standard, in order to realize that a first application jumps to a second application, an intention filter < Intent-filter/> corresponding to the second application needs to be configured in advance, when the first application receives a request for accessing a page of the second application, the first application sends an intention, and when a URI corresponding to the intention accords with the < Intent-filter/> a corresponding component can respond to the request. For example, if < Intent-filter/>, which can receive Intent sent by a browser application, is to be implemented, two attributes must be added when configuring < Intent-filter/>: action.view "/> and < category android: name ═ android. At the same time < intent-filter/> must also be able to receive a particular scheme, so an attribute of < data/> is added, and the name of the scheme is specified. Normally, the < intent-filter/>, is configured in an android manifest.
The web page jump link configuration can realize the calling-up of APP from the web page by simply adding one link. For example, the links are as follows: open app with URI-scheme, URI lkmedemo:// com. huawei. hi/index? The click _ id is IEGyekes7, where the lkmedemo corresponds to the scheme configured in the < intent-filter/> so that the operating system can find the application and the corresponding component in the application through the URI. The URI typically includes one or more of an application identifier, a page path, and an input parameter, for example, the URI includes two parts of an application identifier scheme and an input parameter query, wherein lkmedemo belongs to the scheme part? The part IEGyekes7 belongs to the query part, and some parameters may be added in the query part. "? "is necessarily included. When the user clicks on the link, the application capable of receiving the URI is automatically opened, and input parameters can be received in the corresponding component and subsequently processed.
Fig. 4 is a communication diagram of a method for browsing an application page according to an embodiment of the present invention. The method may be based on the system architecture shown in fig. 1 or fig. 2, and on the terminal shown in fig. 3. The method comprises the following steps:
in step 401, a first application on a terminal receives a first request to access a second application.
Wherein accessing the second application may include accessing a page of the second application.
In one example, the display panel 141 of the terminal displays a first application interface (i.e., a page of a first application) including a search bar and/or a page link of a second application, and when the first application receives an operation of inputting page information of the second application in the search bar or an operation of triggering the page link of the second application through the touch panel 131, the first application on the terminal receives a request to access the page of the second application.
Fig. 5 is a schematic diagram of a first application interface according to an embodiment of the present invention. As shown in fig. 5, the first application interface 500 includes an icon 501 of the second application and a search bar 502, the icon 501 can be linked to a page of the second application, and when the user clicks the icon 501 on the touch panel 131, the first application on the terminal receives a request for accessing the page of the second application. Alternatively, when the user clicks the search bar on the touch panel 131 to input the name of the second application, the first application on the terminal receives a request to access the page of the second application.
In the embodiment of the application, the first application may determine the URI according to a search term input in the search field, or determine the URI corresponding to the page link of the second application according to a pre-configured page link of the second application, and may determine the identifier, the page path, and the input parameter of the second application by analyzing the URI. The identifier of the second application may also be referred to as a package name of the second application. For example, package name of the second application: com.eleme.cpp; page path: a/home; inputting parameters: key1 value1& key2 value 2.
Step 402, the first application sends a second request to an installation-free application running engine on the terminal, where the second request is used to request access to a second application, the second request carries an identifier of the second application, and the second application is an installation-free application and is not installed on the terminal.
Optionally, the second request further carries a page path and/or an input parameter.
In one example, the second request is an Intent request (may be referred to as Intent or Intent for short), the first application sends the Intent request to an installation-free application running engine on the terminal, and the Intent request carries an identifier of the second application.
In this example, the first application starts the second application by sending an intent request, and when the intent request does not have a matching installed application, the install-free application execution engine receives the intent request.
For example, the javascript code in the first application may send an Intent by using an Intent action mode of android standard deeplink, where the Intent carries an identifier of the second application (also referred to as a packet name of the second application), a page path, and an input parameter.
App/index? For example, param1 is value, and the specific format of Intent can be as shown in table one:
watch 1
In another example, the second request is an http request, the first application sends an http request to a firewall on the terminal, and the http request carries a Uniform Resource Locator (URL) for locating to the second application; the firewall determines that the URL is matched with a URL regular expression; and the firewall sends the URL to the installation-free application running engine, wherein the URL carries the identifier of the second application. Optionally, the URL carries, in addition to the identifier of the second application (e.g., the application package name), a page path and parameters passed to the page. It will be appreciated that if the URL does not carry a page path, then a jump is made to the home page of the second application.
In this example, the first application sends an http request, the http request is intercepted by a firewall, and the firewall notifies an installation-free application running engine of an identifier of the second application after determining that a URL for locating the second application matches a URL regular expression, thereby providing an experience of starting the installation-free application by other applications.
In a possible implementation manner, the firewall sends the URL to a system application on the terminal, where the URL carries an identifier of the second application; and the system application sends the URL to the installation-free application running engine, wherein the URL carries the identifier of the second application. According to the embodiment, the firewall informs the installation-free application running engine of the identifier of the second application not directly, but through the system application, so that the controllability of the system is enhanced. For example, instead of sending the URL directly to the install-free application engine, the firewall sends the URL to the cell phone housekeeper through a system application (e.g., frame), and then the cell phone housekeeper sends the URL to the install-free application engine.
In step 403, the installation-free application running engine obtains an installation-free application package of the second application from a download server.
It is to be understood that the installation-free application execution engine may first send a download address of the second application to a download server, and then receive an installation-free application package of the second application from the download server.
In one example, the install-free application execution engine first sends a download address of the second application to the download server via the RF circuitry 110, and then receives an install-free application package for the second application from the download server via the RF circuitry 110.
In one example, the installation-free application execution engine may perform integrity and legitimacy checks on the received installation-free application package, and perform step 404 after the checks are passed, otherwise not perform step 404.
In one example, the memory 120 of the terminal may store the identifier of the application and the download address of the application in advance, and after step 402, the uninstalled application running engine may obtain the download address of the second application from the memory 120 of the terminal according to the identifier of the second application.
In another example, an identification of the application and a download address of the application may be stored in the policy server in advance, and after step 402, the installation-free application execution engine may send the identification of the second application to the policy server, and receive the download address of the second application from the policy server.
It should be noted that, before step 403, the validity of the first application and/or the second application may be determined.
When the second request is an intent request, in a possible implementation manner, before the installation-free application running engine acquires an installation-free application package of the second application from a download server, the installation-free application running engine sends an identifier of the second application to a policy server, so that the policy server determines that the second application is legal according to the identifier of the second application; the installation-free application running engine receives indication that the second application is legitimate from the policy server. According to the embodiment, the installation-free application running engine firstly determines that the second application is legal and then acquires the installation-free application program package of the second application from the download server, so that the installation-free application is ensured to be legal while the experience of starting the installation-free application by other applications is provided.
For example, when the policy server determines that the identity of the second application belongs to the list of identities of legitimate applications, it determines that the second application is legitimate.
When the second request is an intent request, in a possible implementation manner, before the installation-free application running engine acquires an installation-free application package of the second application from a download server, the installation-free application running engine sends a signature of the first application to a policy server, so that the policy server determines that the first application is legal according to the signature of the first application; the installation-free application execution engine receives, from the policy server, an indication that the first application is legitimate. According to the embodiment, the installation-free application running engine firstly determines that the first application is legal, and then acquires the installation-free application program package of the second application from the download server, so that the experience of starting the installation-free application by other applications is provided, and meanwhile, the other applications are guaranteed to be legal.
For example, the first application sends, to an installation-free application running engine on the terminal, the identifier of the second application, the page path, the input parameter, a timestamp, a random number, and a signature generated by signature calculation on the identifier of the second application, the page path, the input parameter, the timestamp, and the random number by using a private key of the first application. And the installation-free application running engine sends the identifier of the second application, the page path, the input parameter, the timestamp, the random number and a signature generated by signature calculation on the identifier of the second application, the page path, the input parameter, the timestamp and the random number by using a private key of the first application to the policy server. And the policy server verifies the signature to verify whether the first application is legal or not, and sends the address of the second application to the installation-free application running engine when the verification is successful, otherwise, does not send the address of the second application.
When the second request is an http request, the terminal may check whether the first application is legal or not by combining its own capability.
In a possible implementation manner, the firewall determines that the identifier of the first application belongs to the first identifier set, and then determines that the URL matches the URL regular expression. The first identification set may be a list of packet names from which the request originates. According to the embodiment, the validity of the first application (namely, the caller) can be verified, and the legal caller is ensured to call the installation-free application running engine.
In a possible implementation manner, the system application on the terminal first obtains the first identifier set and the URL regular expression from a policy server, and the system application sends the first identifier set and the URL regular expression to the firewall, and then the firewall determines that the identifier of the first application belongs to the first identifier set. The system application may obtain an interception matching policy from a policy server, where the interception matching policy includes the first identifier set and the URL regular expression. According to the embodiment, a way for the firewall to acquire the first identifier set and the URL regular expression is provided.
Step 404, the installation-free application running engine loads and runs an installation-free application program package of the second application; the second application displays a page of the second application.
It can be understood that, when the second request further carries a page path and/or an input parameter, the second application displays a page of the second application according to the page path and/or the input parameter.
In one example, the install-free application execution engine loads and executes an install-free application package of the second application, and the page of the second application is displayed on the display panel 141 according to the page path and the input parameters.
Fig. 6 is a schematic diagram of a user interface change according to an embodiment of the present invention. Fig. 6(a) is a user interface of the terminal before the first application on the terminal receives the request to access the page of the second application in step 401, at which time the terminal displays the page of the first application. Fig. 6(b) shows the user interface of the terminal after the first application on the terminal receives the request for accessing the page of the second application in step 401 and when step 404 is not performed, the terminal displays the page of the second application through the first application. Fig. 6(c) is a user interface of the terminal when the execution of step 404 is completed, at which time the terminal displays a page of the second application through the second application.
Fig. 7 is a schematic diagram of another variation of the user interface according to the embodiment of the present invention. It is to be understood that, in step 402, when the first application determines that the second application is not installed on the terminal, a dialog box 701 may pop up, where a prompt message that the second application is not installed on the terminal is displayed in the dialog box 701, and the user is requested to confirm whether to install the second application, and when an instruction that the user confirms to install the second application is received, the first application sends the identifier of the second application, the page path, and the input parameter to the installation-free application execution engine on the terminal.
According to the embodiment of the invention, a first application on a terminal receives a first request for accessing a page of a second application, wherein the second application is an installation-free application and is not installed on the terminal. In the specific scene, the first application informs an installation-free application running engine of the identifier of the second application, the installation-free application running engine loads and runs an installation-free application program package of the second application, and the second application displays a page of the second application, so that application skipping in the specific scene can be realized, and user experience is good.
Taking the first application as a browser application as an example, the following embodiments are provided from the perspective of browser application and uninstall application execution engine interaction.
Fig. 8 is a communication diagram of another method for browsing application pages according to an embodiment of the present invention. The method may be based on the system architecture shown in fig. 2 and the terminal shown in fig. 3, and the validity of the second application is checked by the policy server. The method is realized by using a deeplink technology, and comprises the following steps:
in step 801, a browser application on a terminal receives a request for accessing a page of a second application, where the request includes an identifier of the second application, a page path, and an input parameter for accessing the second application.
Step 802, when the browser application determines that the second application is not installed on the terminal, the browser application sends the identifier of the second application, the page path and the input parameters to an installation-free application running engine on the terminal.
Step 803, the uninstall application running engine sends the identifier of the second application to the policy server.
Step 804, the policy server determines that the identifier of the second application belongs to the identifier list of the legal application, and sends the download address of the second application to the installation-free application running engine.
It will be appreciated that when the policy server determines that the identity of the second application does not belong to the list of identities of legitimate applications, the download address of the second application is not sent to the installation-exempt application execution engine, but a notification message may be sent to the installation-exempt application execution engine, the notification message being for notifying that the second application is not a legitimate application. At this time, application skipping cannot be realized, and the terminal displays the page of the second application through the first application.
Fig. 9 is a schematic diagram of another variation of the user interface according to the embodiment of the present invention. It is to be understood that when the installation-exempt application execution engine receives the notification message, a dialog 901 may pop up, and prompt information that the second application cannot be installed by the second application but is not a legitimate application is displayed in the dialog 901.
Step 805, the uninstall application running engine sends the download address of the second application to a download server; and receiving an installation-free application package for the second application from the download server.
Step 806, the installation-free application running engine loads and runs the installation-free application program package of the second application; and the second application displays the page of the second application according to the page path and the input parameters.
Step 801 is the same as step 401 in the embodiment shown in fig. 4, step 802 is the same as step 402 in the embodiment shown in fig. 4, step 805 is the same as step 403 in the embodiment shown in fig. 4, and step 806 is the same as step 404 in the embodiment shown in fig. 4, which is not repeated herein.
According to the embodiment of the invention, the legitimacy of the second application can be verified by the policy server, if the second application is legal, the installation-free application running engine can obtain the download address of the second application, otherwise, the download address of the second application cannot be obtained, and the installation-free application running engine is ensured to only run the legal installation-free application.
Fig. 10 is a communication diagram of another method for browsing application pages according to an embodiment of the present invention. The method may be based on the system architecture shown in fig. 2 and the terminal shown in fig. 3, and the legitimacy of the second application (i.e. the installation-free application) and the legitimacy of the first application (i.e. the browser application) are verified by the policy server. The method is realized by using a deeplink technology, and comprises the following steps:
step 1001, a browser application on a terminal receives a request for accessing a page of a second application, where the request includes an identifier of the second application, a page path, and an input parameter.
Step 1002, when the browser application determines that the second application is not installed on the terminal, the browser application performs signature calculation on the identifier of the second application, the page path, the input parameter, the timestamp and the random number by using a private key of the browser application to generate a signature.
The embodiment of the invention does not limit the original data for signature calculation and the signature calculation method. For example, only the identifier of the second application may be used as raw data, and the signature calculation may be performed on the raw data to generate a signature.
Step 1003, the browser application sends the identifier of the second application, the page path, the input parameter, the timestamp, the random number and a signature generated by signature calculation on the identifier of the second application, the page path, the input parameter, the timestamp and the random number by using a private key of the first application to an installation-free application running engine on the terminal.
In an example, the javascript code in the browser application may send Intent in an Intent action mode of android standard deeplink, where the Intent carries the content to be sent.
Step 1004, the installation-free application running engine sends the identifier of the second application, the page path, the input parameter, the timestamp, the random number and a signature generated by signature calculation on the identifier of the second application, the page path, the input parameter, the timestamp and the random number by using a private key of the first application to the policy server.
It is understood that the contents transmitted in step 1003 and step 1004 are the same, but the transmission mode may be different. In one example, the install-free application execution engine may pass the content received in step 1003 through to the policy server.
Step 1005, the policy server checks the signature and determines that the identifier of the second application belongs to the identifier list of the legitimate application.
On one hand, the policy server verifies the signature by using a public key of the browser application to determine whether the first application is legal; in another aspect, the policy server determines whether the identity of the second application belongs to a list of identities of legitimate applications to determine whether the second application is legitimate. When both the first application and the second application are legitimate, step 1006 is performed, otherwise step 1006 is not performed.
In step 1006, the policy server sends the download address of the second application to the install-free application execution engine.
It is to be appreciated that when at least one of the first application and the second application is not legitimate, step 1006 is not performed, but the policy server can send a notification message to the install-less application execution engine, the notification message notifying that at least one of the first application and the second application is illegitimate.
Fig. 11 is a schematic diagram of another variation of the user interface according to the embodiment of the present invention. It is to be understood that when the install-less application execution engine receives the notification message, a dialog 1101 may pop up, and prompt information that the first application is not a legitimate application and cannot invoke the second application is displayed in the dialog 1101.
Step 1007, the uninstalled application running engine sends the download address of the second application to the download server; and receiving an installation-free application package for the second application from the download server.
Step 1008, the installation-free application running engine loads and runs the installation-free application package of the second application; and the second application displays the page of the second application according to the page path and the input parameters.
Step 1001 is the same as step 401 in the embodiment shown in fig. 4, step 1007 is the same as step 403 in the embodiment shown in fig. 4, and step 1008 is the same as step 404 in the embodiment shown in fig. 4, which is not repeated herein.
In the embodiment of the invention, the browser application not only sends the identifier of the second application, the page path and the input parameter to the installation-free application running engine, but also sends a signature generated by using a private key of the browser application; accordingly, the install-free application runtime engine sends not only the identification of the second application, the page path, and the input parameters, but also a signature generated with a private key of the browser application to the policy server. Therefore, the legitimacy of the installation-free application (namely the second application) can be verified by the policy server according to the identifier of the second application, the legitimacy of the calling party (namely the first application) can be verified by the policy server according to the signature, when the installation-free application and the calling party are both legal, the installation-free application running engine can obtain the download address of the second application, otherwise, the download address of the second application cannot be obtained, and therefore the installation-free application running engine can only run the legal installation-free application, and only the legal calling party can start the installation-free application running engine to run the legal installation-free application.
Fig. 12 is a communication diagram of another method for browsing application pages according to an embodiment of the present invention. The method may be based on the system architecture shown in fig. 2 and the terminal shown in fig. 3, and the policy server transfers the interception matching policy to a firewall of the terminal, and the firewall determines whether the request issued by the first application (e.g., browser application) conforms to the interception matching policy. The method comprises the following steps:
step 1201, the system application on the terminal obtains the interception matching policy from the policy server.
It is understood that the system application may be, but is not limited to, an Android system application, for example, an iOS system application, a Linux system application, a Windows system application, or a Framework system application.
In one example, the Android system application sends a request message to a policy server, where the request message is used to request to acquire an interception matching policy (including a first identity set and a Uniform resource locator (url) regular expression). And the policy server sends a response message to the Android system application, wherein the response message comprises the first identification set and the URL regular expression. It is to be understood that the first identification set may be a package name list of a request source, and the list includes package names of legitimate applications. For example: url regular expression: http:// com.unit.bac/; package name of application: com.union.app, com.we.app.
Step 1202, the system application sends the interception matching policy to a firewall.
The method for sending the interception matching policy to the firewall by the system application may adopt a general method, which is not described herein.
In step 1203, the browser application on the terminal receives a request for accessing a page of the second application, where the request includes an identifier of the second application, a page path, and an input parameter.
For example, the URI corresponding to the request is:
http://com.union.com/fastapp?packageName=com.ele&path=urlencode(‘/index’)&query=urlencode(‘key1=value1&key2=value2’)
specifically, refer to the description of step 401, which is not described herein again.
Step 1204, the browser application sends the identifier of the second application, the page path and the input parameter to a firewall on the terminal.
In one example, the browser application starts the second application by sending an http request, the http request including a url for accessing the second application, the url including an identification of the second application, the page path, and the input parameter. The firewall intercepts the http request.
Step 1205, the firewall determines whether the request conforms to an intercept matching policy.
In one example, an intercept matching policy includes a first set of identifications and a URL regular expression. The firewall determines that the identity of the browser application belongs to a first set of identities and that the URL matches a URL regular expression.
It is understood that when the firewall determines that the identifier of the browser application does not belong to the first identifier set, a prompt may be displayed on the user interface, where the prompt is used to prompt that the browser application is not a legitimate application and cannot jump to an install-free application. At this time, application skipping cannot be realized, and the terminal displays the page of the second application through the browser application.
Fig. 13 is a schematic diagram of another variation of the user interface according to the embodiment of the present invention. It will be appreciated that when the firewall determines that the identity of the browser application does not belong to the first set of identities, a dialog 1301 may pop up in which a prompt is displayed in the dialog 1301 that the browser application is not a legitimate application and cannot invoke the second application.
And when the identifier of the browser application belongs to the first identifier set, indicating that the browser application is a legal application.
And when the URL is matched with the URL regular expression, the second application is indicated as the installation-free application.
When the identity of the browser application belongs to the first set of identities and the URL matches a URL regular expression, the following step 1206 is performed.
In step 1206, the firewall sends the identifier of the second application, the page path, and the input parameter to the install-free application running engine.
In one example, in step 1204, the browser application starts a second application by sending an http request, where the http request includes an identifier of the second application, the page path, and the input parameter. The firewall intercepts the http request. In step 1206, the firewall forwards the http request.
Step 1207, the installation-free application running engine parses the identifier of the second application, the page path, and the input parameter.
The analysis mode may adopt a general mode, which is not described herein.
Step 1208, the installation-free application running engine sends the download address of the second application to a download server; and receiving an installation-free application package for the second application from the download server.
Step 1209, the installation-free application running engine loads and runs the installation-free application program package of the second application; and the second application displays the page of the second application according to the page path and the input parameters.
Step 1208 is the same as step 403 in the embodiment shown in fig. 4, and step 1209 is the same as step 404 in the embodiment shown in fig. 4, which is not repeated herein.
According to the embodiment of the invention, the request sent by the firewall on the terminal to the browser application is matched with the interception matching strategy, so that the calling request of an illegal source can be intercepted, the safety is high, and unnecessary signaling can be reduced.
Fig. 14 is a communication diagram of another method for browsing application pages according to an embodiment of the present invention. The method may be based on the system architecture shown in fig. 2 and the terminal shown in fig. 3, and the policy server transmits the interception matching policy to a firewall of the terminal, and the firewall determines whether a request sent by a first application (e.g., a browser application) meets the interception matching policy, and calls an installation-free application execution engine through the system application after determining that the request meets the interception matching policy. The method comprises the following steps:
step 1401, a system application on a terminal acquires an interception matching policy from a policy server.
Step 1402, the system application sends the interception matching policy to a firewall.
Step 1403, the browser application on the terminal receives a request to access a page of a second application, the request including an identity of the second application, a page path and input parameters for accessing the second application.
Step 1404, the browser application sends the identifier of the second application, the page path and the input parameter to a firewall on the terminal.
Step 1405, the firewall determines whether the request conforms to the intercept matching policy.
In one example, an intercept matching policy includes a first set of identifications and a URL regular expression. The firewall determines that the identity of the browser application belongs to a first set of identities and that the URL matches a URL regular expression.
Step 1406, the firewall sends the identity of the second application, the page path, and the input parameter to a system application.
In one example, in step 1404, the browser application starts a second application by sending an http request, where the http request includes an identifier of the second application, the page path, and the input parameter. The firewall intercepts the http request. In step 1406, the firewall forwards the http request.
Step 1407, the system application sends the identifier of the second application, the page path, and the input parameter to the installation-free application running engine.
In one example, in step 1404, the browser application starts a second application by sending an http request, where the http request includes an identifier of the second application, the page path, and the input parameter. The firewall intercepts the http request. In step 1406, the firewall forwards the http request. In step 1407, the system application forwards the http request.
Step 1408, the uninstall application running engine parses the identifier of the second application, the page path, and the input parameter.
Step 1409, the installation-free application running engine sends the download address of the second application to a download server; and receiving an installation-free application package for the second application from the download server.
Step 1410, the installation-free application running engine loads and runs the installation-free application package of the second application; and the second application displays the page of the second application according to the page path and the input parameters.
Steps 1401 to 1405 are the same as steps 1201 to 1205 in the embodiment shown in fig. 12, and steps 1408 to 1410 are the same as steps 1207 to 1209 in the embodiment shown in fig. 12, respectively, and are not repeated herein.
In the embodiment of the invention, the firewall does not directly send the identifier, the page path and the input parameters of the second application to the installation-free application running engine, but indirectly transmits the identifier, the page path and the input parameters of the second application through the system application, thereby enhancing the controllability of the system. Aiming at the scene that the first application intercepts the standard Android deep Intent, the second application can still be started and run.
The above-mentioned embodiments of the present invention have been introduced mainly from the perspective of interaction between network elements. It is to be understood that each network element, such as a terminal, a server, etc., for implementing the above functions, includes corresponding hardware structures and/or software modules for performing the respective functions. Those of skill in the art will readily appreciate that the present invention can be implemented in hardware or a combination of hardware and computer software, with the exemplary elements and algorithm steps described in connection with the embodiments disclosed herein. Whether a function is performed as hardware or computer software drives hardware depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
In the embodiment of the present invention, the terminal, the server, and the like may be divided into the functional modules according to the above method examples, for example, each functional module may be divided corresponding to each function, or two or more functions may be integrated into one processing module. The integrated module can be realized in a hardware mode, and can also be realized in a software functional module mode. It should be noted that, the division of the modules in the embodiment of the present invention is schematic, and is only a logic function division, and there may be another division manner in actual implementation.
Fig. 15 is a schematic structural diagram of another terminal according to an embodiment of the present invention, where the terminal is configured to execute the method for browsing an application page according to the embodiment of the present invention, and reference may be made to contents related to the method for corresponding features and descriptions, which are not described again in this embodiment. The terminal includes:
a processing unit 1501, configured to receive, by a first application on a terminal, a first request for accessing a second application; the first application sends a second request to an installation-free application running engine on the terminal, wherein the second request is used for requesting to access the second application, the second request carries an identifier of the second application, and the second application is an installation-free application and is not installed on the terminal;
a communication unit 1502, configured to obtain, by the install-free application running engine, an install-free application package of the second application from a download server;
the processing unit 1501 is further configured to load and run an installation-free application package of the second application by the installation-free application running engine;
a display unit 1503 for displaying the page of the second application by the second application.
In one example, the second request is an intent request.
In one example, before the communication unit 1502 is configured to enable the installation-free application execution engine to obtain the installation-free application package of the second application from the download server, the communication unit 1502 is further configured to enable the installation-free application execution engine to send an identifier of the second application to a policy server, so that the policy server determines that the second application is legal according to the identifier of the second application; the installation-free application running engine receives indication that the second application is legitimate from the policy server.
In one example, before the communication unit 1502 is configured to enable the installation-free application execution engine to obtain the installation-free application package of the second application from the download server, the communication unit 1502 is further configured to enable the installation-free application execution engine to send the signature of the first application to the policy server, so that the policy server determines that the first application is legal according to the signature of the first application; the installation-free application execution engine receives, from the policy server, an indication that the first application is legitimate.
In an example, the processing unit 1501 is configured to send, by the first application, a second request to an installation-exempt application running engine on the terminal, where the second request carries an identifier of the second application, and includes:
the first application sends an http request to a firewall on the terminal, wherein the http request carries a Uniform Resource Locator (URL) for positioning to the second application;
the firewall determines that the URL is matched with a URL regular expression; and the firewall sends the URL to the installation-free application running engine, wherein the URL carries the identifier of the second application.
In one example, the processing unit 1501 is configured to send, by the firewall to the install-free application execution engine, a URL of the second application, where the URL carries an identifier of the second application, where the sending includes:
the firewall sends the URL to a system application on the terminal, and the URL carries an identifier of the second application;
and the system application sends the URL to the installation-free application running engine, wherein the URL carries the identifier of the second application.
In one example, before the processing unit 1501 is configured to determine that the URL matches a URL regular expression, the processing unit 1501 is further configured to determine that the identity of the first application belongs to a first identity set by the firewall.
In an example, before the processing unit 1501 is configured to determine that the identifier of the first application belongs to a first identifier set, the processing unit 1501 is further configured to obtain, by a system application on the terminal, the first identifier set and the URL regular expression from a policy server; the system application sends the first set of identifications and the URL regular expression to the firewall.
In one example, the second request carries an identity, a page path, and an input parameter of the second application; the display unit 1503 is specifically configured to display, by the second application, a page of the second application according to the page path and the input parameter.
In this embodiment of the present invention, the processing unit 1501 is configured to receive, by a first application on the terminal, a first request for accessing a second application, where the second application is an installation-free application and is not installed on the terminal. In the specific scene, the first application informs an installation-free application running engine of the identifier of the second application, the installation-free application running engine loads and runs an installation-free application program package of the second application, and the second application displays a page of the second application, so that application skipping in the specific scene can be realized, and user experience is good.
In addition, the RF circuit 110 (also referred to as a communication interface) in the terminal shown in fig. 3 may correspond to the communication unit 1502 in the terminal in fig. 15; the processor 150 shown in fig. 3 may correspond to the processing unit 1501 in fig. 15; the display unit 140 (which may also be referred to as a display screen) shown in fig. 3 may correspond to the display unit 1503 in fig. 15. And will not be described in detail herein.
Based on the terminal structure shown in fig. 3, the memory 120 is used for storing program instructions;
the processor 150 is configured to execute the program instructions stored in the memory 120 to cause the terminal to perform the following operations:
a first application on the terminal receives a first request for accessing a second application;
the first application sends a second request to an installation-free application running engine on the terminal, wherein the second request is used for requesting to access the second application, the second request carries an identifier of the second application, and the second application is an installation-free application and is not installed on the terminal;
the installation-free application running engine acquires an installation-free application program package of the second application from a download server through the communication interface 110;
the installation-free application running engine loads and runs an installation-free application program package of the second application; the second application displays a page of the second application through the display screen 140.
In one example, the second request is an intent request.
In one example, before the processor 150 performs the operation of obtaining the installation-free application package of the second application from the download server through the communication interface 110, the processor 150 is further configured to perform the following operations according to the program instructions stored in the memory 120:
the installation-free application running engine sends the identifier of the second application to a policy server through the communication interface 110, so that the policy server determines that the second application is legal according to the identifier of the second application;
the install-free application execution engine receives an indication from the policy server via the communication interface 110 that the second application is legitimate.
In one example, before the processor 150 performs the operation of obtaining the installation-free application package of the second application from the download server through the communication interface 110, the processor 150 is further configured to perform the following operations according to the program instructions stored in the memory 120:
the installation-free application running engine sends the signature of the first application to a policy server through the communication interface 110, so that the policy server determines that the first application is legal according to the signature of the first application;
the install-free application execution engine receives an indication from the policy server via the communication interface 110 that the first application is legitimate.
In one example, the processor 150 performs an operation of the first application sending a second request to an installation-free application execution engine on the terminal, where the second request carries an identifier of the second application, including:
the first application sends an http request to a firewall on the terminal, wherein the http request carries a Uniform Resource Locator (URL) for positioning to the second application;
the firewall determines that the URL is matched with a URL regular expression; and the firewall sends the URL to the installation-free application running engine, wherein the URL carries the identifier of the second application.
In one example, the processor 150 performs the operation of the firewall sending the URL to the installation-free application execution engine, where the URL carries an identifier of the second application, including:
the firewall sends the URL to a system application on the terminal, and the URL carries an identifier of the second application;
and the system application sends the URL to the installation-free application running engine, wherein the URL carries the identifier of the second application.
In one example, before the processor 150 performs the operation of the firewall determining that the URL matches a URL regular expression, the processor 150 is further configured to perform the following operations according to program instructions stored in the memory 120:
the firewall determines that the identity of the first application belongs to a first set of identities.
In one example, prior to the processor 150 performing the operation of the firewall determining that the identity of the first application belongs to the first set of identities, the processor 150 is further configured to perform the following operations in accordance with program instructions stored in the memory 120:
the system application on the terminal acquires the first identifier set and the URL regular expression from a policy server through the communication interface 110;
the system application sends the first set of identifications and the URL regular expression to the firewall.
In one example, the second request carries an identity, a page path, and an input parameter of the second application; the processor 150 is specifically configured to display, by the second application, a page of the second application through the display screen 140 according to the page path and the input parameter.
In the embodiment of the present invention, the processor 150 is configured to receive, by a first application on the terminal, a first request for accessing a second application, where the second application is an installation-free application and is not installed on the terminal. In the specific scene, the first application informs an installation-free application running engine of the identifier of the second application, the installation-free application running engine loads and runs an installation-free application program package of the second application, and the second application displays a page of the second application, so that application skipping in the specific scene can be realized, and user experience is good.
Fig. 16 is a schematic diagram of a communication device according to an embodiment of the present application, and as shown in fig. 16, the communication device 1600 may be a chip, where the chip includes a processing unit and a communication unit. The processing unit may be a processor 1610, which may be of the various types described previously. The communication unit may be, for example, an input/output interface 1620, a pin or a circuit, etc., and may include or be connected to a system bus. Optionally, the communication device further includes a storage unit, which may be a memory 1630 inside the chip, such as a register, a cache, a Random Access Memory (RAM), an EEPROM, or a FLASH; the memory unit may also be a memory located outside the chip, which may be of the various types described hereinbefore. A processor is coupled to the memory and is operable to execute the instructions stored by the memory to cause the communication device to perform the methods described above with respect to fig. 4, 8, 10, 12, or 14.
In the various embodiments of the invention described above, implementation may be in whole or in part via software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded and executed on a computer, cause the processes or functions described in accordance with the embodiments of the invention to occur, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored on a computer readable storage medium or transmitted from one computer readable medium to another, for example, from one website, computer, server, or data center to another website, computer, server, or data center via wire (e.g., coaxial cable, fiber optic, Digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device, such as a server, a data center, etc., that incorporates one or more of the available media. The usable medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid state disk), among others.
The above-mentioned embodiments, objects, technical solutions and advantages of the present invention are further described in detail, it should be understood that the above-mentioned embodiments are only exemplary embodiments of the present invention, and are not intended to limit the scope of the present invention, and any modifications, equivalent substitutions, improvements and the like made on the basis of the technical solutions of the present invention should be included in the scope of the present invention.
Claims (29)
- A method of browsing application pages, the method comprising:a first application on the terminal receives a first request for accessing a second application;the first application sends a second request to an installation-free application running engine on the terminal, wherein the second request is used for requesting to access the second application, the second request carries an identifier of the second application, and the second application is an installation-free application and is not installed on the terminal;the installation-free application running engine acquires an installation-free application program package of the second application from a download server;the installation-free application running engine loads and runs an installation-free application program package of the second application; the second application displays a page of the second application.
- The method of claim 1, wherein the second request is an intent request.
- The method of claim 2, wherein prior to the installer-free application execution engine obtaining the install-free application package for the second application from a download server, the method further comprises:the installation-free application running engine sends the identifier of the second application to a policy server so that the policy server determines that the second application is legal according to the identifier of the second application;the installation-free application running engine receives indication that the second application is legitimate from the policy server.
- The method of claim 2, wherein prior to the installer-free application execution engine obtaining the install-free application package for the second application from a download server, the method further comprises:the installation-free application running engine sends the signature of the first application to a policy server so that the policy server determines that the first application is legal according to the signature of the first application;the installation-free application execution engine receives, from the policy server, an indication that the first application is legitimate.
- The method of claim 1, wherein the first application sending a second request to an installation-free application execution engine on the terminal, the second request carrying an identification of the second application, comprises:the first application sends an http request to a firewall on the terminal, wherein the http request carries a Uniform Resource Locator (URL) for positioning to the second application;the firewall determines that the URL is matched with a URL regular expression; and the firewall sends the URL to the installation-free application running engine, wherein the URL carries the identifier of the second application.
- The method of claim 5, wherein the firewall sends the URL to the installation-free application execution engine, the URL carrying an identification of the second application, comprising:the firewall sends the URL to a system application on the terminal, and the URL carries an identifier of the second application;and the system application sends the URL to the installation-free application running engine, wherein the URL carries the identifier of the second application.
- The method of claim 5 or 6, wherein before the firewall determines that the URL matches a URL regular expression, the method further comprises:the firewall determines that the identity of the first application belongs to a first set of identities.
- The method of claim 7, wherein before the firewall determines that the identity of the first application belongs to a first set of identities, the method further comprises:the system application on the terminal acquires the first identifier set and the URL regular expression from a policy server;the system application sends the first set of identifications and the URL regular expression to the firewall.
- The method of any of claims 1 to 8, wherein the second request carries an identification of the second application, a page path, and input parameters; and the second application displays the page of the second application according to the page path and the input parameters.
- A terminal, characterized in that the terminal comprises:a processing unit, configured to receive, by a first application on a terminal, a first request for accessing a second application; the first application sends a second request to an installation-free application running engine on the terminal, wherein the second request is used for requesting to access the second application, the second request carries an identifier of the second application, and the second application is an installation-free application and is not installed on the terminal;the communication unit is used for acquiring the installation-free application program package of the second application from a download server by the installation-free application running engine;the processing unit is further configured to load and run an installation-free application package of the second application by the installation-free application running engine;and the display unit is used for displaying the page of the second application by the second application.
- The terminal of claim 10, wherein the second request is an intent request.
- The terminal of claim 11, wherein before the communication unit is configured to enable the installation-free application execution engine to obtain the installation-free application package of the second application from a download server, the communication unit is further configured to enable the installation-free application execution engine to send an identifier of the second application to a policy server, so that the policy server determines that the second application is legal according to the identifier of the second application; the installation-free application running engine receives indication that the second application is legitimate from the policy server.
- The terminal of claim 11, wherein before the communication unit is configured to enable the installation-free application execution engine to obtain the installation-free application package of the second application from a download server, the communication unit is further configured to enable the installation-free application execution engine to send a signature of the first application to a policy server, so that the policy server determines that the first application is legal according to the signature of the first application; the installation-free application execution engine receives, from the policy server, an indication that the first application is legitimate.
- The terminal of claim 10, wherein the processing unit is configured to send, by the first application, a second request to an installation-free application execution engine on the terminal, the second request carrying an identification of the second application, and includes:the first application sends an http request to a firewall on the terminal, wherein the http request carries a Uniform Resource Locator (URL) for positioning to the second application;the firewall determines that the URL is matched with a URL regular expression; and the firewall sends the URL to the installation-free application running engine, wherein the URL carries the identifier of the second application.
- The terminal of claim 14, wherein the processing unit is configured to send, by the firewall to the installation-free application execution engine, a URL of the second application, the URL carrying an identification of the second application, and to include:the firewall sends the URL to a system application on the terminal, and the URL carries an identifier of the second application;and the system application sends the URL to the installation-free application running engine, wherein the URL carries the identifier of the second application.
- The terminal according to claim 14 or 15, wherein the processing unit is further configured to determine, by the firewall, that the identity of the first application belongs to a first set of identities before the firewall determines that the URL matches a URL regular expression.
- The terminal of claim 16, wherein the processing unit is further configured to, before the firewall determines that the identity of the first application belongs to a first set of identities, obtain, by a system application on the terminal, the first set of identities and the URL regular expression from a policy server; the system application sends the first set of identifications and the URL regular expression to the firewall.
- The terminal according to any of claims 10 to 17, wherein the second request carries an identity, a page path and input parameters of the second application; the display unit is specifically configured to display, by the second application, a page of the second application according to the page path and the input parameter.
- A terminal, characterized in that the terminal comprises: the device comprises a memory, a processor, a communication interface and a display screen;the memory to store program instructions;the processor is configured to perform the following operations according to program instructions stored in the memory:a first application on the terminal receives a first request for accessing a second application;the first application sends a second request to an installation-free application running engine on the terminal, wherein the second request is used for requesting to access the second application, the second request carries an identifier of the second application, and the second application is an installation-free application and is not installed on the terminal;the installation-free application running engine acquires an installation-free application program package of the second application from a download server through the communication interface;the installation-free application running engine loads and runs an installation-free application program package of the second application; and the second application displays the page of the second application through the display screen.
- The terminal of claim 19, wherein the second request is an intent request.
- The terminal of claim 20, wherein prior to the processor performing the operation of the install-free application runtime engine obtaining the install-free application package for the second application from a download server via the communication interface, the processor is further configured to perform the following operations in accordance with program instructions stored in the memory:the installation-free application running engine sends the identifier of the second application to a policy server through the communication interface, so that the policy server determines that the second application is legal according to the identifier of the second application;and the installation-free application running engine receives the indication that the second application is legal from the policy server through the communication interface.
- The terminal of claim 20, wherein prior to the processor performing the operation of the install-free application runtime engine obtaining the install-free application package for the second application from a download server via the communication interface, the processor is further configured to perform the following operations in accordance with program instructions stored in the memory:the installation-free application running engine sends the signature of the first application to a policy server through the communication interface, so that the policy server determines that the first application is legal according to the signature of the first application;the installation-free application execution engine receives, from the policy server through the communication interface, an indication that the first application is legitimate.
- The terminal of claim 19, wherein the processor performs the operation of the first application sending a second request to an installation-free application execution engine on the terminal, the second request carrying an identification of the second application, comprising:the first application sends an http request to a firewall on the terminal, wherein the http request carries a Uniform Resource Locator (URL) for positioning to the second application;the firewall determines that the URL is matched with a URL regular expression; and the firewall sends the URL to the installation-free application running engine, wherein the URL carries the identifier of the second application.
- The terminal of claim 23, wherein the processor performs the operation of the firewall sending the URL to the installation-free application execution engine, the URL carrying an identification of the second application, comprising:the firewall sends the URL to a system application on the terminal, and the URL carries an identifier of the second application;and the system application sends the URL to the installation-free application running engine, wherein the URL carries the identifier of the second application.
- The terminal of claim 23 or 24, wherein prior to the processor performing the operation of the firewall determining that the URL matches a URL regular expression, the processor is further configured to, in accordance with program instructions stored in the memory:the firewall determines that the identity of the first application belongs to a first set of identities.
- The terminal of claim 25, wherein prior to the processor performing the operation of the firewall determining that the identity of the first application belongs to a first set of identities, the processor is further configured to, in accordance with program instructions stored in the memory:the system application on the terminal acquires the first identifier set and the URL regular expression from a policy server through the communication interface;the system application sends the first set of identifications and the URL regular expression to the firewall.
- The terminal according to any of claims 19 to 26, wherein the second request carries an identity, a page path and input parameters of the second application; the processor is specifically configured to display, by the second application, a page of the second application through the display screen according to the page path and the input parameter.
- A computer-readable storage medium comprising instructions that, when executed on a computer, cause the computer to perform the method of any of claims 1 to 9.
- A computer program product comprising instructions which, when run on a computer, cause the computer to perform the method of any one of claims 1 to 9.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2018102658381 | 2018-03-28 | ||
CN201810265838 | 2018-03-28 | ||
PCT/CN2018/086140 WO2019184053A1 (en) | 2018-03-28 | 2018-05-09 | Method and terminal for browsing page of application |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110869907A true CN110869907A (en) | 2020-03-06 |
CN110869907B CN110869907B (en) | 2021-10-01 |
Family
ID=68060851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880043747.1A Active CN110869907B (en) | 2018-03-28 | 2018-05-09 | Method and terminal for browsing application page |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110869907B (en) |
WO (1) | WO2019184053A1 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111552977A (en) * | 2020-04-16 | 2020-08-18 | 北京达佳互联信息技术有限公司 | Method, device and system for determining application permission |
CN111722885A (en) * | 2020-06-19 | 2020-09-29 | 北京字节跳动网络技术有限公司 | Program running method and device and electronic equipment |
CN111930440A (en) * | 2020-08-10 | 2020-11-13 | 湖南快乐阳光互动娱乐传媒有限公司 | Method for awakening installation-free application, related device and computer storage medium |
CN112069430A (en) * | 2020-09-22 | 2020-12-11 | 深圳市欢太科技有限公司 | Quick application preview method and device, electronic equipment and storage medium |
CN112291412A (en) * | 2020-10-29 | 2021-01-29 | 维沃移动通信(杭州)有限公司 | Application program control method and device and electronic equipment |
CN114428618A (en) * | 2020-10-28 | 2022-05-03 | 华为技术有限公司 | Cross-device application interaction method, electronic device and server |
WO2024153170A1 (en) * | 2023-01-20 | 2024-07-25 | 华为技术有限公司 | Quick-application running method, and electronic device |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111488151B (en) * | 2020-04-17 | 2023-09-26 | 上海数禾信息科技有限公司 | Page interaction method and device among Android modules |
CN111767069B (en) * | 2020-06-30 | 2024-03-15 | 北京百度网讯科技有限公司 | Applet processing method, server, device and storage medium |
CN112527330B (en) * | 2020-12-16 | 2024-08-23 | Vidaa美国公司 | Management method and display device |
CN115048191B (en) * | 2021-02-26 | 2024-10-18 | 花瓣云科技有限公司 | Method for switching display equipment by fast application and related equipment |
CN114189445B (en) * | 2021-12-03 | 2023-03-10 | 威创集团股份有限公司 | USB signal transparent transmission processing method, device, terminal and storage medium |
CN114285815B (en) * | 2021-12-21 | 2024-05-14 | 中国农业银行股份有限公司 | Application jump method and application jump device |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013182063A1 (en) * | 2012-06-08 | 2013-12-12 | 腾讯科技(深圳)有限公司 | Webapp startup method and device |
CN104079528A (en) * | 2013-03-26 | 2014-10-01 | 北大方正集团有限公司 | Method and system of safety protection of Web application |
CN105446750A (en) * | 2014-05-30 | 2016-03-30 | 阿里巴巴集团控股有限公司 | Web app starting operation and mirror image file generating method and device |
US20160110180A1 (en) * | 2011-06-13 | 2016-04-21 | Microsoft Technology Licensing, Llc | Automatic recognition of web application |
CN106293652A (en) * | 2015-05-20 | 2017-01-04 | 王筱娜 | A kind of application dynamic initialization technology, system and application |
CN107463833A (en) * | 2017-07-27 | 2017-12-12 | 北京小米移动软件有限公司 | The method of calibration and device of Web applications |
CN107515764A (en) * | 2017-07-28 | 2017-12-26 | 平安科技(深圳)有限公司 | Application program page deployment method, terminal and computer-readable recording medium |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9519726B2 (en) * | 2011-06-16 | 2016-12-13 | Amit Kumar | Surfacing applications based on browsing activity |
US9335983B2 (en) * | 2013-07-28 | 2016-05-10 | Oded Haim Breiner | Method and system for displaying a non-installed android application and for requesting an action from a non-installed android application |
US9838458B2 (en) * | 2015-06-08 | 2017-12-05 | Wesley John Boudville | Cookies and anti-ad blocker using deep links in mobile apps |
CN107315833A (en) * | 2017-07-12 | 2017-11-03 | 北京多点在线科技有限公司 | Method and apparatus of the retrieval with downloading based on application program |
-
2018
- 2018-05-09 CN CN201880043747.1A patent/CN110869907B/en active Active
- 2018-05-09 WO PCT/CN2018/086140 patent/WO2019184053A1/en active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160110180A1 (en) * | 2011-06-13 | 2016-04-21 | Microsoft Technology Licensing, Llc | Automatic recognition of web application |
WO2013182063A1 (en) * | 2012-06-08 | 2013-12-12 | 腾讯科技(深圳)有限公司 | Webapp startup method and device |
CN104079528A (en) * | 2013-03-26 | 2014-10-01 | 北大方正集团有限公司 | Method and system of safety protection of Web application |
CN105446750A (en) * | 2014-05-30 | 2016-03-30 | 阿里巴巴集团控股有限公司 | Web app starting operation and mirror image file generating method and device |
CN106293652A (en) * | 2015-05-20 | 2017-01-04 | 王筱娜 | A kind of application dynamic initialization technology, system and application |
CN107463833A (en) * | 2017-07-27 | 2017-12-12 | 北京小米移动软件有限公司 | The method of calibration and device of Web applications |
CN107515764A (en) * | 2017-07-28 | 2017-12-26 | 平安科技(深圳)有限公司 | Application program page deployment method, terminal and computer-readable recording medium |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111552977A (en) * | 2020-04-16 | 2020-08-18 | 北京达佳互联信息技术有限公司 | Method, device and system for determining application permission |
CN111722885A (en) * | 2020-06-19 | 2020-09-29 | 北京字节跳动网络技术有限公司 | Program running method and device and electronic equipment |
CN111722885B (en) * | 2020-06-19 | 2023-08-08 | 抖音视界有限公司 | Program running method and device and electronic equipment |
CN111930440A (en) * | 2020-08-10 | 2020-11-13 | 湖南快乐阳光互动娱乐传媒有限公司 | Method for awakening installation-free application, related device and computer storage medium |
CN112069430A (en) * | 2020-09-22 | 2020-12-11 | 深圳市欢太科技有限公司 | Quick application preview method and device, electronic equipment and storage medium |
CN114428618A (en) * | 2020-10-28 | 2022-05-03 | 华为技术有限公司 | Cross-device application interaction method, electronic device and server |
CN112291412A (en) * | 2020-10-29 | 2021-01-29 | 维沃移动通信(杭州)有限公司 | Application program control method and device and electronic equipment |
WO2024153170A1 (en) * | 2023-01-20 | 2024-07-25 | 华为技术有限公司 | Quick-application running method, and electronic device |
Also Published As
Publication number | Publication date |
---|---|
WO2019184053A1 (en) | 2019-10-03 |
CN110869907B (en) | 2021-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110869907B (en) | Method and terminal for browsing application page | |
CN112492589B (en) | Method and device for accessing equipment identifier | |
US11798107B2 (en) | Scenario-based application recommendation method and apparatus | |
CN107040609B (en) | Network request processing method and device | |
CN105471931B (en) | Method, device and system for inquiring service data | |
US10152660B2 (en) | Smart card read/write method and apparatus | |
WO2019178869A1 (en) | Method for opening esim card account, and terminal | |
CN109040182B (en) | Service access method and device, electronic equipment and storage medium | |
WO2017211205A1 (en) | Method and device for updating whitelist | |
CN112865956B (en) | Certificate updating method and device, terminal equipment and server | |
CN108090345B (en) | Linux system external command execution method and device | |
CN111478849B (en) | Service access method, device and storage medium | |
CN111357255B (en) | Building a trusted application common to multiple applications | |
CN111866885A (en) | Verification information sharing method and device and electronic equipment | |
EP2869229B1 (en) | Method, device and equipment for installing an application | |
US20160308879A1 (en) | Application-Based Service Providing Method, Apparatus, and System | |
CN109558732A (en) | A kind of method for preventing application file to be tampered and server | |
CN104391629A (en) | Method for sending message in orientation manner, method for displaying message, server and terminal | |
CN109145598B (en) | Virus detection method and device for script file, terminal and storage medium | |
CN109145182B (en) | Data acquisition method and device, computer equipment and system | |
CN111177612B (en) | Page login authentication method and related device | |
CN110430252B (en) | Resource data processing method and device, equipment and readable storage medium | |
CN112579191A (en) | Component loading method, device and system | |
CN105791253B (en) | Method and device for acquiring authentication information of website | |
US10721289B2 (en) | Apparatus and method for improving loading time in electronic device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |