Method for managing interactive web content in a 3D environment
The method transforms user interaction coordinates to enable interactive web content in 3D environments, addressing the limitations of existing techniques by maintaining immersion and interaction.
Patent Information
- Application Number
- FR2024002466
- Authority / Receiving Office
- FR · FR
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-12
- Publication Date
- 2025-09-19
AI Technical Summary
Existing methods for integrating web content in 3D environments either hide part of the viewport or render non-interactive content, degrading the user experience.
A method that transforms user interaction coordinates from the 3D environment frame to the web view frame, enabling interactive web content management by simulating user interactions within the web view.
Preserves the immersive nature of the 3D environment while allowing interactive web content display, enhancing user experience by enabling responsive interactions.
Smart Images

Figure 00000019_0000 
Figure 00000019_0001 
Figure 00000020_0000
Abstract
Description
Title of the invention: Method for managing interactive web content in a 3D environment TECHNICAL FIELD OF THE INVENTION
[0001] The technical field of the invention is that of user interaction and more specifically user interaction of web content in applications using 3D rendering engines, for three dimensions, such as video games, virtual worlds, virtual reality, augmented reality, etc.
[0002] The present invention relates to a method for managing interactive web content in a 3D environment. TECHNOLOGICAL BACKGROUND OF THE INVENTION
[0003] In the technical field, 3D rendering engines such as Unity, Unreal and others are commonly used to generate and display a virtual and real-time representation of a 3D environment. The 3D environment is composed of 3D objects. From a macroscopic point of view, for an end user, these 3D objects are buildings, vehicles, planets, everyday objects.... From the point of view of the rendering engine, it is a list of geometric shapes having coordinates in space, surface properties or rules of movement in time.
[0004] From a technical point of view, the purpose of a rendering engine is to draw in real time on a rendering plane called a "viewport", a plurality of objects included in the 3D environment. These objects are defined in the reference frame of the 3D environment, otherwise called the coordinate space (x,y,z) of the 3D environment.
[0005] For this, with reference to [Fig. 1], an object 100 is projected onto a viewport 110 from the point of view of a camera 120, also defined in the frame of reference of the 3D environment. The camera 120 therefore has a position in the frame of reference of the 3D environment as well as a direction. The direction of the camera is perpendicular to the rendering plane of the 3D environment, i.e. to the viewport 110.
[0006] A rendering engine uses several techniques to correctly project and draw the scene on the rendering plane. These techniques are combined within a "render pipeline" also called a graphics pipeline.
[0007] In order to allow the user to interact in the 3D environment, it is common for user interactions such as clicking, double clicking, long clicking, swiping to be detected, for example when they are located on certain displayed objects, or certain parts of the displayed objects.
[0008] The rendering plan may also include additional web content. The Web, or World Wide Web, is a hyperlink-based information system that allows users to navigate and access multimedia resources such as web pages, images, videos, via the Internet. Web content can therefore be defined, in general, as the content, i.e. all accessible multimedia resources, of a website. This web content can currently be displayed in a 3D environment using two techniques. The first technique consists of displaying the web content in a 2D window, for 2 dimensions, displayed above the viewport. The second technique consists of integrating the web content into the graphics pipeline so that it is displayed in the 3D environment as a texture. To do this, it is necessary to use a software component of the web view type, "webview" in English. The web view is a separate HTML-specific rendering environment whose rendering is then displayed in a texture usable by the rendering engine.
[0009] These two techniques have different drawbacks. Indeed, with the first technique, part of the viewport is hidden, thus the user experience is greatly degraded. With the second technique, the main drawback is that the web content as displayed in the 3D environment is not interactive, that is to say, it does not allow user interactions.
[0010] There is therefore a need to provide a method for managing interactive web content in a 3D environment. Summary of the invention
[0011] The invention provides a solution to the problems mentioned above, by enabling the management of interactive web content in a 3D environment. Indeed, in order to enable user interactions with the web view comprising the web content, the user interaction is detected from the rendering engine of the 3D environment, then the coordinates of the user interaction are then transformed into the reference frame of the web view. Finally, a test is performed using these transformed coordinates in order to determine whether, in the reference frame of the web view, the user interaction has been performed on an interactive area. Thus, with this detection of the user interaction and its characteristics, it is possible to implement a response adapted to this user interaction.
[0012] A first aspect of the invention relates to a computer-implemented method of managing interactive web content in a 3D environment, the method comprising: • Obtaining the 3D environment and web content, • Displaying web content in a rendering of the 3D environment, the display being performed with a texture included in the rendering of the displayed 3D environment, the texture being generated by rendering a web view including the web content, the web content displayed in the rendering of the 3D environment having a first coordinate range in a frame of reference of the 3D environment rendering corresponding to a second coordinate range of the web content in a frame of reference of the web view, • When a user interaction is detected: • Determination of coordinates of user interaction in the 3D environment frame, • Transformation of the coordinates obtained in the web view reference frame, and • When the transformed coordinates are within the second coordinate range of the web content, generating, in the web view, at least one event simulating a user interaction on the web content, the simulated user interaction having the transformed coordinates.
[0013] Thanks to the invention, it is possible to introduce interactive web content into a 3D environment. In addition, this interactive web content is displayed via a texture managed by the rendering engine of the 3D environment. Thus, the immersive nature of the 3D environment is preserved during the display of the web content. Finally, thanks to user interaction management allowing the transfer of the event and its characteristics from the 3D environment to the web view, the displayed web content is interactive.
[0014] In addition to the characteristics which have just been mentioned in the preceding paragraph, the method according to one aspect of the invention may have one or more complementary characteristics among the following, considered individually or according to all technically possible combinations: • when the transformed coordinates are included in the second coordinate range of the web content, the method further comprises at least one step among: • Modification of the displayed web content, • Changing the size of the display of web content in the 3D environment, • Changing the position of web content in the 3D environment, • when the transformed coordinates are included in the second coordinate range of the web content, the method further comprises: • Detection of an attempt to display new web content in the web view, • When the attempt to display new web content in the web view is detected: • Blocking the display of new web content in the web view, and • Displaying new web content in an interstitial, The computer is a smartphone including a touch screen and running an Android® operating system, the user interaction is a click, the web view is a class of type android.webkit.WebView, the generation, in the web view, of at least one event is implemented by making two consecutive calls to the WebView.dispatchTouchEvent() function, a first call of the two consecutive calls simulating a finger resting on the touchscreen and a second call of the two consecutive calls simulating a finger removing itself from the touchscreen, The computer is an iPhone comprising a touchscreen and running an iOS® operating system, the user interaction is a click, the web view is a class of type WKWebView, the generation, in the web view, of at least one event is implemented by making a call to an HTMLElement.click() method within an evaluateJavascript() method of the WKWebView type class. the WKWebView type web view includes: a first web content originating from a first internet domain included in a first HTML tag of an HTML document object model, the first tag being the root of the HTML document object model, and a second web content originating from a second internet domain included in a second HTML tag of the "iframe" type of the HTML document object model, the second HTML tag being a child tag of the first HTML tag, the second web content having a third coordinate range in the reference frame of the web view, the method further comprises a step, performed after obtaining (210) and before displaying, of locally adding javascript scripts at the first and second HTML tags, the scripts being configured to generate, in the web view, the at least one event simulating a user interaction on the web content, the simulated user interaction having the transformed coordinates: the generation, in the web view, of at least one event simulating a user interaction on the web content comprising, when the transformed coordinates are included in the third coordinate range of the second web content, the sub-steps of: • transmission of click information, by the script added at the level of the first HTML tag, to the javascript script added at the level of the second HTML tag, and • call, by the javascript script added at the level of the second HTML tag, to the HTMLElement.click() method within the evaluateJavascript() method of the WKWebView type class
[0015] A second aspect of the invention relates to a computer program product comprising instructions which, when the program is executed by a computer, cause the latter to implement the method according to the invention.
[0016] A third aspect of the invention relates to a computer-readable recording medium comprising instructions which, when executed by a computer, cause the latter to implement the method according to the invention.
[0017] A fourth aspect of the invention relates to a system configured to execute the method according to the invention.
[0018] The invention and its various applications will be better understood by reading the following description and examining the accompanying figures. BRIEF DESCRIPTION OF THE FIGURES
[0019] The figures are presented for information purposes only and in no way limit the invention. • [Fig.l] shows a simplified illustration of an example of how a graphics rendering engine works. • [Fig.2] is a block diagram illustrating the steps of an example of the method according to the invention. • Figures 3 and 4 show a simplified illustration of an example of displaying web content in a 3D environment rendering. DETAILED DESCRIPTION
[0020] Unless otherwise specified, the same element appearing in different figures has a single reference.
[0021] [Fig. 2] is a block diagram illustrating the steps of an example of the method 200 according to the invention. The mandatory steps of the example of the method 200 are indicated by a solid line rectangle and the optional steps are indicated by a dotted line rectangle.
[0022] The method 200 according to the invention is implemented by computer. By "implemented by computer", it is understood that the steps, or practically all the steps of the method 200, are executed by at least one computer or processor or any other similar system, such as a smartphone, or a touch tablet or a game console or a virtual reality or augmented reality mask. Thus, steps are carried out by the computer, possibly in a fully automatic, or semi-automatic. In examples, triggering at least some of the steps of these methods may be performed by user-computer interaction, otherwise referred to herein as user interaction. The level of user interaction required may depend on the intended level of automation and balanced against the need to implement the user's wishes. In examples, this level may be user-defined and / or predefined. The user interaction may be performed using a mouse or any other device such as a video game controller. When the computer includes a touchscreen or a camera, the user interaction may be performed with any part of the user's body such as the user's hand or one or more fingers.Examples of user interactions are clicking, double-clicking, tapping, double-tapping, or swiping, which is a gesture in which the user slides their finger across the touchscreen in a specific direction, usually from left to right or right to left, to perform a particular action. A swipe interaction is composed of a multitude of sub-interactions, each with its own set of coordinates: . • detection of finger placement, called “touchdown” in English, • detection of changes in finger position, called “touchmove”, • detection of a finger lift, called “touchup” in English.
[0023] A typical example of a computer implementation of the method 200 is to execute the method 200 with a system adapted for this purpose. The system may comprise a processor coupled to a memory and a graphical user interface (GUI), the memory having recorded thereon a computer program comprising instructions for implementing the method. The memory may also store a database. The memory is any hardware adapted for such storage, possibly comprising several distinct physical parts.
[0024] Alternatively, the computer implementation of the method 200 involves executing at least some steps of the method 200 on a remotely located server, the server executing at least part of the method in response to a request sent by a client system, for example the computer or the smart mobile phone. The request may for example be transmitted via a web-type application, in response to a user interaction, and when the server has finished executing the calculations and preparing the rendering, the server may transmit the results to the client system which may then display them. The transmission of information between the server and the client system may be carried out using a wireless mobile network, for example 3rd or 4th generation.
[0025] The method 200 allows the management of interactive web content in a 3D environment. The term “management” in the present application may include the display of the web content in the 3D environment as well as the detection of user interaction on the display area of the web content. The web content may, for example, contain an advertisement but also various information accessible via the web. The invention is therefore independent of the nature of the web content managed.
[0026] A first step 210 of the method 200 comprises obtaining the 3D environment. The term “obtaining” may mean in the present application “receiving”, “accessing in memory” or “generating”. For example, the 3D environment may be stored in the computer’s memory and obtaining consists of accessing the storage memory of the 3D environment or accessing the storage memory of at least a portion of the 3D environment depending on the position of the camera in the 3D environment. In another example, the 3D environment may be stored on a remote server and the computer may receive this 3D environment, or at least a portion of the 3D environment depending on the position of the camera in the 3D environment. The 3D environment comprises 3D objects and a terrain. Each 3D object and the terrain are located in the reference frame of the 3D environment.Additionally, 3D objects and terrain can be textured, meaning they can have a texture applied to their surface. A texture is an image or series of images that is applied to the surface of a 3D object or terrain to give it visual details and graphical characteristics, for example, realistic features.
[0027] The first step 210 of the method 200 also comprises obtaining the web content to be managed. For example, the web content may be received by the computer implementing the method after making an http request, for "Hypertext Transfer Protocol" in English, to an http server, which, in response, sends the web content to the computer. Alternatively, several requests, for example of the html type, for "HyperText Markup Language" in English, and / or of the css type, for "Cascading Style Sheets" in English, and / or of the javascript type and of the images type.
[0028] The second step 220 of the method 200 comprises displaying the web content in a rendering of the 3D environment. The display is performed with a texture generated from a web view, comprising the web content. The texture is then displayed in the rendering of the 3D environment. A web view is a user interface component used in the development of mobile applications and software to display web content. Simply put, a web view is a view that allows web pages to be displayed within an application without needing to launch an external internet browser. The use of a web view in the method 200 notably allows the execution of JavaScript code. This JavaScript code allows, for example, the execution of advertising trackers. An advertising tracker is JavaScript code allowing tracking of a user's online behavior and a collection of information about this behavior. This JavaScript code can also allow the synchronization of cookies, also called connection witnesses or cookies. The web view can also implement extension standards defined by the IAB, "Interactive Advertising Bureau" in English. The IAB is an organization bringing together players in the Internet advertising industry and whose goal is to develop standards. For example, the IAB defines the MRAID standard, for "Mobile Rich Media Ad Interface Definitions" in English, available JavaScript functions that web views must implement. Thus, the web content is added to the graphics pipeline of the 3D environment using a web view so that it is converted into a texture. The web content, displayed in the rendering of the 3D environment using the texture, therefore has a first coordinate range in a reference frame of the 3D environment rendering.This first coordinate range corresponds to a second coordinate range of the web content in the coordinate system of the web view. The term "corresponds" here means that for any coordinate in the first coordinate range, it is possible to identify the corresponding coordinate in the second coordinate range. Similarly, for any coordinate in the second coordinate range, it is possible to identify the corresponding coordinate in the first coordinate range. [Fig. 3] shows a diagram in which the viewport 110 includes a texture 130, displayed in the rendering 170 of the 3D environment. The texture 130 was generated by rendering the web view 140. The point 150 of the texture 130 has a first set of coordinates in the coordinate system of the rendering 170 of the 3D environment and a second set of coordinates in the coordinate system of the rendering of the web view 140.Similarly, the web content 180 has a first coordinate range in the frame of reference of the rendering 170 of the 3D environment and a second coordinate range in the frame of reference of the web view 140.
[0029] In one example, consistent with the preceding examples, the web view 140 comprising the web content may be displayed at multiple locations in the rendering of the 3D environment. Thus, the texture 130 generated by rendering the web view 140 may be duplicated in multiple instances and displayed at multiple positions in the 3D environment. [Fig.4] shows an example of a web view 140 being displayed 3 times using 3 textures 130. It is also possible for a single area of the web content 180 to be interactive or for the web content 180 to comprise multiple interactive areas. In addition, it is also possible for the web view 140 to comprise multiple web contents 180. The method 200 also makes it possible to manage these different examples.
[0030] The following steps, i.e. steps 230 to 310, of the method 200 are implemented when a user interaction is detected.
[0031] The third step 230 of the method 200 comprises determining the coordinates of the user interaction in the reference frame of the 3D environment. In order to determine the coordinates of the user interaction in the frame of reference of the 3D environment, the coordinates of the user interaction in the frame of reference of the viewport 110, or in the frame of reference of the computer screen, can be used. For example, with the coordinates of the user interaction in the frame of reference of the viewport 110, it is possible to use a ray casting method, "raycasting" in English in order to determine the coordinates of the user interaction in the frame of reference of the 3D environment. Indeed, a ray can be launched from the position in the 3D environment corresponding to the coordinates of the user interaction in the frame of reference of the viewport 110. This position is in the plane of the camera 120, that is to say in the plane formed by the position of the camera and a vector parallel to the direction of the camera 120, which constitutes the normal of the plane. In addition, the direction of the ray casting can be parallel to the direction of the camera 120.Finally, the intersection between the launched ray and a 3D object or the terrain of the 3D environment corresponds to the coordinates of the user interaction in the frame of the 3D environment. It is possible to note that other known methods could be used to determine the coordinates of the user interaction in the frame of the 3D environment.
[0032] The fourth step 240 of the method 200 comprises the transformation of the coordinates obtained in the frame of reference of the web view. Thus, the coordinates of the user interaction in the frame of reference of the 3D environment are transformed in order to change their frame of reference and to obtain the corresponding coordinates in the frame of reference of the web view. For example, two operations can be applied: a rotation and a translation. These two operations can be carried out by a transformation matrix making it possible to pass from the frame of reference of the 3D environment to the frame of reference of the web view.
[0033] The following steps, i.e. steps 250 to 310, of the method 200 are implemented when the coordinates of the user interaction in the frame of reference of the web view are included in the second coordinate range of the web content. Thus, this test makes it possible to determine whether the user interaction is indeed located on the texture allowing the display of the web content in the rendering of the 3D environment. In order to carry out this test, it is possible to verify that the coordinates of the user interaction in the frame of reference of the web view are included in the coordinate range of the web content in the frame of reference of the web view.
[0034] The fifth step 250 of the method 200 comprises the generation in the web view of at least one event simulating a user interaction on the web content. In addition, the simulated user interaction has the coordinates of the user interaction in the frame of reference of the web view calculated in step 240. The implementation of this step 250 can be carried out using an application programming interface, commonly called API for "Application Programming Interface" in English, of the web view and implemented using Javascript scripts. When simulating user interaction, the type of user interaction, for example click, swipe, etc., is also taken into account and reproduced. For example, if the detected user interaction is of the click type, then the simulated user interaction will also be of the click type.
[0035] The optional sixth step 260 of the method 200 comprises modifying the displayed web content. For example, the displayed web content may be replaced by other web content or its graphic appearance may be modified, for example the web content may be displayed in shades of gray.
[0036] The optional seventh step 270 of the method 200 comprises modifying the size of the display of the web content in the 3D environment. For example, the size of the web content may be increased to allow easier reading of information displayed in the web content. In another example, the size of the web content may be reduced to allow: • to display other information in the web view, or • to enlarge the rest of the web view, or • to reduce the size of the web view and therefore of the texture generated from the web view.
[0037] In order to modify the size of the display of web content in the 3D environment, different techniques are possible. For example, it is possible to enlarge the size of the texture generated from the web view while retaining its initial size. It is also possible to enlarge the size of the web content in the web view. Finally, it is possible to enlarge the size of the web view, which will enlarge the size of the generated texture.
[0038] The optional eighth step 280 of the method 200 comprises modifying the position of the web content in the 3D environment. In other words, the web content can be moved in the 3D environment. For example, the position of the texture generated from the web view can be modified. This makes it possible, for example, to replace this web content with other web content or to display this web content at another position in the 3D environment.
[0039] The optional ninth step 290 of the method 200 comprises detecting an attempt to display new web content in the web view. The new web content may for example be performed in response to the opening of an internet link.
[0040] The following optional steps, i.e., steps 300 and 310, of the method 200 are performed when the attempt to display the new web content in the web view is detected.
[0041] The optional tenth step 300 of the method 200 comprises blocking the display of new web content in the web view. The term "blocking" means in the present application that the display of new web content in the web view is prevented. This step 300 can be carried out using the same methods as those used for step 290, for each of the implementation modes.
[0042] The optional eleventh step 310 of the method 200 may comprise displaying the new web content in an interstitial. An interstitial is a web banner that may be displayed above the entire viewport 110 or over a portion of the viewport 110. Since the interstitial is displayed above the rendering of the 3D environment, the display of the interstitial interrupts the user's activity and attracts their attention, for example for advertising purposes. The interstitial is therefore a 2D display that is independent of the display of the 3D environment and which in the present application is displayed above the rendering of the 3D environment.
[0043] Alternatively, the optional eleventh step 310 of the method 200 may comprise displaying the new web content in an internet browser, for example the default internet browser of the computer implementing the method 200. In addition, in one example, the content of the original web view may be shared with this new web view, for example by retaining the cookies of the original web view.
[0044] In a first embodiment, compatible with the previous examples, the computer implementing the method 200 is a smartphone. The smartphone has an Android® operating system. For example, the computer may operate with any of the Android® versions between version 1.0 and the current version. In addition, in this first embodiment, the smartphone includes a touchscreen. In this first embodiment, the detection 290 of an attempt to display new web content in the web view may be performed using the Web-ViewClient.shouldOverrideUrlLoading() function. The signature of the Web-ViewClient.shouldOverrideUrlLoadingO function may be Web-ViewClient.shouldOverrideUrlLoading(WebView view, WebResourceRequest request).
[0045] In an example of the first implementation mode, the user interaction is a click, otherwise called a "tap" when performed with a user's finger. In this example, the web view is a class of type android.webkit.WebView available for example on any version among versions 1.0 to current of the Android API. In addition, in this example, the generation 250, in the web view, of at least one event simulating the user interaction on the web content is implemented by making two consecutive calls to the function dispatchTouchEvent() whose signature can be dispatchTouchEvent(MotionEvent event). In an example implementation, the two events can be sent sequentially without delay between the two. The first call of the two consecutive calls can for example simulate a user's finger touching the touchscreen, called a "touchdown" in English. The second of two consecutive calls can, for example, simulate a user's finger removing itself from the touchscreen, called a "touchup" in English.
[0046] In an example of the first implementation mode, the optional eleventh step 310 method 200 may be implemented by displaying the new web content in the default internet browser of the computer implementing the method 200 or any other suitable behavior. In addition, the URL address of the internet link whose display of the web content has been prevented may be retrieved using the WebViewClient.shouldOverrideUrlLoading() method.
[0047] In a second embodiment, compatible with the previous examples, the computer implementing the method 200 is a smartphone of the iPhone type. The iPhone has an iOS® operating system, for “iPhone Operating System”. For example, the iPhone can operate with any of the iOS® versions between iOS version 8.0 and the current version. In this second embodiment, the iPhone includes a touch screen.
[0048] In an example of the second implementation mode, the user interaction is a click, for example performed with a user's finger. In this example, the web view is a WKWebView type class. The WKWebView type class is part of the software development structure, called a "framework" in English, WebKit. The WKWebView type class is available for example on any version among iOS 8.0 to current versions of the WebKit framework. In addition, in this example, the generation 250, in the web view, of at least one event simulating user interaction on the web content is implemented by making a call to a JavaScript method click() whose signature is HTMLElement.click(). The element on which this method is applied is detected using the document.elementFromPoint(x, y) function. These calls are made within an evaluateJavascript() method of the WKWebView type class.
[0049] In an example of the second implementation mode, compatible with the previous example, the web view of type WKWebView includes at least two web contents coming from two different internet domains. The first web content comes from a first internet domain. The first web content is included in a first HTML tag of an HTML document object model, commonly called HTML DOM for HTML "document object model" in English. The first tag is at the root of the HTML DOM. The second web content comes from a second internet domain. The second web content is included in a second HTML tag of type <iframe>of the HTML DOM. A tag of type<iframe> allows the incorporation of web content from an HTML page within the current HTML page, i.e. the HTML page corresponding to the HTML DOM. The second HTML tag is a child tag of the first HTML tag in the HTML DOM tree. A JavaScript script is additionally added at the first and second HTML tags. The JavaScript script in the first HTML tag is configured to pass user interaction information to the JavaScript script in the second HTML tag, such as the transformed coordinates of the user interaction. The JavaScript script in the second HTML tag is configured to simulate user interaction with the transformed coordinates of the user interaction. Finally, the second web content has a third coordinate range in the web view's coordinate system.This third coordinate range makes it possible in particular to determine whether the transformed coordinates of the user interaction are included in the third coordinate range of the second web content. It is possible to note that this example of the method can be recursive. For example, the second web content can include a third web content coming from a third internet domain, which can itself include a fourth web content coming from a fourth domain, etc.
[0050] In this example, sub-steps 251 and 252 are performed when the transformed coordinates are included in the third coordinate range of the second web content.
[0051] Substep 251 comprises a transmission of click information, by the script added at the level of the first HTML tag, to the javascript script added at the level of the second HTML tag. The transmitted information may for example comprise the transformed coordinates of the user interaction.
[0052] Sub-step 252 includes a call by the javascript script added at the level of the second HTML tag, to the HTMLElement.click() method within the eva-luateJavascript() method of the WKWebView type class. This call allows the generation, in the web view, of at least one event simulating user interaction on the web content.
[0053] In this second implementation mode, the detection 290 of an attempt to display new web content in the web view can be carried out using the de-cidePolicyForNavigationAction() function.The signature of the decidePolicyForNaviga-tionAction() function is (void)webView:(WKWebView *) webView decidePolicyForNaviga-tionAction:(WKNavigationAction *) navigationAction decisionHandler:(void (A) (WKNavigationActionPolicy)) decisionHandler;
[0054] In an example of the second implementation mode, the optional eleventh step 310 method 200 can be implemented by instantiating and displaying a SFSafa-riViewController in full screen, in 2D, or by triggering a custom behavior such as a display: • a pop-up window, called a “pop-up” in English, including a commercial link, for example an app store link, or • playing a video with a video player.
[0055] Finally, the URL address of the internet link whose web content display has been prevented can be retrieved using the decidePolicyForNavigationAction() method, for example at step 290 or after this step.< / iframe>
Claims
Claims
1. A computer-implemented method (200) for managing interactive web content in a 3D environment, the method comprising: - Obtaining (210) the 3D environment and the web content, - Displaying (220) the web content in a rendering of the 3D environment, the display being performed with a texture included in the rendering of the displayed 3D environment, the texture being generated by rendering a web view comprising the web content, the web content displayed in the rendering of the 3D environment having a first coordinate range in a frame of reference of the rendering of the 3D environment corresponding to a second coordinate range of the web content in a frame of reference of the web view, - When a user interaction is detected: • Determining (230) coordinates of the user interaction in the frame of reference of the 3D environment, • Transforming (240) the obtained coordinates into the frame of reference of the web view,and • When the transformed coordinates are included in the second coordinate range of the web content, generation (250), in the web view, of at least one event simulating a user interaction on the web content, the simulated user interaction having the transformed coordinates (240).,
2. The method (200) of claim 1 further comprising, when the transformed coordinates are included in the second coordinate range of the web content, at least one of: - Modifying (260) the displayed web content, - Modifying (270) the size of the display of the web content in the 3D environment, - Modifying (280) the position of the web content in the 3D environment.
3. The method (200) of claim 1 or 2 further comprising, when the transformed coordinates are included in the second coordinate range of the web content, the steps of: - Detecting (290) an attempt to display new web content in the web view, - When the attempt to display the new web content in the web view is detected: • Blocking (300) the display of the new web content in the web view, and • Displaying (310) the new web content in an interstitial.
4. Method (200) according to claim 1 to 3 wherein: - The computer is a smartphone comprising a touch screen and operating under an Android® operating system, - the user interaction is a click, - the web view is a class of type android.webkit.WebView, and - the generation (250), in the web view, of the at least one event is implemented by making two consecutive calls to the WebView.dispatchTouchEvent() function, a first call of the two consecutive calls simulating a finger resting on the touch screen and a second call of the two consecutive calls simulating a finger removing itself from the touch screen.
5. Method (200) according to claim 1 to 3 wherein: - The computer is an iPhone comprising a touch screen and operating under an iOS® operating system, - the user interaction is a click, - the web view is a class of type WKWebView, and - the generation (250), in the web view, of the at least one event is implemented by making a call to a method HTMLElement.click() within an evalua-teJavascript() method of the class of type WKWebView.
6. Method (200) according to the preceding claim in which: - the web view of type WKWebView comprises: • first web content from a first internet domain included in a first HTML tag of an HTML document object model, the first tag being the root of the HTML document object model, and • a second web content from a second internet domain included in a second HTML tag of type “iframe” of the HTML document object model, the second HTML tag being a child tag of the first HTML tag, the second web content having a third coordinate range in the web view reference, the method (200) further comprising a step (215), performed after obtaining (210) and before displaying (220), of locally adding javascript scripts at the level of the first and second HTML tags, the scripts being configured to generate (250), in the web view, the at least one event simulating a user interaction on the web content, the simulated user interaction having the transformed coordinates (240): • the generation (250), in the web view, of at least one event simulating a user interaction on the web content comprising, when the transformed coordinates are included in the third coordinate range of the second web content, the sub-steps of: • transmission (251) of click information, by the script added at the level of the first HTML tag, to the javascript script added at the level of the second HTML tag, and • call (252), by the javascript script added at the level of the second HTML tag, to the HTMLElement.click() method within the evaluateJavascript() method of the WKWebView type class.
7. Computer program product comprising instructions which, when the program is executed by a computer, cause the latter to implement the method according to any one of claims 1 to 7.
8. A computer-readable recording medium comprising instructions which, when executed by a computer, cause the computer to carry out the method of any one of claims 1 to 7.
9. A system configured to perform the method of any one of claims 1 to 7.
Citation Information
Patent Citations
Method for providing information from an electronic device to a central server
US20170302642A1
Three-dimensional conversion of a digital file spatially positioned in a three-dimensional virtual environment
US20210272379A1