Display device and inter-application media asset jumping method
By introducing preset plug-ins and target interfaces into the display device, media redirection between non-native applications is allowed, which solves the problem that cross-application media redirection function cannot be realized in the existing technology, and realizes the cross-browser media redirection and application function expansion.
Patent Information
- Application Number
- CN202411976624.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-30
- Publication Date
- 2025-05-16
AI Technical Summary
The existing display device platform does not support the mutual cooperation functions between applications, resulting in the cross-application media jump function being unable to be implemented.
Provide a media redirection method between display devices and applications, allowing media redirection between non-native applications to be realized by introducing preset plug-ins and target interfaces in the display device. The processor runs system programs and applications, dynamically loads the plug-in interface, and realizes media redirection requests between applications through the target message communication mechanism.
It realizes the cross-browser media resource jump function, expands the application functions, improves the platform's adaptability and application scalability, improves the user experience, and provides richer media resources.
Smart Images

Figure CN120011671A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of display devices, and in particular to a method for jumping media resources between display devices and applications. Background Art
[0002] On the display device platform, many applications are integrated, and adaptation solutions are provided for many application suppliers. However, due to the limitations of the device platform, many functions require the device platform to provide corresponding support capabilities to achieve mutual cooperation between applications. However, in the related art, the display device platform does not support the mutual cooperation function between applications. Summary of the invention
[0003] The present application provides a method for media resource jump between a display device and an application, so as to solve the problem of supporting the media resource jump function across applications in a display device.
[0004] In a first aspect, some embodiments provide a display device, comprising: a display configured to display a user interface; a memory configured to store a system program and an application program; the system program includes a preset plug-in and a target interface; the preset plug-in is a plug-in that supports a cross-application media resource jump function; the target interface is an interface that supports cross-application requests; the application program includes a system native application program and a non-native application program;
[0005] A processor configured to run system programs and applications and to implement:
[0006] Displaying a first user interface of a first application through a display, wherein the first user interface includes media resource information provided by a second application; at least one of the first application and the second application is a non-native application of the system;
[0007] In response to a trigger operation on the target media asset information provided by the second application, the first application loads a preset plug-in, calls a target interface based on the preset plug-in, and initiates a jump request for the target media asset information through the target interface;
[0008] Performing permission check on the first application and status check on the second application;
[0009] In response to the verification results of the permission verification and the status verification being passed, sending the jump request initiated by the first application to the second application through the target message communication mechanism, so as to display the target media resource information provided by the second application through the display;
[0010] The target message communication mechanism supports communication between the same browser and between different browsers:
[0011] Technical effect: The system platform of the display device provides a plug-in interface for non-native applications to jump to media resources across browsers. When the processor of the display device is running system programs and applications, it can enable the currently running application to dynamically load the plug-in interface, and implement the media resource jump request between applications through the plug-in interface, which is convenient for the application to integrate the media resource entrance of other applications within the application and realize the jump function between applications. At the same time, based on the target message communication mechanism, cross-browser message push can also be realized, further improving the platform's adaptability and application scalability, while also improving the convenience of users using display device applications, and providing users with richer media resources.
[0012] In a second aspect, some embodiments further provide a method for media resource jump between applications, which is applied to a display device, and the method includes:
[0013] Displaying a first user interface of a first application through a display device, wherein the first user interface includes media resource information provided by a second application; at least one of the first application and the second application is a non-native application of the system;
[0014] In response to a trigger operation on target media asset information provided by the second application, the first application loads a preset plug-in, and based on the preset plug-in, calls a target interface, and initiates a jump request for the target media asset information through the target interface; the preset plug-in is a plug-in provided by the system that supports a cross-application media asset jump function; the target interface is an interface provided by the system that supports cross-application requests;
[0015] Performing permission check on the first application and status check on the second application;
[0016] In response to the verification results of the permission check and the status check being passed, the jump request initiated by the first application is sent to the second application through the target message communication mechanism, so as to display the target media information provided by the second application through the display; wherein the target message communication mechanism supports communication between the same browser and between different browsers.
[0017] Technical effect: The inter-application media resource jump method provided by the above embodiment, when the first user interface of the first application includes the media resource information provided by the second application, if a trigger operation is initiated for the target media resource information provided by the second application, the first application can load the preset plug-in and interface provided by the display device system, and initiate a cross-application media resource jump request through the preset plug-in and interface, thereby realizing the cross-application jump function on the display device and expanding the application function. At the same time, the target communication mechanism can realize message transmission between the same or different browsers, further improving the adaptability of the display device platform and the scalability of the application, and providing users with richer media resources. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0019] Figure 1 A schematic diagram of an operation scenario between a display device and a control device provided in some embodiments of the present application;
[0020] Figure 2 A schematic diagram of the hardware configuration of a display device provided in some embodiments of the present application;
[0021] Figure 3 A schematic diagram of the hardware configuration of a control device provided in some embodiments of the present application;
[0022] Figure 4 A schematic diagram of software configuration of a display device provided in some embodiments of the present application;
[0023] Figure 5 A schematic diagram of the software system architecture of a television device provided in some embodiments of the present application;
[0024] Figure 6 A schematic diagram of a flow chart of media resource jump implemented by a display device processor running a system program and an application program provided in some embodiments of the present application;
[0025] Figure 7 A schematic diagram of a first user interface of a first application in a display device provided in some embodiments of the present application;
[0026] Figure 8 Another flowchart diagram that can be implemented by a processor of a display device provided in some embodiments of the present application when running a system program and an application program;
[0027] Fig. 9 A schematic diagram of a process of applying a preset plug-in interface to load in a display device provided in some embodiments of the present application;
[0028] Fig.10 A schematic diagram of a process for performing parameter verification based on a preset plug-in interface provided in some embodiments of the present application;
[0029] Fig.11 A schematic diagram of a process for performing permission verification on a first application provided in some embodiments of the present application;
[0030] Fig.12 A schematic diagram of a process for verifying a second application provided in some embodiments of the present application;
[0031] Fig.13 A schematic diagram of a process of cross-browser message communication provided for some embodiments of the present application;
[0032] Fig.14 A signaling interaction flow chart for implementing media resource transfer between applications provided in some embodiments of the present application;
[0033] Fig.15 A schematic diagram of the structure of an inter-application media resource jump device provided in some embodiments of the present application. DETAILED DESCRIPTION
[0034] The following embodiments are described in detail, and examples thereof are shown in the accompanying drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The implementations described in the following embodiments do not represent all implementations consistent with the present application. They are only examples of systems and methods consistent with some aspects of the present application as detailed in the claims.
[0035] It should be noted that the brief description of terms in this application is only for the convenience of understanding the embodiments described below, and is not intended to limit the embodiments of this application. Unless otherwise specified, these terms should be understood according to their common and usual meanings.
[0036] The terms "first", "second", "third", etc. in the specification and claims of this application and the above drawings are used to distinguish similar or similar objects or entities, and do not necessarily mean to limit a specific order or sequence, unless otherwise noted. It should be understood that the terms used in this way can be interchangeable under appropriate circumstances.
[0037] The terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover but not exclude inclusion, for example, a product or device comprising a list of components is not necessarily limited to all the components expressly listed but may include other components not expressly listed or inherent to such product or device.
[0038] The term "module" refers to any known or later developed hardware, software, firmware, artificial intelligence, fuzzy logic, or combination of hardware and / or software code that is capable of performing the functions associated with that element.
[0039] In the embodiment of the present application, the display device 200 generally refers to a device with image display and data processing capabilities. For example, the display device 200 includes but is not limited to a smart TV, a mobile terminal, a computer, a monitor, an advertising screen, a wearable device, a virtual reality device, an augmented reality device, etc.
[0040] Figure 1This is a schematic diagram of an operation scenario between a display device and a control device provided in some embodiments of the present application. Figure 1 As shown in FIG. 1 , the user can operate the display device 200 through touch operation, the mobile terminal 300 and the control device 100. For example, the control device 100 can be a remote controller, a stylus pen, a handle, etc.
[0041] The mobile terminal 300 can be used as a control device for performing human-computer interaction between the user and the display device 200. The mobile terminal 300 can also be used as a communication device for establishing a communication connection with the display device 200 and performing data interaction. In some embodiments, the mobile terminal 300 can install software applications with the display device 200, and achieve connection and communication through a network communication protocol to achieve the purpose of one-to-one control operation and data communication. The audio and video content displayed on the mobile terminal 300 can also be transmitted to the display device 200 to achieve a synchronous display function.
[0042] like Figure 1 As also shown in FIG. 4 , the display device 200 also communicates data with the server 400 through various communication methods. The display device 200 may be allowed to communicate and connect through a local area network (LAN), a wireless local area network (WLAN), and other networks.
[0043] The display device 200 may provide a broadcast receiving television function, and may also additionally provide an intelligent network television function with a computer support function, including but not limited to network television, smart television, Internet Protocol television (IPTV), and the like.
[0044] Figure 2 Some embodiments of the present application provide Figure 1 2 is a block diagram of the hardware configuration of the display device 200.
[0045] In some embodiments, the display device 200 may include at least one of a tuner 210, a communication device 220, a detector 230, a device interface 240, a controller 250, a display 260, an audio output device 270, a memory, a power supply, and a user input interface.
[0046] In some embodiments, the detector 230 is used to collect signals of the external environment or external interaction. For example, the detector 230 includes a light receiver, a sensor for collecting the intensity of ambient light; or, the detector 230 includes an image collector, such as a camera, which can be used to collect external environment scenes, user attributes or user interaction gestures; or, the detector 230 includes a sound collector, such as a microphone, etc., for receiving external sounds.
[0047] In some embodiments, the display 260 includes a display function component for presenting a picture, and a driving component for driving an image display. The display 260 is used to receive an image signal output from the controller 250 for display. For example, the display 260 can be used to display video content, image content, and components of a menu control interface and a user control UI interface.
[0048] In some embodiments, the communication device 220 is a component for communicating with an external device or server 400 according to various communication protocol types. The display device 200 may be provided with a plurality of communication devices 220 according to different supported communication modes. For example, when the display device 200 supports wireless network communication, the display device 200 may be provided with a communication device 220 including a WiFi function. When the display device 200 supports Bluetooth connection communication, the display device 200 needs to be provided with a communication device 220 including a Bluetooth function.
[0049] The communication device 220 can enable the display device 200 to communicate with the external device or server 400 by wireless or wired connection. Among them, the wired connection can connect the display device 200 with the external device through components such as data cables and interfaces. The wireless connection can connect the display device 200 with the external device through wireless signals or wireless networks. The display device 200 can establish a connection relationship with the external device directly, or indirectly establish a connection relationship through a gateway, a router, a connection device, etc.
[0050] In some embodiments, the controller 250 may include at least one of a central processing unit, a video processor, an audio processor, a graphics processor, and a power processor, and a first interface to an nth interface for input / output. The controller 250 controls the operation of the display device and responds to the user's operation through various software control programs stored in the memory. The controller 250 controls the overall operation of the display device 200.
[0051] In some embodiments, the controller 250 and the tuner-demodulator 210 may be located in different separate devices, that is, the tuner-demodulator 210 may also be located in an external device of the main device where the controller 250 is located, such as an external set-top box.
[0052] In some embodiments, the user may input a user command through a graphical user interface (GUI) displayed on the display 260 , and the user input interface receives the user input command through the graphical user interface (GUI).
[0053] In some embodiments, the audio output device 270 may be a local speaker of the display device 200, or may be an external audio output device of the display device 200. In particular, for the external audio output device of the display device 200, the display device 200 may also be provided with an external audio output terminal, and the audio output device may be connected to the display device 200 through the external audio output terminal to output the sound of the display device 200.
[0054] In some embodiments, the user input interface 280 may be used to receive instructions from a user.
[0055] Figure 3 Some embodiments of the present application provide Figure 1 The hardware configuration diagram of the control device in the figure. Figure 3 As shown, the control device 100 may include: a controller 110, a communication interface 130, a user input / output interface, a memory, and a power supply.
[0056] The control device 100 is configured to control the display device 200 , and can receive user input operation instructions, and convert the operation instructions into instructions that the display device 200 can recognize and respond to, playing the role of an interactive intermediary between the user and the display device 200 .
[0057] In some embodiments, the control device 100 may be a smart device, for example, the control device 100 may be installed with various applications for controlling the display device 200 according to user needs.
[0058] In some embodiments, Figure 1 As shown, the mobile terminal 300 or other intelligent electronic devices can play a similar function as the control device 100 after installing the application for controlling the display device 200 .
[0059] The controller 110 includes a processor 112, a RAM 113, a ROM 114, a communication interface 130, and a communication bus. The controller 110 is used to control the operation and operation of the control device 100, as well as the communication and cooperation between the internal components and the external and internal data processing functions.
[0060] The communication interface 130 implements communication of control signals and data signals with the display device 200 under the control of the controller 110. The communication interface 130 may include at least one of other near field communication modules such as a WiFi chip 131, a Bluetooth module 132, and an NFC module 133.
[0061] The user input / output interface 140 , wherein the input interface includes at least one of other input interfaces such as a microphone 141 , a touch panel 142 , a sensor 143 , and a button 144 .
[0062] In some embodiments, the control device 100 includes at least one of a communication interface 130 and an input / output interface 140. The control device 100 is configured with a communication interface 130, such as a WiFi, Bluetooth, NFC or other module, and can encode the user input command through the WiFi protocol, Bluetooth protocol, or NFC protocol and send it to the display device 200.
[0063] The memory 190 is used to store various operating programs, data and applications for driving and controlling the control device 100 under the control of the controller. The memory 190 can store various control signal instructions input by the user.
[0064] The power supply 180 is used to provide operating power support for each component of the control device 100 under the control of the controller.
[0065] In order to perform user interaction, in some embodiments, the display device 200 may run an operating system. The operating system is a computer program for managing and controlling hardware resources and software resources in the display device 200. The operating system may provide a user interface (control the display device), allow the user to interact with the display device 200, and support the running of various application programs.
[0066] It should be noted that the operating system may be a native operating system based on a specific operating platform, or a third-party operating system deeply customized based on a specific operating platform, or an independent operating system specially developed for the display device.
[0067] The operating system can be divided into different modules or layers according to the functions implemented.
[0068] like Figure 4 As shown, Figure 4 Some embodiments of the present application provide Figure 1 Schematic diagram of software configuration in the display device. In some embodiments, the system of the display device 200 can be divided into three layers, namely, application layer, middleware layer and hardware layer from top to bottom.
[0069] The application layer mainly includes commonly used applications on the TV and the application framework. Common applications are mainly applications developed based on the browser, such as HTML5 APPs; and native applications (Native APPs); they can also be applications developed by third-party developers. In specific implementation, the application packages in the application layer are not limited to the above examples.
[0070] The Application Framework is a complete program model that has all the basic functions required by standard application software, such as file access, data exchange, etc., as well as the user interfaces of these functions (toolbars, status bars, menus, dialog boxes).
[0071] Native apps can support online or offline, message push or local resource access.
[0072] The middleware layer includes various TV protocols, multimedia protocols, system components and other middleware. The middleware can use the basic services (functions) provided by the system software to connect various parts of the application system or different applications on the network, and can achieve the purpose of resource sharing and function sharing.
[0073] The hardware layer mainly includes the hardware abstraction layer (HAL) interface, hardware and drivers. The HAL interface is a unified interface for all TV chips to connect, and the specific logic is implemented by each chip. Drivers mainly include: audio driver, display driver, Bluetooth driver, camera driver, WIFI driver, USB driver, HDMI driver, sensor driver (such as fingerprint sensor, temperature sensor, pressure sensor, etc.), and power driver.
[0074] It should be noted that the above example is only a simple division of the operating system functions and does not constitute a limitation on the specific operating system form of the display device 200 in the embodiment of the present application. Depending on factors such as the function of the display device and the type of operating system, the number of levels and specific level types contained in the operating system may be expressed in other forms.
[0075] In the following embodiments, a television device is used as an example of a display device. Figure 5 The entire system of a TV device can be divided into four main parts: Cloud: responsible for data storage and providing third-party application services. UI (User Interface): the interface part that users see and operate. Browser layer (Browser): provides the core of Internet browsing and application support. Platform layer (Platform): supports the core business functions of the TV.
[0076] The cloud is the "background brain" of the system. It stores data (such as user account information, TV settings, etc.) and communicates with the TV. It can also support third-party applications (such as video applications, games, etc.), and download them to the TV through the cloud and run them through the TV browser. TV Browser is a browser designed specifically for TV to load and run network applications, such as video websites or online shopping malls; it can also integrate with the TV system to support the display and operation of third-party applications. TV Browser focuses on network content and third-party application support.
[0077] UI (User Interface, short for graphical user interface) is the part that users come into direct contact with and is composed of multiple modules. Launcher: The main interface of the TV, which displays available applications and functions. Network: Responsible for network connection, such as Wi-Fi settings and network checks. AppControl: Manages the operation of various applications. Account: Manages user account information, such as logging in or syncing. These modules are connected to the browser layer through the UIOpen Browser to provide users with network and application support.
[0078] The browser layer can be understood as the system's "toolbox", which supports a variety of operations. Among them, the cobalt browser (embedded browser) is a lightweight browser that focuses on streaming media optimization and mainly provides support for streaming media services on TV. Odin browser: supports the display functions of some third-party applications. Among them, the user interface browser is a bridge between the user interface and the browser, helping users to quickly open and operate various web pages or applications through the TV's main interface (such as the application list); it is the entry point for user operations, making complex functions simple and intuitive, allowing users to get a similar experience to mobile phones or computers on TV.
[0079] The platform layer is the foundation for the operation of the entire system. It is responsible for "Biz (business logic)", that is, the core calculation and implementation of all TV functions.
[0080] In simple terms, the cloud is the source of data and applications; users operate through the UI, such as opening applications or accessing the network; the browser layer provides support tools, such as video decoding and security authentication; the platform layer is the underlying support to ensure that all functions run smoothly. The UI and browser layers complete the call to the TV hardware through the platform layer, such as playing videos, adjusting the volume, etc. This architecture allows smart TVs to not only watch TV, but also support various applications and services like computers, while keeping the operation simple and the data secure.
[0081] On display devices, many applications are integrated for application management and application integration, and adaptation solutions are provided for many application suppliers. However, due to platform limitations, many functions require the platform to provide corresponding support capabilities for mutual cooperation between applications. As an example of an application scenario, on VIdaa (a smart TV operating system platform that can provide users with a variety of content resources and smart interactive functions), if there is cooperation or mutual integration of media resources between third-party applications, the TV platform in the relevant technology does not support this function.
[0082] In order to improve the adaptability of the platform and the scalability of third-party applications, and also increase the convenience of users using display devices, the ability of third-party applications to jump to each other across browsers is increased. The inter-application media resource jump solution proposed in this application includes:
[0083] On the one hand, a plug-in is provided for third-party applications based on the platform in advance. By loading this plug-in, third-party applications can obtain the ability of cross-application interfaces. On the other hand, third-party applications can call this interface and pass in corresponding parameters to achieve the ability to integrate other third-party application media resources. This plug-in not only provides the corresponding media resource jump capability and other application startup capabilities, but also can retain data statistics, permission verification, application verification, cross-browser jump process and other functions through parameters, giving third-party applications great scalability.
[0084] Based on the inter-application media resource jump scheme proposed in this application, a cross-browser platform jump function can be provided for third-party applications, which is more conducive to the expansion of third-party application functions, and is also conducive to enriching the diversity of media resources for display device users and application users, showing users more media experiences and more convenient media viewing methods, and is more conducive to users getting a faster and better experience while using TV browser applications.
[0085] In an exemplary embodiment, a media resource jump solution between applications is provided to be applied to the corresponding Figure 4 or Figure 5 The following is an example of a display device based on a system architecture.
[0086] The display device includes: a display configured to display a user interface; a memory configured to store system programs and applications; the system program includes a preset plug-in and a target interface; the preset plug-in is a plug-in that supports the cross-application media resource jump function; the target interface is an interface that supports cross-application requests; the application includes a system native application and a non-native application; and a processor configured to run the system program and application stored in the memory. Figure 6As shown, the processor can implement the following steps S601 to S604 during the process of running the system program and application program stored in the memory.
[0087] S601, displaying a first user interface of a first application on a display, wherein the first user interface includes media resource information provided by a second application; at least one of the first application and the second application is a non-native application of the system.
[0088] The display device may display the first user interface of the first application through the UI layer and the browser layer. The first application may be a non-native application (hereinafter also referred to as a third-party application), and the first user interface may include multiple media resources (hereinafter referred to as media resources) for user selection. In the case where there is some kind of cooperation / integration between the first application and other applications, the multiple media resources displayed in the first user interface may include media resources provided by other applications in addition to the media resources provided by the first application.
[0089] In this application, the second application is different from the first application, and the second application can be a native application of the display device system or a third-party application. The second application that has a certain cooperation / integration relationship with the first application can be one or more. The media resource information provided by the second application included in the first user interface can be one or more.
[0090] When there is some cooperation / integration between the first application and the second application, the first user interface includes media resources provided by the first application and media resources provided by the second application. Figure 7 , Figure 7 A schematic diagram of an interface of a first user interface provided for an embodiment. In the first user interface, preset label information may be displayed for the media assets provided by the second application. For example, a five-pointed star label is displayed for the media assets provided by the second application to prompt the user of the provider application of the media assets. Alternatively, the name of "second application" is displayed as a label for the media assets provided by the second application to prompt the user of the provider application of the media assets. The preset label information displayed for the media assets provided by the second application may also be in other forms as long as it can be distinguished from the media assets provided by the first application.
[0091] S602: In response to a triggering operation on target media asset information provided by the second application, the first application loads a preset plug-in, calls a target interface based on the preset plug-in, and initiates a jump request for the target media asset information through the target interface.
[0092] The preset plug-in and the target interface are plug-ins and interfaces pre-set in the display device system platform to support cross-application media resource jump. In some embodiments, the preset plug-in may be a js plug-in, and the target interface may be a plug-in function interface that can be called by the preset plug-in.
[0093] In the case of one or more media information provided by the second application included in the first user interface, the target media information may be any one of the one or more media information provided by the second application. The user may select the target media information through the UI of the display device and initiate a play or open operation. The first application receives the user-initiated play or open operation through the UI, which may be determined as a trigger operation for the target media information provided by the second application. Then, in response to the trigger operation, the first application loads a preset plug-in in the display device system, and based on the preset plug-in, calls the target interface provided by the system to initiate a jump request for the target media information provided by the second application through the target interface.
[0094] S603, perform permission check on the first application and perform status check on the second application.
[0095] In this application, the first application is the initiator application of the jump, and the second application is the requested application of the jump. Therefore, when initiating an app to app (also called cross-application) media resource jump request through the target interface, it is necessary to first perform relevant verifications on the first application and the second application respectively. Specifically, it can include verifying whether the initiator's first application has the authority to jump cross-application media resources, and verifying whether the requested party's second application is currently in a state that can accept the jump.
[0096] In some embodiments, the first application and the second application that are passed in can be verified through a preset plug-in or a target interface, or can be verified through the browsers that carry the first application and the second application, respectively. As an example, the permission verification of the first application includes verifying whether the first application has the permission configuration to jump to the second application across applications, and the status verification of the second application includes whether the second application is installed or whether there is an abnormality.
[0097] S604: In response to the verification results of the permission verification and the status verification being passed, the jump request initiated by the first application is sent to the second application through the target message communication mechanism, so as to display the target media resource information provided by the second application through the display.
[0098] Among them, the target message communication mechanism supports communication between the same browser and between different browsers. Through this target message communication mechanism, the transmission of media resource jump request / response between the first application and the second application carried on the same browser can be realized, and the transmission of media resource jump request / response between the first application and the second application carried on different browsers can also be realized. Through this target message communication mechanism, the functions of the application in the display device can be further expanded to provide users with richer media resources.
[0099] In an embodiment of the present application, sending a jump request initiated by a first application to a second application through a target message communication mechanism may include multiple steps. Correspondingly, step S604 includes two situations: in one example, after the verification results of the permission check of the first application and the status check of the second application are both passed, the relevant steps of sending the jump request initiated by the first application to the second application through the target message communication mechanism are executed to display the target media information provided by the second application through the display. In another example, after the permission check of the first application is passed, a part of the steps of sending the jump request initiated by the first application to the second application through the target message communication mechanism is executed, and after the verification result of the status check of the second application is passed, another part of the steps of sending the jump request initiated by the first application to the second application through the target message communication mechanism is executed.
[0100] Among them, displaying the target media information provided by the second application through the display may include playing the target media information through the display, or jumping from the first user interface of the first application to the second user interface displaying the second application through the display, and the second user interface includes the target media information. At this time, the top layer of the display displays the second user interface of the second application, or displays the playback interface of the target media information of the second application.
[0101] In the embodiment of the present application, when the verification results of the first application and the second application pass, the jump request initiated by the first application is transmitted to the process of the second application by the target message communication mechanism. If the verification result of either the first application or the second application fails, the jump request initiated by the first application will not be effectively transmitted to the second application (but a part of the transmission step can be executed). On the one hand, the successful execution of the jump request can be guaranteed, and on the other hand, the waste of system resources can be avoided.
[0102] The display device of the above embodiment has a system platform that provides a plug-in interface for non-native applications to jump to media resources across browsers. When the processor of the display device is running system programs and application programs, it can enable the currently running third-party application to dynamically load the plug-in interface, and implement inter-application requests through the plug-in interface, making it easy for third-party applications to integrate the media resource entrances of other applications within the application, and realize the jump function between third-party applications and other applications. At the same time, based on the target message communication mechanism, cross-browser message push can also be realized, further improving the platform's adaptability and the scalability of third-party applications, while also improving the convenience of users using display device applications, and being able to provide users with richer media resources.
[0103] In one embodiment, reference Figure 8 As shown, Figure 8Another flowchart diagram of the processor of the display device can be implemented in the process of running the system program and the application program, including the following processes S801 to S804:
[0104] S801, obtaining relevant parameters for requesting to jump to target media information passed by the first application through the target interface. The relevant parameters include the identifier of the second application, jump request information and callback function; the jump request information at least includes the identifier of the first application and the identifier of the target media information.
[0105] The identifier of the first application and the identifier of the second application are information that can uniquely identify the first application and the second application, and can be application ID or application name, etc. The identifier of the target media information can be the link address information of the target media information, or other information that can identify the target media information. The function of the callback function is to return the result to the initiator application in the form of a callback function after the function function is executed, so that the initiator user knows the corresponding interface call result.
[0106] In the above step S602, when the first application loads the preset plug-in to call the target interface, the relevant parameters for requesting to jump to the target media asset information can be passed in through the target interface. Correspondingly, step S801 can be executed after the above step S602.
[0107] S802, verify relevant parameters.
[0108] The relevant parameters may be verified through a preset plug-in or target interface. When the relevant parameters include multiple parameters, the verification of each parameter may be performed in parallel or in sequence according to a preset order.
[0109] S803: When the verification result of the relevant parameters is passed, perform permission verification on the first application.
[0110] In some embodiments, if the verification result of the relevant parameters is not passed, the process of performing permission verification on the first application is not executed to avoid wasting system resources. In this case, a corresponding prompt message can also be returned to the first application to prompt that the current media resource jump request has failed. In addition, the prompt message can also carry the reason for the request failure.
[0111] S804: When the permission check result of the first application is passed, a status check is performed on the second application.
[0112] In some embodiments, if the permission check result of the first application fails, the permission check process for the second application is not performed to avoid wasting system resources. In this case, a corresponding prompt message can also be returned to the first application to prompt that the current media resource jump request has failed. In addition, the prompt message can also carry the reason for the request failure.
[0113] Through the above embodiment, after the first application initiates a media resource jump request, the display device first verifies the input parameters, and if the input parameter verification passes, the permission verification of the initiating application is performed, and if the permission verification of the initiating application passes, the status verification of the requested application is performed. This ensures the security of cross-application media resource jumps and avoids the waste of system resources.
[0114] In some embodiments, the memory of the display device is also configured to store system files and application files; the processor of the display device performs permission verification on the first application during the running of system programs and application programs, and the method of performing status verification on the second application may include: performing permission verification on the first application based on configuration information in the system file; and performing status verification on the second application based on application information in the application file.
[0115] In the embodiment of the present application, the system file is a file containing the permission configuration information of one or more applications in the display device, including but not limited to the config file; therefore, by querying the system file, it is possible to verify whether the first application has the permission to jump across applications, or to verify whether the first application has the permission to jump to the media assets of the second application. The application file can be a file that saves the running information of the application in the system platform, including but not limited to the appInfo file; therefore, by querying the application file, it is possible to obtain which applications in the system are in a running state, as well as the current specific state of the running application, and then determine whether the application currently has the conditions for being requested by other applications to jump to media assets.
[0116] Based on this, when the first application initiates a jump request for the target media information provided by the second application through a preset plug-in and a target interface, the first application and the second application can be respectively checked based on the system files and application files saved in the display device to ensure the security of the jump between applications and the normal media jump function.
[0117] In some embodiments, the processor of the display device verifies the relevant parameters during the operation of the system program and the application program, including: based on the preset plug-in, if the verification results corresponding to the second application identifier, the jump request information, and the callback function in the relevant parameters are all passed, the verification result of the relevant parameters is determined to be passed; otherwise, the verification result of the relevant parameters is determined to be failed. The preset plug-in can call multiple plug-in function interfaces including the target interface, so the relevant parameters can also be verified based on the target interface or other plug-in interfaces.
[0118] Based on the preset plug-in, the second application's identification, jump request information, and callback function can be verified separately. The various parameter types and parameter quantities are different, and the corresponding verification methods may be different, and the verification process may also be different. Only when the verification results of the second application's identification, jump request information, and callback function are all passed, it is determined that the parameter verification of the first application passing to the target interface is passed, and then the subsequent process is executed. On the contrary, if the verification result of any one of the second application's identification, jump request information, and callback function, or any such parameter fails, it is determined that the parameter verification of the first application passing to the target interface fails.
[0119] Based on the parameter verification process of the above embodiment, the security of cross-application media resource jump can be improved, while ensuring the user experience when using the application.
[0120] As a specific embodiment, the process of checking relevant parameters during the execution of system programs and application programs by the processor may include:
[0121] Based on the preset plug-in, determine whether the field corresponding to the identifier of the second application exists and whether it is a string type. If the determination results are both yes, determine that the verification of the field corresponding to the identifier of the second application has passed. Otherwise, determine that the verification of the field corresponding to the identifier of the second application has failed.
[0122] Determine whether the field corresponding to the jump request information exists and whether it belongs to the object type, and determine whether the field of the identifier of the first application contained in the jump request information exists and whether it is a string type. If the judgment results are all yes, it is determined that the verification of the field corresponding to the jump request information has passed; otherwise, if the judgment results of any of the items are all no, it is determined that the verification of the field corresponding to the jump request information has failed.
[0123] Determine whether the field corresponding to the callback function exists and is of function type. If the determination results are all yes, it is determined that the verification of the field corresponding to the callback function has passed; otherwise, if the determination results of any of the items are all no, it is determined that the verification of the field corresponding to the callback function has failed.
[0124] Among them, the embodiment of the present application does not limit the order of the aforementioned verification of the second application's identification, jump request information, and callback function, and can be executed in parallel or in sequence according to the set order. By first performing an overall verification on each field, when a field fails the overall verification, it is directly determined that the parameter verification fails, and the subsequent verification operations of other sub-class parameters and application verification are no longer performed, thereby reducing the overhead of system resources.
[0125] As an exemplary embodiment, the jump request information may also include sub-category parameters such as first information and second information; the first information is the link address information (such as URL information) of the target media asset information, and the second information is the identification information indicating whether to return to the user interface corresponding to the first application. Correspondingly, when the processor of the display device is running the system program and the application program, in the process of checking the relevant parameters, after determining that the field corresponding to the jump request information exists and belongs to the object type, it continues to perform the following steps:
[0126] Determine whether a field for the first application identifier included in the jump request information exists and whether it is a string type;
[0127] Determine whether a field of the first information included in the jump request information exists and whether it is an object type;
[0128] Determine whether a field of the second information included in the jump request information exists and whether it is a string type;
[0129] In response to all the determination results being yes, it is determined that the verification of the field corresponding to the jump request information has passed; in response to any one of the determination results being no, it is determined that the verification of the field corresponding to the jump request information has failed.
[0130] Among them, the embodiment of the present application does not limit the order of checking the sub-category parameters contained in the aforementioned jump request information, and can be executed in parallel or in sequence according to the set order. Through the aforementioned embodiment, when the jump request information includes individual sub-category parameters, the overall check of the field of the aforementioned jump request information is first performed, and then the check of each sub-category parameter in the field is performed, which can ensure that the parameters passed to the target interface meet the requirements, which is conducive to ensuring the successful implementation of cross-application media resource jump.
[0131] In some embodiments, the processor of the display device, during the process of running the system program and the application program, further includes: when the verification result of the relevant parameters fails, based on the preset plug-in, returning a first error code to the first application.
[0132] Returning an error code to the first application can be understood as a response to the media resource jump request initiated by the first application. The response can be perceptible to the user, such as displaying a corresponding prompt message through the UI; the response message can also be imperceptible to the user, without any relevant prompt through the UI. By returning an error code, the first application can be informed of the result of the current cross-application media resource request, and terminate it in time or whether the corresponding resources are available, thus avoiding continuous occupation of system resources; it is also conducive to the first application making corresponding adjustments and increasing the success rate of subsequent cross-application media resource requests.
[0133] In some embodiments, the process of performing permission verification on the first application during the operation of the system program and the application program by the processor of the display device may include: sending a jump request to the first browser engine based on the target interface, the first browser being the browser that carries the first application. Reading the system file based on the first browser engine; in response to the application corresponding to the identifier of the first application in the system file having a permission configuration for media asset jump to the second application, determining that the permission verification result of the first application is passed; in response to the absence of permission configuration information corresponding to the identifier of the first application in the system file, or the identifier of the first application in the system file having permission configuration information but not corresponding to the permission configuration for media asset jump to the second application, determining that the verification result of the first application is failed.
[0134] The first application can display a user interface based on the first browser. After the first application loads the preset plug-in and the target interface and passes the corresponding parameter verification, the preset plug-in can send a jump request to the first browser engine in the form of a corresponding message. The first browser engine receives the message, parses it to find that it contains a jump request, and can verify the permissions of the first application in the jump request by reading the system file to confirm whether the first application has the permission to jump to the corresponding other application media information. Combined with the aforementioned Figure 4 , Figure 5 As can be seen from the description, the browser layer of the display device can interact with other layers in the system and has the ability to obtain relevant resources in the system. Therefore, the permission verification of the first application through the first browser engine and the system file can be implemented based on the existing system architecture, so the compatibility is good.
[0135] In some embodiments, the processor of the display device, while running the system program and the application program, further includes: if the permission configuration information corresponding to the identifier of the first application does not exist in the system file, based on the preset plug-in, returning a second error code to the first application. If the permission configuration information corresponding to the identifier of the first application exists in the system file but there is no corresponding permission configuration for the inter-application media resource jump of the second application, based on the preset plug-in, returning a third error code to the first application.
[0136] Among them, the second error code and the third error code can be information pre-configured and saved in the file corresponding to the preset plug-in. For different situations, the preset plug-in can return different codes to the first application. Based on different codes, the first application can obtain different request results and then perform corresponding subsequent processing. Through this feedback method, the normal operation of the application is ensured, and it is also conducive to the first application to make corresponding adjustments, thereby improving the success rate of subsequent cross-application media resource jump requests.
[0137] In some embodiments, the processor of the display device performs a status check on the second application during the process of running the system program and the application program, including:
[0138] If the result of the permission check of the first application is passed, the first browser engine sends a jump request to the second browser based on the target message communication mechanism. The second browser reads the application file stored in the memory; if the application file contains application file information corresponding to the identifier of the second application, the verification result of the second application is determined to be passed; if the application file does not contain application file information corresponding to the identifier of the second application, the verification result of the second application is determined to be failed.
[0139] The second browser may be a browser application in the display device that can interact with the application manager. The present application does not limit the specific type of the second browser. Thus, the second browser can obtain the application files of one or more applications running in the display device through the application manager, and then can verify the current status of any requested second application.
[0140] In the above embodiments, the interaction between the first browser and the second browser, and between the second browser and the application manager are functions supported by the system architecture of the display device. Therefore, the status of the second application is checked through the interaction between the first browser and the second browser, and between the second browser and the application manager. There is no need to adjust the system architecture of the display device, and the system compatibility is good.
[0141] In some embodiments, the processor of the display device, while running the system program and the application program, further includes: when the application file does not contain the application file information corresponding to the identifier of the second application, indicating that the second application is not installed or an exception occurs, the second browser, based on the target message communication mechanism, reversely returns the fourth error code to the preset plug-in through the first browser engine, and returns the fourth error code to the first application through the preset plug-in. And, when the application file contains the application file information corresponding to the identifier of the second application, but the second application cannot be started, the second browser, based on the target message communication mechanism, reversely returns the preset application status code to the preset plug-in through the first browser engine, and returns the application status code to the first application through the preset plug-in or the target interface. And, when the application file contains the application file information corresponding to the identifier of the second application, and the second application can be started, the second browser, based on the target message communication mechanism, reversely returns another preset application status code to the preset plug-in through the first browser engine, and returns the other application status code to the first application through the preset plug-in.
[0142] Among them, the fourth error code can be information pre-configured and saved in the system file or application file. Different codes can be returned to the first application for different situations. Based on the fourth error code or the application status code, the first application can know that the reason for the failure of the current request is that the second application is not installed or cannot be started. After the status of the second application is updated, the first application can initiate a cross-application media resource jump request to the second application again, thereby ensuring the user experience when using the application.
[0143] The following uses a smart TV as an example to illustrate the cross-application media resource jump of the present application.
[0144] The smart TV runs a first browser application and a second browser application. For example, the first browser is an Odin browser and the second browser is a Cobalt browser. The Omi message communication provided by the Odin browser and the ModelJS message communication provided by the Cobalt browser can be used as the target message communication mechanism of the aforementioned embodiment.
[0145] In addition, the smart TV platform provides a plug-in interface for third-party applications that can jump to media resources across browsers in advance, which makes it easy for third-party applications to integrate the media resource entrances of other third-party applications within the application. In the process of implementing the jump function between third-party applications based on the smart TV platform, the parameters of the caller of the third-party application, permission verification, application status verification, etc. are verified. The OMI message communication provided by the Odin browser and the ModelJS message communication provided by the Cobalt browser are used to implement cross-browser message push. At the same time, when calling a third-party application, the relationship between the applications can be used to control whether to return to the original application after the jump.
[0146] In summary, the app to app (i.e. cross-application) solution based on the smart TV platform mainly includes: plug-in integration solution, permission verification solution, cross-browser message communication solution, etc. The specific solution content will be introduced below.
[0147] (I) Cross-application plug-in solution
[0148] The cross-application solution uses a js plug-in (corresponding to the preset plug-in mentioned above). The third-party application only needs to dynamically introduce the js plug-in provided by the smart TV platform, and call the internal config method through the js plug-in to dynamically load the internal plug-in capabilities of the js plug-in. Config needs to be configured in an object format, and the object needs to contain the apiList to be loaded. The apiList is an array structure. Fill in the apiList to be loaded to load the corresponding plug-in function. The specific example is as follows:
[0149] ① The third-party application dynamically introduces the js plug-in only needs to dynamically introduce the script.
[0150] ② Taking the vidaa smart TV platform as an example, after dynamically introducing the vidaatv plug-in (that is, the aforementioned js plug-in), it is necessary to call and load the corresponding plug-in interface navigateTo (corresponding to the aforementioned target interface), which can be implemented by referring to the following example.
[0151]
[0152] According to the above method, the third-party application on the smart TV can be successfully loaded into the navigateTo interface method through the js plug-in. This interface method is the cross-application request interface provided by the platform to the third-party application.
[0153] Please refer to Fig. 9 As shown, the process of third-party application loading and calling preset plug-ins and target interfaces may include: third-party application A dynamically introduces the js plug-in, calls the internal config configuration data based on the js plug-in, parses the apiList array in the config configuration data, and obtains the navigateTo interface method, and based on the navigateTo interface method, passes in the request to jump to the relevant parameters of the target media asset information.
[0154] (II) Cross-application parameters
[0155] The cross-application parameters mainly include app_id, navigateToAppParams, and callback.
[0156] ① Wherein app_id is the ID of the third-party application to be started (corresponding to the second application in the aforementioned embodiment), and the format can be all uppercase format.
[0157] ②navigateToAppParams (corresponding to the aforementioned jump request information), which may include client_id, deeplink, keep_alive and other sub-category parameters, wherein client_id is the ID of the current application (corresponding to the aforementioned first application), deeplink represents the URL of the target media information to be launched, and keep_alive indicates whether the third-party application A expects the user to return to its own application after jumping to other applications to watch the media between the current applications.
[0158] ③callBack corresponds to the aforementioned callback function. After the function is executed, the result will be returned to the third-party application A in the form of a callback function so that the third-party application A knows the corresponding interface call result.
[0159] The parameters of the callback function include errorCode, errorMessage, appId, params, etc., where errorCode is the corresponding code returned by the target interface, errorMessage is the corresponding information returned by the target interface, appId is the app_id in the interface call parameters returned by the target interface, and params is the value of navigateToAppParams in the interface call parameters returned by the target interface.
[0160] The specific target interface call examples are as follows:
[0161]
[0162] The cross-application return value is mainly distinguished by errorCode to distinguish whether it is successful, and the status code can include 200, 400, 401, 403, 404, 500, and 502. As an example, 200 represents success, 400 represents request parameter verification failure, 401 represents that the current application does not have permission to use the app to app interface, 403 represents that there is no permission to start the third-party application, 404 represents that the application to be started is not installed, 500 represents a platform problem (for example, the corresponding application cannot be started), and 502 represents that the platform model does not support the app to app function. In other embodiments, the cross-application return value can also be other configurations, which are not limited.
[0163] The cross-application verification scheme includes a parameter verification scheme and an application scheme (including verification of the initiator application and verification of the requested application). They are described below.
[0164] As an example, the parameter verification scheme includes:
[0165] When a third-party application calls the target interface, it will check the parameters passed in, and determine whether the app_id representing the third-party application to be started in the passed-in parameters is of string type. If the verification is successful, the verification will continue. If the verification fails, 400 will be returned. And check whether the params parameter exists and whether it is of object type. If the verification is successful, the verification will continue. If the verification fails, 400 will be returned. And check whether the client_id representing the third-party application that initiated the request in the params object exists and whether it is of string type. If the verification is successful, the verification will continue. If the verification fails, 400 will be returned. And check whether deeplink and keep_alive exist in the params object. When the two parameters exist, it will determine whether they are of object type and string type. If the verification fails, 400 will be returned. Among them, deeplink and keep_alive are not parameters that must be passed in when the third-party application calls the target interface (for example, deeplink can be replaced by other identification information of the target media asset information), so they are not necessarily verified. And check whether callback exists and is of function type.
[0166] Please refer to Fig.10 As shown in the figure, the specific process of cross-application parameter verification is as follows:
[0167] S101, the first application calls the navigateTo interface based on the plug-in and passes in relevant parameters.
[0168] S102, check whether the app_id representing the second application in the related parameters exists and whether it is a string type. If yes, the check is successful, and the params parameter is checked. Otherwise, the check fails and an error code 400 is returned.
[0169] S103, check whether the params parameter exists and whether it is an object type. If yes, the check is successful, and then continue to check whether the params parameter is a sub-class parameter (client_id, deeplink and keep_alive representing the first application). Otherwise, the check fails and an error code 400 is returned.
[0170] S104, verifying whether the client_id representing the first application in the params object exists and is a string type. If the verification succeeds, continue to verify the deeplink. If the verification fails, return 400.
[0171] S105, check whether deeplink exists in the params object, and if the parameter exists, determine whether it is an object type. If the check succeeds, continue to check the keep_alive parameter, and if the check fails, return 400. Also, check whether keep_alive exists in the params object, and if the parameter exists, determine whether it is a string type, and if the check succeeds, continue to check the callBack parameter; if the check fails, return 400.
[0172] S106, check whether callback exists and is of function type; if the check succeeds, it is determined that the parameter check is completed and passed; if the check fails, return 400.
[0173] Among them, S103 must be executed before S104 and S105. However, the execution order of S102, S103, and S106 is not limited to the order in the figure, and can also be other orders or executed in parallel. The execution order of S104 and S105 is also not limited to the order in the figure, and can also be other orders or executed in parallel.
[0174] As an example, see Fig.11 As shown, the permission verification scheme of the first application includes:
[0175] When the parameter verification of the target interface is successful, the plug-in will reassemble the data type and transmit the reassembled data to the webengine of the Odin browser (which may correspond to the aforementioned first browser engine) through the ODI message communication method provided by the ODI browser. The ODI message transmission mechanism can achieve fast and reliable data communication between different software components or systems, and is used to support various message interaction scenarios such as event notification and data update.
[0176] The webengine of the Odin browser intercepts the data when the OMI message is transmitted. At the same time, the webengine reads the value of the client_id in the current data. The client_id represents the appId of the first application.
[0177] Webengine reads the TV's config file, which corresponds to the aforementioned system file.
[0178] The webengine searches the config file in the TV for the permission file for the first application according to the app_id of the first application. If the config file of the first application does not exist, the webengine of the Odin browser returns an error code of 401 to the plug-in through the OMI message communication method.
[0179] If the config permission file of the first application exists, the webengine continues to read the file and determines whether the first application supports the app to app capability. If not, the webengine also returns the error code 401 through the omi message communication method.
[0180] If the first application supports the app to app capability, it is checked whether the first application has the permission to start the corresponding second application; if it does not have the permission to start the second application, the webengine of the Odin browser returns an error code 403.
[0181] If the first application has permission to start the corresponding second application, the permission check of the first application is completed, and the webengine of the Odin browser sends the OMI message to the UI of the Cobalt browser (that is, the whole machine UI in the figure).
[0182] As an example, see Fig.12 As shown, the verification scheme of the second application includes:
[0183] The cobalt browser provides modeljs for message monitoring. When the whole machine UI receives the omi message based on the modejs message monitoring mechanism, it will filter the message communication.
[0184] After the message is filtered, it is determined that the currently received message is the navigateTo message.
[0185] The appId of the second application to be launched will be obtained from the passed navigateTo message.
[0186] The appId of the second application is used to verify whether the second application has been installed, and the appInfo file (corresponding to the aforementioned application file) is read.
[0187] If the data of the second application exists in the appInfo file, it is determined that the second application has been installed, and it is determined that the status check of the second application has passed, and a message is sent to the application manager APM to start the second application.
[0188] If the data of the second application does not exist, it is determined that the second application is not installed, and an error code 404 is returned in reverse through the modeljs message communication method.
[0189] (III) Cross-application and cross-browser message communication solutions,
[0190] Cross-browser message communication mainly uses OMI message communication provided by Odin browser and ModelJS message communication provided by Cobalt browser. These two message communications can not only realize message transmission between the same browser, but also between different browsers.
[0191] As an example, see Fig.13 As shown, in the cross-application solution, the cross-application message transmission process includes:
[0192] The preset vidaatvjs plug-in is the first application loaded on the Odin browser. The navigateTo interface called by the plug-in uses omi message communication to send data to the webengine of the Odin browser. After the webengine completes the permission check, the message is sent to the UI of the cobalt browser.
[0193] The modeljs message communication monitor is mounted on the UI of the cobalt browser, and the monitored messages are filtered. After the navigateTo message is obtained after filtering, the corresponding processing is performed.
[0194] After processing by the UI of the cobalt browser, the returned data will be combined and sent to the odin browser through the modeljs message communication method.
[0195] Vidaatvjs also mounts the omi message communication listener. After receiving the message communication data, it filters and obtains the data results returned by navigateTo. Vidaatvjs will process the data results and return them to the first application through a callback function.
[0196] Fig.14 The following is a detailed interactive process of a third-party application A requesting to jump to the media resource information provided by the third-party application B in an embodiment. Taking a smart TV as an example, the third-party application A corresponds to the first application mentioned above, and the third-party application B corresponds to the second application mentioned above. The Odin browser corresponds to the first browser mentioned above, and the Cobalt browser corresponds to the second browser mentioned above. Based on this hypothetical example, the interactive process includes:
[0197] After the smart TV is turned on, the cobalt browser UI mounts the modeljs message listener to display the user interface of the third-party application A, which contains the media resource information provided by the third-party application B.
[0198] When the user initiates a jump instruction for the target media information provided by the third-party application B in the user interface, the third-party application A loads the preset plug-in Vidaatvjs provided by the system, and loads the target interface navigateTo provided by the system based on the plug-in, and returns the interface call result to the third-party application A.
[0199] Call the interface method provided by the target interface navigateTo to verify the relevant parameters passed in by the third-party application A. If the parameter verification succeeds, based on the omi message listener mounted by the odin browser engine, send an omi message to the odin browser engine, which carries the jump request of the third-party application A to the target media asset information. If the parameter verification fails, return a preset error code, such as 400, to the third-party application A through the target interface.
[0200] After receiving the omi message, the odin browser engine obtains the navigateTo data therein and verifies the system file corresponding to the third-party application A. If there is a system file corresponding to the third-party application A, the file content is further verified to determine whether the third-party application A has the permission to start the third-party application B. If the permission verification is successful, an omi message is sent to the cobalt browser UI, and the omi message carries the jump request of the third-party application A to the target media asset information. If the permission verification of the third-party application A fails, the odin browser engine returns a preset error code to the target interface, such as 403. The target interface then returns the error code to the third-party application A.
[0201] If the system file corresponding to the third-party application A does not exist, it is determined that the verification of the third-party application A has failed, and the Odin browser engine returns a preset error code, such as 401, to the target interface, and the target interface then returns the error code to the third-party application A.
[0202] The cobalt browser UI receives the omi message, obtains the jump request for the target media asset information carried by the third-party application A in the omi message, and determines whether the third-party application B exists by interacting with the application manager. If the third-party application B does not exist, the cobalt browser UI returns a preset error code, such as 404, to the target interface. The target interface then returns the error code to the third-party application A.
[0203] If third-party application B exists, the cobalt browser UI starts third-party application B by interacting with the application manager.
[0204] If the third-party application B fails to start, the cobalt browser UI returns another preset application status code to the target interface, such as 500. The target interface then returns the status code to the third-party application A.
[0205] If the third-party application B is successfully started, the cobalt browser UI returns a preset application status code, such as 200, to the target interface. The target interface then returns the status code to the third-party application A. As a result, the TV device can display or play the target media information provided by the third-party application B, and this cross-application media jump request is successful.
[0206] in, Fig.14 The interaction process in Figures 9 to 13 The processes in the corresponding embodiments can complement each other. Fig.14 For a detailed description of the process in Figures 9 to 13 The relevant process descriptions in the corresponding embodiments are not repeated here.
[0207] In combination with the examples of the above embodiments, in some embodiments, the process in which the processor of the display device sends the jump request initiated by the first application to the second application through the target message communication mechanism during the running of system programs and application programs may include: sending a jump request to the Odin browser engine in an OMI message communication manner based on a preset plug-in; the Odin browser engine sends a jump request to the Cobalt browser in an OMI message communication manner; and the Cobalt browser sends a jump request to the second application in a ModelJS message communication manner.
[0208] Among them, the jump request transmitted between the preset plug-in, Odin browser engine, and Cobalt browser can have different forms of expression. For example, the data of the jump request can be reassembled and then sent based on the message format of the corresponding message mechanism, but this does not change the essential content of the jump request, that is, it does not change the essential content of the jump request initiated by the first application to the second application for the target media information.
[0209] Due to the OMI message communication provided by the Odin browser and the ModelJS message communication provided by the Cobalt browser, not only can message transmission be achieved between the same browser, but also between different browsers. Therefore, based on this message communication mechanism, cross-browser media resource jumps between third-party applications in online devices can be achieved without adjusting the browser layer of online devices, and the system has high compatibility.
[0210] In some embodiments, the processor of the display device, while running system programs and application programs, further includes: after sending the jump request to the second application through the target message communication mechanism, obtaining the processing result message of the second application for the jump request; and returning the processing result message to the first application through the target message communication mechanism.
[0211] Referring to the above example, the second application can process the data result of the media resource jump request and return it to the first application through a callback function; Fig.14 It can be known that the data result of the second application's request for media resource redirection can be returned to the first application along the reverse path corresponding to the transmission path of the media resource redirection request.
[0212] In combination with the examples of the above embodiments, the present application also provides an embodiment of a method for media resource jump between applications, and the method of this embodiment can be applied to the above Figure 1 to Figure 5 The method for transferring media resources between applications includes:
[0213] Displaying a first user interface of a first application through a display device, wherein the first user interface includes media resource information provided by a second application; at least one of the first application and the second application is a non-native application of the system;
[0214] In response to a trigger operation on target media asset information provided by the second application, the first application loads a preset plug-in, and based on the preset plug-in, calls a target interface, and initiates a jump request for the target media asset information through the target interface; the preset plug-in is a plug-in provided by the system that supports a cross-application media asset jump function; the target interface is an interface provided by the system that supports cross-application requests;
[0215] Performing permission check on the first application and status check on the second application;
[0216] In response to the verification results of the permission verification and the status verification being passed, sending the jump request initiated by the first application to the second application through the target message communication mechanism, so as to display the target media resource information provided by the second application through the display device;
[0217] Among them, the target message communication mechanism supports communication between the same browsers and between different browsers.
[0218] The implementation process of the steps of the method for jumping media resources between applications can refer to the above-mentioned embodiment of the display device and will not be described in detail.
[0219] Through the inter-application media resource jump method provided by the above embodiment, when the first user interface of the first application includes the media resource information provided by the second application, if a trigger operation is initiated for the target media resource information provided by the second application, the first application can load the preset plug-in and interface provided by the display device system, and initiate a cross-application media resource jump request through the preset plug-in and interface, thereby realizing the cross-application jump function on the display device and expanding the application function. At the same time, the target communication mechanism can realize message transmission between the same or different browsers, further improving the adaptability of the display device platform and the scalability of the application, and providing users with richer media resources.
[0220] It should be understood that, although the steps in the flowcharts involved in the above embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps is not strictly limited in order, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above embodiments may include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.
[0221] Based on the same inventive concept, the embodiment of the present application also provides a device for implementing the above-mentioned inter-application media resource jump solution. The implementation solution provided by the device to solve the problem is similar to the implementation solution recorded in the above-mentioned method, so the specific limitations in one or more inter-application media resource jump device embodiments provided below can refer to the above-mentioned limitations on the inter-application media resource jump solution, and will not be repeated here.
[0222] In an exemplary embodiment, Fig.15 As shown, a device for media resource jump between applications is provided, including:
[0223] A display module 151 is used to display a first user interface of a first application through a display device, wherein the first user interface includes media resource information provided by a second application; at least one of the first application and the second application is a non-native application of the system;
[0224] The request initiation module 152 is used to respond to the trigger operation of the target media asset information provided by the second application, so that the first application loads a preset plug-in, and calls the target interface based on the preset plug-in, and initiates a jump request for the target media asset information through the target interface; the preset plug-in is a plug-in provided by the system to support the cross-application media asset jump function; the target interface is an interface provided by the system to support cross-application requests;
[0225] A verification module 153, used to perform permission verification on the first application and status verification on the second application;
[0226] The request transmission module 154 is used for sending the jump request initiated by the first application to the second application through the target message communication mechanism in response to the verification results of the permission verification and the status verification being passed, so as to display the target media resource information provided by the second application through the display;
[0227] Among them, the target message communication mechanism supports communication between the same browsers and between different browsers.
[0228] Each module in the above-mentioned media resource jump device between applications can be implemented in whole or in part by software, hardware and their combination. The above-mentioned modules can be embedded in or independent of the processor in the new energy vehicle in the form of hardware, or can be stored in the memory in the new energy vehicle in the form of software, so that the processor can call and execute the corresponding operations of the above modules.
[0229] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the above embodiments are implemented.
[0230] In one embodiment, a computer program product is provided, including a computer program, which implements the steps in the above embodiments when executed by a processor.
[0231] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant regulations.
[0232] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., but are not limited to this.
[0233] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0234] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.
Claims
1. A display device, characterized in that: include: a display configured to display a user interface; a memory configured to store system programs and applications; The system program includes a preset plug-in and a target interface; The preset plug-in is a plug-in that supports the cross-application media resource jump function; the target interface is an interface that supports cross-application requests; the application includes a system native application and a non-native application; A processor is configured to run the system program and the application program and implement: Displaying a first user interface of a first application through the display, wherein the first user interface includes media resource information provided by a second application; at least one of the first application and the second application is a non-native application of the system; In response to a triggering operation on the target media asset information provided by the second application, the first application loads the preset plug-in, calls the target interface based on the preset plug-in, and initiates a jump request for the target media asset information through the target interface; Performing a permission check on the first application and a status check on the second application; In response to the verification results of the permission verification and the status verification being passed, sending the jump request initiated by the first application to the second application through a target message communication mechanism, so as to display the target media resource information provided by the second application through the display; The target message communication mechanism supports communication between the same browsers and between different browsers.
2. The display device according to claim 1, characterized in that The processor, in the process of running the system program and the application program, further includes: Obtaining relevant parameters for requesting to jump to the target media asset information, which are passed in by the first application through the target interface; the relevant parameters include an identifier of the second application, jump request information, and a callback function; the jump request information includes at least an identifier of the first application and an identifier of the target media asset information; Verifying the relevant parameters; If the verification result of the relevant parameters is passed, performing permission verification on the first application; When the permission check result of the first application is passed, a status check is performed on the second application.
3. The display device according to claim 2, characterized in that The memory is also configured to store system files and application files; The processor, in the process of running the system program and the application program, performing permission verification on the first application and performing status verification on the second application, includes: Based on the permission configuration information of at least one application in the system file, performing permission verification on the first application; Based on the application information recorded for at least one application in the application file, a status check is performed on the second application.
4. The display device according to claim 2, characterized in that When the processor is running the system program and the application program, the checking of the relevant parameters includes: Based on the preset plug-in, if it is determined that the verification results corresponding to the identifier of the second application, the jump request information, and the callback function in the relevant parameters are all passed, determine that the verification result of the relevant parameters is passed; Otherwise, it is determined that the verification result of the relevant parameters is failed.
5. The display device according to claim 4, characterized in that The processor, in the process of running the system program and the application program, checks the relevant parameters, including: Based on the preset plug-in, determine whether the field corresponding to the identifier of the second application exists and whether it is a string type. If the determination results are both yes, determine that the verification of the field corresponding to the identifier of the second application passes. Determine whether the field corresponding to the jump request information exists and whether it belongs to an object type, and determine whether the field of the identifier of the first application contained in the jump request information exists and whether it is a string type. If the determination results are both yes, it is determined that the verification of the field corresponding to the jump request information passes; It is determined whether the field corresponding to the callback function exists and is of function type. If the determination results are all yes, it is determined that the verification of the field corresponding to the callback function passes.
6. The display device according to claim 5, characterized in that The jump request information also includes first information and second information; the first information is the link address information of the target media asset information, and the second information is identification information indicating whether to return to the user interface corresponding to the first application; The processor, in the process of running the system program and the application program, further includes: After determining that the field corresponding to the jump request information exists and belongs to an object type, continue to perform the following steps: Determine whether a field for the first application identifier included in the jump request information exists and whether it is a string type; Determine whether a field of the first information included in the jump request information exists and whether it is an object type; Determine whether a field of the second information included in the jump request information exists and whether it is a string type; In response to all the determination results being yes, determining that the verification of the field corresponding to the jump request information passes; In response to any one of the determination results being negative, it is determined that the check of the field corresponding to the jump request information fails.
7. The display device according to claim 6, characterized in that The processor, in the process of running the system program and the application program, further includes: When the verification result of the relevant parameters fails, a first error code is returned to the first application based on the preset plug-in.
8. The display device according to claim 3, characterized in that The processor, in the process of running the system program and the application program, performing permission verification on the first application, includes: Based on the preset plug-in, the jump request is sent to a first browser engine; the first browser is a browser that carries the first application; Reading the system file based on the first browser engine; In response to the application corresponding to the identifier of the first application in the system file having a permission configuration for cross-application media resource jump of the second application, determining that the permission verification result of the first application is passed; In response to the absence of permission configuration information corresponding to the identifier of the first application in the system file, or the identifier of the first application in the system file does not correspond to the permission configuration for cross-application media resource jump of the second application, it is determined that the verification result of the first application is failed.
9. The display device according to claim 8, characterized in that The processor, in the process of running the system program and the application program, further includes: If the permission configuration information corresponding to the identifier of the first application does not exist in the system file, returning a second error code to the first application based on the preset plug-in; When the identifier of the first application in the system file does not correspond to the permission configuration for the cross-application media resource jump of the second application, a third error code is returned to the first application based on the preset plug-in.
10. The display device according to claim 8, characterized in that The processor, in the process of running the system program and the application program, performing a status check on the second application program, includes: When the result of the permission check of the first application is passed, the first browser engine sends the jump request to the second browser based on a target message communication mechanism; Reading the application file stored in the memory based on the second browser; In a case where the application file includes application file information corresponding to the identifier of the second application, determining that the verification result of the second application is passed; When the application file does not contain the application file information corresponding to the identifier of the second application, it is determined that the verification result of the second application is failed.
11. The display device according to claim 10, characterized in that The processor, in the process of running the system program and the application program, further includes: In a case where the application file does not include application file information corresponding to the identifier of the second application, the second browser, based on the target message communication mechanism, reversely returns a fourth error code to the preset plug-in through the first browser engine, and returns the fourth error code to the first application through the preset plug-in; When the application file contains application file information corresponding to the identifier of the second application but the second application cannot be started, the second browser returns a preset application status code to the preset plug-in through the first browser engine based on the target message communication mechanism, and returns the application status code to the first application through the preset plug-in.
12. The display device according to claim 10, characterized in that in, The first browser is Odin browser, and the second browser is Cobalt browser; The target message communication mechanism includes the omi message communication provided by the odin browser and the modeljs message communication provided by the cobalt browser.
13. The display device according to any one of claims 1 to 12, characterized in that: The processor, in the process of running the system program and the application program, further includes: After sending the jump request to the second application through the target message communication mechanism, obtaining a processing result message of the second application for the jump request; The processing result message is returned to the first application through the target message communication mechanism.
14. A method for transferring media resources between applications, characterized in that: Applied to a display device, the method comprises: Displaying a first user interface of a first application through the display device, wherein the first user interface includes media resource information provided by a second application; at least one of the first application and the second application is a non-native application of the system; In response to a trigger operation on the target media asset information provided by the second application, the first application loads a preset plug-in, and based on the preset plug-in, calls a target interface, and initiates a jump request for the target media asset information through the target interface; the preset plug-in is a plug-in provided by the system that supports a cross-application media asset jump function; the target interface is an interface provided by the system that supports cross-application requests; Performing a permission check on the first application and a status check on the second application; In response to the verification results of the permission verification and the status verification being passed, sending the jump request initiated by the first application to the second application through a target message communication mechanism, so as to display the target media resource information provided by the second application through the display device; The target message communication mechanism supports communication between the same browsers and between different browsers.