KR102181906B1 - Terminal apparatus for implementing native application and thereof method - Google Patents
Terminal apparatus for implementing native application and thereof method Download PDFInfo
- Publication number
- KR102181906B1 KR102181906B1 KR1020130117800A KR20130117800A KR102181906B1 KR 102181906 B1 KR102181906 B1 KR 102181906B1 KR 1020130117800 A KR1020130117800 A KR 1020130117800A KR 20130117800 A KR20130117800 A KR 20130117800A KR 102181906 B1 KR102181906 B1 KR 102181906B1
- Authority
- KR
- South Korea
- Prior art keywords
- native app
- timing control
- control function
- native
- app
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
본 발명은 네이티브 앱 실행을 위한 단말장치 및 방법에 관한 것으로서, 네이티브 앱(native application)의 실행 화면을 출력하는 사용자 인터페이스부, 새창 띄우기 객체를 이용하여 네이티브 앱의 스킴(scheme)이 호출된 경우, 상기 스킴을 가진 네이티브 앱을 수행하고, 제1 타이밍 제어함수 및 제2 타이밍 제어함수의 동작 여부를 근거로 해당 네이티브 앱의 설치 유무를 판단하는 웹 브라우저 처리부를 포함한다. The present invention relates to a terminal device and a method for executing a native app, and when a scheme of a native app is called using a user interface unit that outputs an execution screen of a native application and a new window opening object, And a web browser processing unit that executes a native app having the scheme and determines whether a corresponding native app is installed based on whether the first timing control function and the second timing control function operate.
Description
본 발명은 네이티브 앱 실행을 위한 단말장치 및 그 방법에 관한 것으로, 보다 상세하게는 새창 띄우기 객체를 이용하여 네이티브 앱의 스킴(scheme)이 호출된 경우, 상기 스킴을 가진 네이티브 앱을 수행하고, 제1 타이밍 제어함수 및 제2 타이밍 제어함수의 동작 여부를 근거로 해당 네이티브 앱의 설치 유무를 판단하는 네이티브 앱 실행을 위한 단말장치 및 그 방법에 관한 것이다.
The present invention relates to a terminal device and a method for executing a native app, and more particularly, when a scheme of a native app is called using a new window opening object, a native app having the scheme is executed, and The present invention relates to a terminal device for executing a native app and a method thereof for determining whether a corresponding native app is installed based on whether the first timing control function and the second timing control function operate.
현재 PDA(Personal Digital Assistant), PMP(Portable Multimedia Player), 스마트폰 등과 같은 멀티미디어 폰은 제조사 또는 통신사로부터 네이티브 애플리케이션이 제공된다.Currently, multimedia phones such as PDA (Personal Digital Assistant), PMP (Portable Multimedia Player), and smart phones are provided with native applications from manufacturers or carriers.
이런 네이티브 애플리케이션은 제조사 또는 통신사가 배포한 SDK(Software Development Kit)를 통해서 단말기 자체에서 구동되는 애플리케이션을 의미하며, 대부분의 자원이 네이티브 애플리케이션에 있으므로 사용자는 전체 리소스를 다운로드 받아서 단말기 안에서 구동되는 형태가 바로 이러한 형태이다.These native applications refer to applications that run on the terminal itself through the SDK (Software Development Kit) distributed by the manufacturer or telecommunication company. Since most of the resources are in the native application, the user downloads the entire resource and runs it in the terminal. In this form.
이와 같은 네이티브 애플리케이션의 경우에는 필연적으로 개별 단말기, 특히 운영체제(OS)의 종속성을 띌 수밖에 없기 때문에 대부분의 애플리케이션은 OS 별로 제작되고 있다. 즉 iPhone용 애플리케이션과 Android용 애플리케이션이 개별적으로 개발된다고 볼 수 있다.In the case of such a native application, since it is inevitably dependent on an individual terminal, especially an operating system (OS), most applications are produced for each OS. In other words, it can be seen that an application for iPhone and an application for Android are developed separately.
한편, 모바일 브라우저(mobile browser)에서 네이티브 애플리케이션(native application)을 수행하기 위해서는 약속된 스킴(scheme)을 알아야 한다. 스킴을 사용하여 모바일 브라우저에서 window.location.href, iframe(inline frame), window.open 등을 이용하여 네이티브 애플리케이션을 호출할 수 있다. window.location 객체는 현재 페이지 주소(URL)를 얻어내고 새 페이지로 브라우저를 리디렉션하는 것으로, window.location.href는 현재 페이지의 주소(URL)를 반환하는 속성을 가지고 있다. Iframe은 HTML(Hypertext Markup Language)문서에서 글 중의 임의 위치에 또 다른 HTML 문서를 보여 주는 내부 프레임(inline frame) 태그를 의미한다. window.open은 새창 띄우기 객체일 수 있다. Meanwhile, in order to execute a native application in a mobile browser, it is necessary to know the promised scheme. Using the scheme, native applications can be called using window.location.href, iframe (inline frame), window.open, etc. from a mobile browser. The window.location object gets the current page address (URL) and redirects the browser to a new page. window.location.href has a property that returns the address (URL) of the current page. Iframe refers to an inline frame tag that shows another HTML document at an arbitrary position in a text in an HTML (Hypertext Markup Language) document. window.open can be a new window launch object.
이전에는 네이티브 애플리케이션을 호출하기 위해 해당 스킴을 그대로 전달하면 되었지만, 구글(google)의 최신 정책에 의하여 크롬 모바일 브라우저(chrome mobile browser) 25버전(version)이상에서는 스킴을 그대로 전달하면 안되고, intent 호출 규격에 맞게 전달하여야 네이티브 애플리케이션이 호출된다.Previously, in order to call a native application, the scheme had to be passed as it is, but according to the latest policy of Google, the scheme should not be delivered as it is in Chrome mobile browser version 25 or higher. Native application is called only when it is delivered accordingly.
지금까지는 모바일 브라우저에서 네이티브 애플리케이션을 호출하기 위해 iframe의 src 속성에 네이티브 애플리케이션의 스킴(scheme) 또는 intent 호출 규격을 전달하는 방법을 사용하였다. 여기서, iframe의 src는 src="주소" 형태의 명령어로 표현되고, 이는 표시할 내용의 경로를 지정해 주는 속성을 가진다. Until now, in order to call a native application from a mobile browser, the method of passing the native application's scheme or intent calling specification to the src attribute of the iframe has been used. Here, src of iframe is expressed as a command in the form of src="address", which has an attribute that designates the path of the content to be displayed.
그러나 이 방법은 모바일 크롬 18버전 이상의 브라우저에서 iframe의 src 속성을 지원하지 않아 사용할 수 없다. 또한, 위의 경우는 네이티브 애플리케이션이 존재할 경우에만 정상 동작하며, 해당 스킴(scheme) 또는 intent 호출 규격을 가진 네이티브 애플리케이션이 존재하지 않는 경우 모바일 브라우저는 에러 페이지(error page)를 보여주게 된다.However, this method cannot be used because the browser version of mobile Chrome 18 or higher does not support the src attribute of iframe. In addition, the above case operates normally only when there is a native application, and when there is no native application with a corresponding scheme or intent calling standard, the mobile browser displays an error page.
네이티브 애플리케이션이 없을 때 에러 페이지를 보여주는 것은 사용자 인터페이스 관점에서 좋지 못하다. 따라서 네이티브 애플리케이션이 없는 경우 에러 페이지가 보이지 않도록 하는 방법이 필요한데, 현재 사용되는 기술은 setTimeout 함수를 이용하여 일정 시간이 지난 후 모바일 페이지가 포커스(focus)되어 있는지를 판단한다. 만약 네이티브 애플리케이션이 수행되었다면 모바일 페이지는 포커스를 잃어 버리기 때문에 네이티브 애플리케이션이 존재한다고 판단할 수 있고, 일정 시간 후에도 모바일 페이지가 포커스되어 있다면 네이티브 애플리케이션이 수행되지 않았다고 판단한다.Showing error pages when there is no native application is bad from a user interface point of view. Therefore, when there is no native application, a method of preventing the error page from appearing is required. The currently used technology uses the setTimeout function to determine whether the mobile page is in focus after a certain period of time. If the native application is executed, the mobile page loses focus, so it can be determined that the native application exists. If the mobile page is in focus after a certain time, it is determined that the native application has not been executed.
하지만 이 방식은 크롬 모바일 브라우저에서는 정상 동작하지 않는다. 크롬 모바일 브라우저는 단말장치의 OEM(original equipment manufacturing) 브라우저와 달리 네이티브 애플리케이션이 수행되었더라도 모바일 페이지가 포커스를 잃지 않는다. 따라서 네이티브 애플리케이션이 수행되었든 안되었든 크롬 모바일 브라우저는 네이티브 애플리케이션이 존재하지 않는다고 판단한다.However, this method does not work properly in the Chrome mobile browser. Unlike the original equipment manufacturing (OEM) browser of the terminal device, the Chrome mobile browser does not lose focus even if the native application is executed. Therefore, whether the native application was executed or not, the Chrome mobile browser determines that the native application does not exist.
상기와 같이 크롬 모바일 브라우저에서는 네이티브 애플리케이션의 호출 및 설치 여부 판단에 문제가 있다.
As described above, in the Chrome mobile browser, there is a problem in determining whether to call and install a native application.
본 발명은 상기한 문제점을 해결하기 위하여 안출된 것으로, 모바일 브라우저에서 네이티브 애플리케이션을 호출하고, 네이티브 애플리케이션의 설치 유무를 간단하게 판단할 수 있는 네이티브 앱 실행을 위한 단말장치 및 그 방법을 제공하는데 있다. The present invention has been conceived to solve the above problems, and is to provide a terminal device and a method for executing a native app that can call a native application from a mobile browser and simply determine whether the native application is installed or not.
본 발명의 다른 목적은 네이티브 애플리케이션을 사용하는 사용자들이 번거롭게 네이티브 애플리케이션이 업데이트 될 때마다 마켓이 들어가 네이티브 애플리케이션을 다시 받고, 설치하는 노력을 하지 않아도 되는 네이티브 앱 실행을 위한 단말장치 및 그 방법을 제공하는데 있다.
Another object of the present invention is to provide a terminal device and a method for executing a native app in which users using a native application do not have to make efforts to enter the market again and install the native application again whenever the native application is updated. have.
상술한 과제를 해결하기 위한 본 발명의 일 측면에 따르면, 네이티브 앱(native application)의 실행 화면을 출력하는 사용자 인터페이스부, 새창 띄우기 객체를 이용하여 네이티브 앱의 스킴(scheme)이 호출된 경우, 상기 스킴을 가진 네이티브 앱을 수행하고, 제1 타이밍 제어함수 및 제2 타이밍 제어함수의 동작 여부를 근거로 해당 네이티브 앱의 설치 유무를 판단하는 웹 브라우저 처리부를 포함하는 네이티브 앱 실행을 위한 단말장치가 제공된다. According to an aspect of the present invention for solving the above-described problem, when a scheme of a native app is called using a user interface unit that outputs an execution screen of a native application and a new window opening object, the A terminal device for executing a native app including a web browser processing unit that executes a native app with a scheme and determines whether a corresponding native app is installed based on whether the first timing control function and the second timing control function operate do.
상기 웹 브라우저 처리부는, 새창 띄우기 객체를 이용하여 네이티브 앱의 스킴(scheme)이 호출된 경우, 상기 스킴을 가진 네이티브 앱을 수행하는 네이티브 앱 수행 처리 모듈, 기 설정된 제1 일정 시간 후에 제2 타이밍 제어 함수가 동작하고 제2 일정 시간 후에 제1타이밍 제어 함수가 동작하는 경우, 해당 네이티브 앱이 설치되어 있다고 판단하고, 제1 일정 시간 후에 제2 타이밍 제어 함수가 동작을 중지하고 제2 일정 시간 후에 제1 타이밍 제어 함수가 동작하는 경우, 해당 네이티브 앱이 설치되어 있지 않다고 판단하는 네이티브 앱 설치 유무 판단모듈을 포함할 수 있다. The web browser processing unit, when a scheme of a native app is called using a new window opening object, a native app execution processing module that executes a native app having the scheme, and a second timing control after a predetermined first predetermined time When the first timing control function operates after a second predetermined time after the function operates, it is determined that the corresponding native app is installed, and the second timing control function stops operation after the first predetermined time 1 When the timing control function operates, it may include a native app installation determination module that determines that the corresponding native app is not installed.
상기 새창 띄위기 객체는 window.open일 수 있다. The new window floating object may be window.open.
상기 제1 타이밍 제어 함수는 새로운 웹 페이지가 생성되거나 네이티브 앱이 호출되어도 멈추지 않고 그대로 수행하는 setTimeout함수이고, 제2 타이밍 제어 함수는 새로운 웹 페이지가 생성되면 수행을 중지하는 requestTimeout 함수일 수 있다. The first timing control function may be a setTimeout function that is executed without stopping even when a new web page is created or a native app is called, and the second timing control function may be a requestTimeout function that stops execution when a new web page is created.
상기 네이티브 앱 수행 처리 모듈은 상기 스킴을 가진 네이티브 앱이 존재하지 않은 경우, 에러 페이지를 열고 새창 닫기 객체를 이용하여 자동으로 에러 페이지를 닫을 수 있다. The native app execution processing module may open an error page and automatically close the error page by using a new window close object when there is no native app having the scheme.
본 발명의 다른 측면에 따르면, 단말장치가 네이티브 앱을 실행하는 방법에 있어서, 새창 띄우기 객체를 이용하여 네이티브 앱의 스킴(scheme)이 호출된 경우, 상기 스킴을 가진 네이티브 앱의 존재 여부를 판단하는 단계, 상기 판단결과 해당 네이티브 앱이 존재하는 경우 해당 네이티브 앱을 수행하고, 존재하지 않은 경우 에러 페이지를 열고 새창 닫기 객체를 이용하여 자동으로 에러 페이지를 닫는 단계를 포함하는 네이티브 앱 실행을 위한 방법이 제공된다. According to another aspect of the present invention, in a method of executing a native app by a terminal device, when a scheme of a native app is called using a new window opening object, determining whether a native app having the scheme exists. Step, As a result of the determination, if the native app exists, the native app is executed, and if it does not exist, a method for executing a native app comprising the step of opening an error page and automatically closing the error page using a new window close object is provided. Is provided.
네이티브 앱 실행을 위한 방법은 기 설정된 제1 일정 시간 후에 제2 타이밍 제어 함수가 동작하고 제2 일정 시간 후에 제1타이밍 제어 함수가 동작하는 경우, 해당 네이티브 앱이 설치되어 있다고 판단하고, 제1 일정 시간 후에 제2 타이밍 제어 함수가 동작을 정지하고 제2 일정 시간 후에 제1 타이밍 제어 함수가 동작하는 경우, 해당 네이티브 앱이 설치되어 있지 않다고 판단하는 단계를 더 포함할 수 있다. The method for executing the native app is, when the second timing control function operates after a preset first predetermined time and the first timing control function operates after the second predetermined time, it is determined that the corresponding native app is installed, and the first schedule When the second timing control function stops operation after a period of time and the first timing control function operates after a second predetermined period of time, determining that the corresponding native app is not installed may be further included.
본 발명의 또 다른 측면에 따르면, 단말장치에 의해 실행될 때, 새창 띄우기 객체를 이용하여 네이티브 앱의 스킴(scheme)이 호출된 경우, 상기 스킴을 가진 네이티브 앱의 존재 여부를 판단하는 단계, 상기 판단결과 해당 네이티브 앱이 존재하는 경우 해당 네이티브 앱을 수행하고, 존재하지 않은 경우 에러 페이지를 열고 새창 닫기 객체를 이용하여 자동으로 에러 페이지를 닫는 단계를 포함하는 네이티브 앱 실행을 위한 방법이 프로그램으로 기록되고 전자 장치에서 판독 가능한 기록매체가 제공된다.
According to another aspect of the present invention, when a scheme of a native app is called using a new window opening object when executed by a terminal device, determining whether a native app with the scheme exists, the determination As a result, if the native app exists, the native app is executed, and if it does not exist, a method for executing the native app including the step of opening the error page and automatically closing the error page using a new window close object is recorded as a program. A recording medium readable by an electronic device is provided.
본 발명에 따르면, 모바일 브라우저에서 새창 띄우기 객체를 이용하여 네이티브 애플리케이션을 쉽게 호출할 수 있고, setTimeout과 requestTimeout의 동작 차이를 이용하여 네이티브 애플리케이션의 설치 유무를 간단하게 파악할 수 있다. According to the present invention, it is possible to easily call a native application by using a new window opening object in a mobile browser, and it is possible to easily determine whether or not a native application is installed by using a difference in operation between setTimeout and requestTimeout.
또한, 네이티브 애플리케이션을 사용하는 사용자들이 번거롭게 네이티브 애플리케이션이 업데이트 될 때마다 마켓이 들어가 네이티브 애플리케이션을 다시 받고, 설치하는 노력을 하지 않아도 되는 효과가 있다.
In addition, there is an effect that users who use the native application do not have to make efforts to install and re-receive the native application by entering the market whenever the native application is updated.
도 1은 본 발명의 실시예에 따른 네이티브 앱 실행을 위한 단말장치의 구성을 나타낸 블록도.
도 2는 도 1에 도시된 웹 브라우저 처리부를 상세히 나타낸 블록도.
도 3은 본 발명의 실시예에 따른 requestTimeout과 setTimeout의 설정 프로그램의 예시도.
도 4는 본 발명의 실시예에 따른 네이티브 앱이 존재하는 경우를 설명하기 위한 도면.
도 5는 본 발명의 실시예에 따른 네이티브 앱이 존재하지 않은 경우를 설명하기 위한 도면.
도 6은 본 발명의 실시예에 따른 단말장치가 네이티브 앱을 실행하기 위한 방법을 나타낸 흐름도.1 is a block diagram showing the configuration of a terminal device for executing a native app according to an embodiment of the present invention.
Figure 2 is a block diagram showing in detail the web browser processing unit shown in Figure 1;
3 is an exemplary diagram of a program for setting requestTimeout and setTimeout according to an embodiment of the present invention.
4 is a view for explaining a case in which a native app exists according to an embodiment of the present invention.
5 is a diagram for explaining a case where a native app does not exist according to an embodiment of the present invention.
6 is a flowchart showing a method for a terminal device to run a native app according to an embodiment of the present invention.
본 발명의 전술한 목적과 기술적 구성 및 그에 따른 작용 효과에 관한 자세한 사항은 본 발명의 명세서에 첨부된 도면에 의거한 이하 상세한 설명에 의해 보다 명확하게 이해될 것이다.Details of the above-described objects and technical configurations of the present invention, as well as operational effects thereof, will be more clearly understood by the following detailed description based on the accompanying drawings in the specification of the present invention.
이하에서는 네이티브 애플리케이션을 네이티브 앱으로 칭하여 설명하기로 한다.Hereinafter, the native application will be referred to as a native app and will be described.
도 1은 본 발명의 실시예에 따른 네이티브 앱 실행을 위한 단말장치의 구성을 나타낸 블록도, 도 2는 도 1에 도시된 웹 브라우저 처리부를 상세히 나타낸 블록도, 도 3은 본 발명의 실시예에 따른 requestTimeout과 setTimeout의 설정 프로그램의 예시도, 도 4는 본 발명의 실시예에 따른 네이티브 앱이 존재하는 경우를 설명하기 위한 도면, 도 5는 본 발명의 실시예에 따른 네이티브 앱이 존재하지 않은 경우를 설명하기 위한 도면이다. 1 is a block diagram showing the configuration of a terminal device for executing a native app according to an embodiment of the present invention, FIG. 2 is a block diagram showing in detail the web browser processing unit shown in FIG. 1, and FIG. An exemplary diagram of a program for setting requestTimeout and setTimeout according to the present invention, FIG. 4 is a diagram for explaining a case where a native app according to an embodiment of the present invention exists, and FIG. 5 is a case where a native app according to an embodiment of the present invention does not exist It is a figure for explaining.
도 1을 참조하면, 네이티브 앱 실행을 위한 단말장치(100)는 통신부(110), 사용자 인터페이스부(120), 저장부(130), 웹 브라우저 처리부(140)를 포함한다. Referring to FIG. 1, a
통신부(110)는 단말장치(100)와 웹 서비스를 제공하는 장치를 통신망을 통해 상호 연결시키는 통신 수단으로서, 예를 들어 이동통신, 위성통신 등의 무선 통신모듈, 인터넷 등의 유선 통신모듈, 와이파이 등의 근거리 무선 통신모듈 등을 포함할 수 있다.The
사용자 인터페이스부(120)는 네이티브 앱(native application)의 실행 화면을 출력한다. 이러한 사용자 인터페이스부(120)는 사용자 명령을 입력받는 입력부 또는 사용자 명령에 따른 동작 결과를 출력하는 출력부일 수 있다. 사용자 인터페이스부(120)가 입력부로 동작하는 경우, 사용자 인터페이스부(120)는 단말 장치(100)의 동작 제어를 위한 사용자 요청을 입력받기 위한 수단으로서, 사용자의 조작에 따라서 사용자의 요청을 전기 신호로 변환한다. 입력부는 사용자로부터 문자, 숫자, 텍스트, 음성, 움직임, 촉각, 시각 등을 입력받는 입력 수단으로 예컨대, 입력 수단은 키보드, 키패드, 터치 스크린, 시각 감지 수단, 촉각 감지 수단, 움직임 감지 수단, 음성 입력 수단 등 다양한 형태로 구현될 수 있다. 사용자 인터페이스부가 출력부(120)로 동작하는 경우, 사용자 인터페이스부(120)는 애플리케이션 구동에 따른 화면 정보를 디스플레이하는 디스플레이 수단, 예를 들어 LCD(Liquid Crystal Display) 또는 OLED(Organic Light Emitting Diodes) 등 소형 평판 디스플레이장치로 구현되는 것이 바람직할 수 있다.The
저장부(130)는 단말장치(100)의 동작 제어 시 필요한 프로그램과, 그 프로그램 수행 중에 발생되는 데이터를 저장한다. 저장부(130)에는 네이티브 앱은 물론 웹 애플리케이션 등이 저장되어 있다. The
웹 브라우저 처리부(140)는 새창 띄우기 객체를 이용하여 네이티브 앱의 스킴(scheme)이 호출된 경우, 상기 스킴을 가진 네이티브 앱을 수행하고, 제1 타이밍 제어함수 및 제2 타이밍 제어함수의 동작 여부를 근거로 해당 네이티브 앱의 설치 유무를 판단한다.When the scheme of the native app is called by using the new window opening object, the web
이러한 웹 브라우저 처리부(140)에 대해 도 2를 참조하면, 웹 브라우저 처리부(140)는 네이티브 앱 수행 처리 모듈(142), 네이티브 앱 설치 유무 판단모듈(144)을 포함한다. Referring to FIG. 2 for the web
네이티브 앱 수행 처리 모듈(142)은 새창 띄우기 객체를 이용하여 네이티브 앱의 스킴(scheme)이 호출된 경우, 상기 스킴을 가진 네이티브 앱을 수행한다. 여기서, 새창 띄우기 객체는 window.open일 수 있고, window.open은 새로운 창을 생성하는 역할을 수행한다. The native app
따라서, window.open을 이용하여 네이티브 앱의 스킴을 호출하면, 새로운 브라우저 페이지(browser page)가 생성된다. 새로 생성된 브라우저 페이지는 사용자가 생성한 페이지가 아니므로 새창 닫기 객체(예컨대, window.close임)를 사용하여 닫아준다. 이때 window.close를 할 수 있는 이유는 크롬 모바일 브라우저에서는 새로운 윈도우(window)가 생성되어도 기존 페이지에서 실행한 setTimeout이 동작하기 때문이다. 즉 window.open으로 네이티브 앱을 호출하기 전에 setTimeout을 통해 일정 시간 이후 window.close를 발생하도록 설정한다. 이와 같은 방식으로 네이티브 앱 수행 처리 모듈(142)은 window.open으로 네이티브 앱을 수행할 수 있다. Therefore, when calling the scheme of the native app using window.open, a new browser page is created. Since the newly created browser page is not a page created by a user, it is closed using a new window close object (eg, window.close). At this time, the reason window.close can be closed is that setTimeout executed in the existing page is operated even if a new window is created in the Chrome mobile browser. In other words, before calling the native app with window.open, set window.close to occur after a certain time through setTimeout. In this way, the native app
네이티브 앱 설치 유무 판단모듈(144)은 제1 타이밍 제어함수 및 제2 타이밍 제어함수의 동작 여부를 근거로 해당 네이티브 앱의 설치 유무를 판단한다. 여기서, 제1 타이밍 제어 함수는 새로운 웹 페이지가 생성되거나 네이티브 앱이 호출되어도 멈추지 않고 그대로 수행하는 setTimeout함수일 수 있고, setTimeout은 일정 시간뒤에 한번 함수를 실행하는 역할을 수행한다. 제2 타이밍 제어 함수는 새로운 웹 페이지가 생성되면 수행을 중지하는 requestTimeout 함수일 수 있다. The native app
네이티브 앱 설치 유무 판단모듈(144)은 기 설정된 제1 일정 시간 후에 제2 타이밍 제어 함수가 동작하고 제2 일정 시간 후에 제1타이밍 제어 함수가 동작하는 경우, 해당 네이티브 앱이 설치되어 있다고 판단하고, 제1 일정 시간 후에 제2 타이밍 제어 함수가 동작을 중지하고 제2 일정 시간 후에 제1 타이밍 제어 함수를 동작하는 경우, 해당 네이티브 앱이 설치되어 있지 않다고 판단한다. When the second timing control function operates after a preset first predetermined time and the first timing control function operates after a second predetermined time, the native app
크롬 모바일 브라우저에서는 setTimeout이 기존 모바일 브라우저와 다르게 동작한다. 따라서 setTimeout을 이용하여 네이티브 앱의 설치 유무는 파악할 수 없고, 본 발명에서는 requestAnimationFrame을 이용하여 네이티브 앱의 설치 유무를 파악한다. 여기서, requestAnimationFrame은 애니메이션(animation) 동작을 위해 사용하는 함수로, 크롬 모바일 브라우저에서 표준으로 지원하고 있다. requestAnimationFrame은 일정 시간마다 주기적으로 동작하면서 애니메이션 효과를 주는데 사용되는 함수이다. 이러한 requestAnimationFrame을 이용하여 setTimeout 함수와 같이 타이머(timer) 함수를 제작할 수 있는데, 그 함수가 바로 requestTimeout 함수 일 수 있다.In Chrome mobile browsers, setTimeout works differently from existing mobile browsers. Therefore, it is not possible to determine whether or not a native app is installed using setTimeout, and in the present invention, it is determined whether or not a native app is installed using requestAnimationFrame. Here, requestAnimationFrame is a function used for animation operation, and is supported by Chrome mobile browser as a standard. requestAnimationFrame is a function that is used to give animation effects while operating periodically at a certain time. Using this requestAnimationFrame, you can create a timer function like the setTimeout function, and that function may be the requestTimeout function.
이처럼 네이티브 앱 설치 유무 판단 모듈(144)은 setTimeout과 requestTimeout의 동작 차이를 이용하여 네이티브 앱의 설치 유무를 파악한다. 크롬 모바일 브라우저에서 setTimeout 함수는 새로운 모바일 페이지가 생성되거나, 네이티브 앱이 호출되어도 멈추지 않고 그대로 수행되는 특성을 가지고 있다. 그러나, requestTimeout은 새로운 모바일 페이지가 생성되면 수행을 중지하는 특성이 있고, 네이티브 앱이 수행되면 setTimeout과 동일하게 동작한다. 따라서 네이티브 앱 설치 유무 판단모듈(144)은 이와 같은 차이점을 이용하여 네이티브 앱의 설치 유무를 판단할 수 있다. 이때, requestTimeout이 발생하는 시점이 setTimeout발생 시점보다 빨라야 한다. As described above, the native app
이하, 웹 브라우저 처리부(140)가 네이티브 앱을 수행 및 설치 유무를 판단하는 방법에 대해 설명하기로 한다. Hereinafter, a method of determining whether the web
웹 브라우저 처리부(140)는 Window.open을 이용하여 네이티브 앱을 수행시킨다. Window.open을 사용하였기 때문에 크롬 모바일 브라우저에서는 새로운 페이지를 열게 되고, 해당 스킴을 가진 네이티브 앱이 있는 경우, 웹 브라우저 처리부(140)는 해당 네이티브 앱을 수행한다. 이때, requestTimeout과 setTimeout의 특성에 따라 네이티브 앱이 수행되어도 멈추지 않고 진행된다. The web
예컨대, 도 3과 같이 requestTimeout과 setTimeout이 설정된 프로그램의 경우, 웹 브라우저 처리부(140)는 도 4와 같이 requestTimeout을 200ms후에 실행하고, setTimeout을 700ms후에 실행한다. 그런 후, 웹 브라우저 처리부(140)는 네이티브 앱을 수행하게 된다. 이때 setTimeoutDate값은 setTimeout이 수행되지 않았기 때문에 undefined로 설정된 상태이다. setTimeoutDate값이 undefined라는 것은 setTimeout이 수행되지 않았다는 것과 같으므로, 두 타이머(timer) 모두 정상동작 하였다는 결론이 나온다. 두 개의 타이머가 정상 동작하는 경우는 네이티브 앱이 수행된 경우이므로, 웹 브라우저 처리부(140)는 네이티브 앱이 실행되었다고 판단한다.For example, in the case of a program in which requestTimeout and setTimeout are set as shown in FIG. 3, the web
만약 네이티브 앱이 존재하지 않는다면, window.open을 이용하여 새로운 페이지를 열었을 때 에러 페이지(error page)가 열리게 되고, window.close를 이용하여 에러 페이지를 닫아주어 사용자 인터페이스상에는 문제가 없다. 이와 같이 네이티브 앱이 없을 경우 에러 페이지는 열리고, requestTimeout은 동작을 멈추게 된다. If there is no native app, an error page is opened when a new page is opened using window.open, and the error page is closed using window.close, so there is no problem in the user interface. If there is no native app like this, an error page opens and requestTimeout stops working.
웹 브라우저 처리부(140)는 네이티브 앱이 존재하지 않으면, 도 5와 같이 requestTimeout과 setTimeout이 동작한다. 도 5를 참조하면, 200ms후에 수행되어야 할 requestTimeout은 새로운 모바일 페이지가 열림에 따라 수행을 멈추고 대기하지만 setTimeout은 크롬 모바일 브라우저의 특성에 따라 계속 실행된다. 따라서 700ms후에 setTimeout이 실행되고, setTimeoutDate에 undefined가 아닌 setTimeout이 실행된 시간이 저장된다. setTimeout함수 안에서 에러 페이지를 클로즈(close)해주고, 기존 모바일 페이지로 돌아오게 된다. 기존 모바일 페이지로 돌아오면 그때서야 requestTimeout이 수행되고, 이때 setTimeoutDate는 값이 있기 때문에 네이티브 앱이 없다는 판단을 내릴 수 있게 된다.When the native app does not exist, the web
이러한 구성을 갖는 단말 장치(100)는 웹 서비스를 제공받기 위해 통신망에 접속 가능한 장치로, 예를 들면, 네비게이션 장치, 노트북, 이동통신 단말, 스마트폰(Smart phone), PMP(Portable Media Player), PDA(Personal Digital Assistant), 타블렛 PC(Tablet PC), 셋탑박스(Set-top box), 스마트 TV 등 다양한 장치가 될 수 있다.The
도 6은 본 발명의 실시예에 따른 단말장치가 네이티브 앱을 실행하기 위한 방법을 나타낸 흐름도이다.6 is a flowchart illustrating a method for a terminal device to execute a native app according to an embodiment of the present invention.
도 6을 참조하면, 단말장치는 새창 띄우기 객체를 이용하여 네이티브 앱의 스킴(scheme)이 호출되면(S602), 상기 스킴을 가진 네이티브 앱의 존재 여부를 판단한다(S604).Referring to FIG. 6, when a scheme of a native app is called using a new window opening object (S602), the terminal device determines whether or not a native app having the scheme exists (S604).
단계 S604의 판단결과 해당 네이티브 앱이 존재하면, 단말장치는 해당 네이티브 앱을 수행한다(S606).As a result of the determination in step S604, if the corresponding native app exists, the terminal device executes the corresponding native app (S606).
단말장치는 제1 타이밍 제어함수 및 제2 타이밍 제어함수의 동작 여부를 근거로 해당 네이티브 앱의 설치 유무를 판단한다(S608). 이때, 단말장치는 기 설정된 제1 일정 시간 후에 제2 타이밍 제어 함수가 동작하고 제2 일정 시간 후에 제1타이밍 제어 함수가 동작하는 경우, 해당 네이티브 앱이 설치되어 있다고 판단하고, 제1 일정 시간 후에 제2 타이밍 제어 함수가 동작을 정지하고 제2 일정 시간 후에 제1 타이밍 제어 함수를 동작하는 경우, 해당 네이티브 앱이 설치되어 있지 않다고 판단한다. The terminal device determines whether a corresponding native app is installed based on whether the first timing control function and the second timing control function operate (S608). At this time, when the second timing control function operates after a preset first predetermined time and the first timing control function operates after a second predetermined time, the terminal device determines that the corresponding native app is installed, and after the first predetermined time When the second timing control function stops the operation and operates the first timing control function after a second predetermined time period, it is determined that the corresponding native app is not installed.
만약, 단계 S604의 판단결과 해당 네이티브 앱이 존재하지 않으면, 단말장치는 에러 페이지를 열고 새창 닫기 객체를 이용하여 에러 페이지를 닫는다(S610).If, as a result of the determination in step S604, the corresponding native app does not exist, the terminal device opens an error page and closes the error page using a new window close object (S610).
한편, 본 발명의 다른 측면에 따르면, 단말장치에 의해 실행될 때, 새창 띄우기 객체를 이용하여 네이티브 앱의 스킴(scheme)이 호출된 경우, 상기 스킴을 가진 네이티브 앱의 존재 여부를 판단하는 단계, 상기 판단결과 해당 네이티브 앱이 존재하는 경우 해당 네이티브 앱을 수행하고, 존재하지 않은 경우 에러 페이지를 열고 새창 닫기 객체를 이용하여 자동으로 에러 페이지를 닫는 단계를 포함하는 네이티브 앱 실행을 위한 방법이 프로그램으로 기록되고 전자 장치에서 판독 가능한 기록매체가 제공된다. Meanwhile, according to another aspect of the present invention, when a scheme of a native app is called using a new window opening object when executed by a terminal device, determining whether a native app with the scheme exists, the As a result of the judgment, if the native app exists, the native app is executed, and if it does not exist, the method for executing the native app including the step of opening the error page and automatically closing the error page using a new window close object is recorded as a program. And a recording medium readable by an electronic device is provided.
이러한 네이티브 앱 실행을 위한 방법은 프로그램으로 작성 가능하며, 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 네이티브 앱 실행을 위한 방법에 관한 프로그램은 전자장치가 읽을 수 있는 정보저장매체(Readable Media)에 저장되고, 전자장치에 의하여 읽혀지고 실행될 수 있다.A method for executing such a native app can be written as a program, and codes and code segments constituting the program can be easily inferred by a programmer in the art. In addition, a program relating to a method for executing a native app is stored in an information storage medium that can be read by an electronic device, and can be read and executed by the electronic device.
이와 같이, 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
As such, those skilled in the art to which the present invention pertains will be able to understand that the present invention can be implemented in other specific forms without changing the technical spirit or essential features thereof. Therefore, the embodiments described above are illustrative in all respects and should be understood as non-limiting. The scope of the present invention is indicated by the claims to be described later rather than the detailed description, and all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present invention. do.
본 발명은 네이티브 앱 실행을 위한 단말장치 및 그 방법을 제공함으로써, 모바일 브라우저에서 새창 띄우기 객체를 이용하여 네이티브 앱을 쉽게 호출할 수 있고, setTimeout과 requestTimeout의 동작 차이를 이용하여 네이티브 앱의 설치 유무를 간단하게 파악할 수 있다.
The present invention provides a terminal device for executing a native app and a method thereof, so that a native app can be easily called by using a new window opening object in a mobile browser, and the presence or absence of a native app is determined by using the difference in operation between setTimeout and requestTimeout. It can be easily grasped.
100 : 단말 장치 110 : 통신부
120 : 사용자 인터페이스부 130 : 저장부
140 : 웹 브라우저 처리부 142 : 네이티브 앱 수행 처리 모듈
144 : 네이티브 앱 설치유무 판단모듈100: terminal device 110: communication unit
120: user interface unit 130: storage unit
140: web browser processing unit 142: native app execution processing module
144: Native app installation determination module
Claims (8)
새창 띄우기 객체를 이용하여 네이티브 앱의 스킴(scheme)이 호출된 경우, 상기 스킴을 가진 네이티브 앱을 수행하고, 제1 타이밍 제어함수 및 제2 타이밍 제어함수의 동작 여부를 근거로 해당 네이티브 앱의 설치 유무를 판단하는 웹 브라우저 처리부;
를 포함하는 네이티브 앱 실행을 위한 단말장치.A user interface unit that outputs an execution screen of a native application; And
When the scheme of a native app is called using a new window launch object, the native app with the scheme is executed, and the native app is installed based on whether the first timing control function and the second timing control function operate. A web browser processing unit that determines the presence or absence;
Terminal device for running a native app comprising a.
상기 웹 브라우저 처리부는,
새창 띄우기 객체를 이용하여 네이티브 앱의 스킴(scheme)이 호출된 경우, 상기 스킴을 가진 네이티브 앱을 수행하는 네이티브 앱 수행 처리 모듈; 및
기 설정된 제1 일정 시간 후에 제2 타이밍 제어 함수가 동작하고 제2 일정 시간 후에 제1타이밍 제어 함수가 동작하는 경우, 해당 네이티브 앱이 설치되어 있다고 판단하고, 제1 일정 시간 후에 제2 타이밍 제어 함수가 동작을 중지하고 제2 일정 시간 후에 제1 타이밍 제어 함수가 동작하는 경우, 해당 네이티브 앱이 설치되어 있지 않다고 판단하는 네이티브 앱 설치 유무 판단모듈을 포함하는 것을 특징으로 하는 네이티브 앱 실행을 위한 단말장치.The method of claim 1,
The web browser processing unit,
A native app execution processing module that executes a native app having the scheme when a scheme of a native app is called using a new window opening object; And
When the second timing control function operates after a preset first predetermined time and the first timing control function operates after a second predetermined time, it is determined that the corresponding native app is installed, and after the first predetermined time, the second timing control function A terminal device for executing a native app, comprising: a native app installation determination module that determines that the corresponding native app is not installed when the first timing control function operates after a second predetermined time after stopping the operation .
상기 제1 타이밍 제어 함수는 새로운 웹 페이지가 생성되거나 네이티브 앱이 호출되어도 멈추지 않고 그대로 수행하는 setTimeout함수이고, 제2 타이밍 제어 함수는 새로운 웹 페이지가 생성되면 수행을 중지하는 requestTimeout 함수인 것을 특징으로 하는 네이티브 앱 실행을 위한 단말장치.The method of claim 1,
The first timing control function is a setTimeout function that is executed without stopping even when a new web page is created or a native app is called, and the second timing control function is a requestTimeout function that stops execution when a new web page is created. Terminal device for running native apps.
새창 띄우기 객체를 이용하여 네이티브 앱의 스킴(scheme)이 호출된 경우, 상기 스킴을 가진 네이티브 앱의 존재 여부를 판단하는 단계; 및
판단한 결과 해당 네이티브 앱이 존재하는 경우 상기 네이티브 앱을 수행하고, 해당 네이티브 앱이 존재하지 않은 경우 에러 페이지를 열고 새창 닫기 객체를 이용하여 자동으로 에러 페이지를 닫는 단계; 를 포함하되,
상기 네이티브 앱의 존재 여부를 판단하는 단계는,
기 설정된 제1 일정 시간 후에 제2 타이밍 제어 함수가 동작하고 제2 일정 시간 후에 제1 타이밍 제어 함수가 동작하는 경우, 해당 네이티브 앱이 설치되어 있다고 판단하고,
제1 일정 시간 후에 제2 타이밍 제어 함수가 동작을 정지하고, 제2 일정 시간 후에 제1 타이밍 제어 함수가 동작하는 경우, 해당 네이티브 앱이 설치되어 있지 않다고 판단하는 것을 특징으로 하는 네이티브 앱 실행을 위한 방법.In a method for a terminal device to run a native app,
Determining whether a native app having the scheme exists when a scheme of a native app is called using a new window opening object; And
Executing the native app if the native app exists as a result of the determination, and opening an error page if the native app does not exist and automatically closing the error page using a new window close object; Including,
The step of determining whether the native app exists,
When the second timing control function operates after a preset first predetermined time and the first timing control function operates after a second predetermined time, it is determined that the corresponding native app is installed,
When the second timing control function stops operation after a first predetermined time and the first timing control function operates after a second predetermined time, it is determined that the corresponding native app is not installed. Way.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130117800A KR102181906B1 (en) | 2013-10-02 | 2013-10-02 | Terminal apparatus for implementing native application and thereof method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130117800A KR102181906B1 (en) | 2013-10-02 | 2013-10-02 | Terminal apparatus for implementing native application and thereof method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150039344A KR20150039344A (en) | 2015-04-10 |
KR102181906B1 true KR102181906B1 (en) | 2020-11-23 |
Family
ID=53029665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130117800A KR102181906B1 (en) | 2013-10-02 | 2013-10-02 | Terminal apparatus for implementing native application and thereof method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102181906B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004318459A (en) | 2003-04-16 | 2004-11-11 | Alpine Electronics Inc | Life time management method for native application in virtual system and computer program |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020043372A (en) * | 2000-12-04 | 2002-06-10 | 정영수 | Method and system for closing a new window automatically on a web-browser |
KR101482150B1 (en) * | 2010-05-10 | 2015-01-14 | 에스케이플래닛 주식회사 | Web application executable device and web application management method therof |
KR101270439B1 (en) | 2011-08-11 | 2013-06-03 | 라온시큐어(주) | Method for Intercommunications Between Browser and App Using Vertual Webserver in Mobile Terminal |
-
2013
- 2013-10-02 KR KR1020130117800A patent/KR102181906B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004318459A (en) | 2003-04-16 | 2004-11-11 | Alpine Electronics Inc | Life time management method for native application in virtual system and computer program |
Non-Patent Citations (1)
Title |
---|
NAVER Developers: 네이버 앱 URL Scheme 연동. 2012.12.13. |
Also Published As
Publication number | Publication date |
---|---|
KR20150039344A (en) | 2015-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3848799A1 (en) | Application page presentation method and apparatus, storage medium, and electronic device | |
US9077770B2 (en) | Mobile web app infrastructure | |
CN104951326B (en) | Webpage access method and device | |
US20100281475A1 (en) | System and method for mobile smartphone application development and delivery | |
US9934007B2 (en) | Method for operating tool in working environment and machine using such method | |
US20130036196A1 (en) | Method and system for publishing template-based content | |
CN107122172B (en) | Light application processing method, light application running method, light application equipment and light application equipment | |
US10656955B1 (en) | Modifying readable and focusable elements on a page during execution of automated scripts | |
US20140143763A1 (en) | Method and System to develop operating system agnostic software applications for mobile devices using a virtual machine | |
CN111279300B (en) | Providing a rich electronic reading experience in a multi-display environment | |
TW201525836A (en) | Method and device for controlling feedback of web pages | |
CN104052769A (en) | Method, apparatus and system for updating resources contained by mobile terminal application | |
US20170039076A1 (en) | Adjusting tap position on touch screen | |
Łobaziewicz | The design of B2B system user interface for mobile systems | |
CN107895120B (en) | Data processing method and device in cross-platform application, electronic equipment and storage medium | |
KR102181630B1 (en) | Apparatus and method for application emulation | |
KR20140148470A (en) | Associating content with a graphical interface window using a fling gesture | |
KR102181906B1 (en) | Terminal apparatus for implementing native application and thereof method | |
US20130307871A1 (en) | Integrating Remote Content with Local Content | |
KR20190020436A (en) | Method for performing hybrid app, user terminal and recording medium | |
Nagesh et al. | Cross-platform mobile application development | |
US20160147741A1 (en) | Techniques for providing a user interface incorporating sign language | |
KR101553539B1 (en) | Dynamic link providing method and computer readable storage medium for program therefor | |
CN111111206B (en) | Game running method and device and terminal equipment | |
WO2016000635A1 (en) | Method for operating tool in working environment and machine using such method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |