KR102166589B1 - 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 방법 및 장치, 그리고 전자 디바이스 - Google Patents

웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 방법 및 장치, 그리고 전자 디바이스 Download PDF

Info

Publication number
KR102166589B1
KR102166589B1 KR1020197011095A KR20197011095A KR102166589B1 KR 102166589 B1 KR102166589 B1 KR 102166589B1 KR 1020197011095 A KR1020197011095 A KR 1020197011095A KR 20197011095 A KR20197011095 A KR 20197011095A KR 102166589 B1 KR102166589 B1 KR 102166589B1
Authority
KR
South Korea
Prior art keywords
application
response
port number
native application
web page
Prior art date
Application number
KR1020197011095A
Other languages
English (en)
Other versions
KR20190049874A (ko
Inventor
웨이 왕
Original Assignee
알리바바 그룹 홀딩 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 알리바바 그룹 홀딩 리미티드 filed Critical 알리바바 그룹 홀딩 리미티드
Publication of KR20190049874A publication Critical patent/KR20190049874A/ko
Application granted granted Critical
Publication of KR102166589B1 publication Critical patent/KR102166589B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9558Details of hyperlinks; Management of linked annotations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44536Selecting among different versions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/543Local

Abstract

웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 방법 및 장치 및 전자 디바이스가 개시된다. 방법은 사용자가 발행한 웹 페이지 액세스 요청에 기초하여 웹 서버에 의해 복귀된 제1 응답을 수신하는 단계(S101); 제1 응답이 애플리케이션의 명칭, 다운로드 링크 및 버전 정보를 포함할 때 포트 번호를 등록된 포트로부터 집합적으로 선택하고 그리고 포트 번호를 가진 액세스 요청을 네이티브 단말기의 네이티브 서버에 대해 발행하는 단계(S102); 네이티브 서버에 의해 복귀된, 네이티브 애플리케이션의 명칭 및 버전 정보를 가진, 제2 응답이 수신될 때, 명칭에 따라, 제2 응답의 네이티브 애플리케이션과 제1 응답의 애플리케이션이 동일한지를 결정하는 단계(S103); 및 애플리케이션이 동일하다면, 애플리케이션의 다운로드 링크의 작동 프롬프트를 제1 응답에 기초하여 웹 페이지를 렌더링하는 과정에서 네이티브 애플리케이션의 버전 정보 및 애플리케이션의 버전 정보에 따라 조정하는 단계(S104)를 포함한다. 웹 페이지와 네이티브 애플리케이션 간의 통신이 실현되어, 사용자 경험을 개선시킨다.

Description

웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 방법 및 장치, 그리고 전자 디바이스
본 출원은 통신 기술의 분야, 구체적으로, 웹 페이지와 네이티브 애플리케이션(요약해서, "네이티브 앱") 간의 통신을 실현하기 위한 방법, 장치, 전자 디바이스에 관한 것이다.
일반적으로, 새롭게 개발된 애플리케이션(요약해서, "앱")은 보통 온라인에서 프로모션(promote)되어야 한다. 프로모션은 보통 프로모션 사진(예컨대, 배너 사진 또는 2차원 코드)을 웹 페이지에 배치하고 그리고 이어서 다운로드 프롬프트(작동 프롬프트의 유형)를 가진 링크를 프로모션 사진에 직접적으로 부가하는 방식으로 수행된다. 사용자가 배너를 클릭하거나 또는 2차원 코드를 스캔할 때, 다운로드 프롬프트를 가진 링크가 팝업된다. 이러한 다운로드 프롬프트는 분명히 이미 애플리케이션을 설치한 사람에게 좋지 않다. 그러나, 현재, 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하는 것은 일반적으로 불가능하다. 따라서, 브라우저는 사용자 경험을 개선시키도록 사용자 단말기의 실제 애플리케이션 설치 상태에 따라 맞춤형 방식으로 사용자-요청한 웹 페이지의 애플리케이션에 대한 작동 프롬프트를 조정할 수 없다(예를 들어, 사용자 단말기가 요청한 웹 페이지의 애플리케이션의 버전이 사용자 단말기에 이미 설치되어 있다면, 웹 페이지의 애플리케이션의 작동 프롬프트는 "다운로드"로부터 "설치됨"으로 조정될 수 있고 이어서 사용자에게 보여질 수 있다).
기술의 진보로, 브라우저는 일부 경우에서 웹 페이지와 네이티브 애플리케이션 간의 간접적인 통신을 실현할 수 있다. 예를 들어, 브라우저는 먼저 자료 위치 주소 스키마(uniform resource locator schema: "url 스키마")에 의해 네이티브 애플리케이션을 호출하려고 시도할 수 있고, 그리고 사용자 식별자(user identifier: "uid")를 url 스키마에 부가할 수 있다. url 스키마를 수신한 후, 네이티브 애플리케이션은 브라우저로 전송되어야 하는 uid 및 정보를 서버로 전송한다. 서버는 uid 및 정보를 저장한다. 브라우저는 uid에 따라 서버에 대한 폴링(polling)을 개시시킨다. 서버는 uid와의 매칭을 통해 정보를 획득하고, 그리고 이어서 정보를 브라우저로 전송하면서 uid의 정보를 삭제한다.
그러나, 앞서 말한 간접적인 통신 방식은 네이티브 애플리케이션이 url 스키마에 등록되고 그리고 또한 브라우저가 url 스키마를 지원하길 요구하고; 그렇지 않으면, 네이티브 애플리케이션은 호출될 수 없다. 또한, 네이티브 애플리케이션이 웹 페이지로 전송되어야 하는 uid 및 정보를 서버로 전송하는 과정 및 웹 페이지가 uid를 서버로부터 획득하는 과정 둘 다는 네트워크의 지원을 필요로 한다. 네트워크가 비정상적이거나 또는 좋지 못한 상태라면, uid의 전송이 실패되어, 전 과정의 중단을 발생시키고; 게다가, 이러한 중단은 웹 페이지, 네이티브 애플리케이션 및 서버 중 어느 하나에 의해 알 수 없고, 따라서 사용자 경험에 또한 영향을 준다.
본 출원의 실시형태의 목적은 사용자 경험을 개선시키도록 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 방법, 장치 및 전자 디바이스를 제공하는 것이다.
앞서 말한 목적을 달성하기 위해서, 하나의 양상에 따르면, 본 출원의 실시형태는 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 방법을 제공하고, 네이티브 애플리케이션은 사전에, 로컬 단말기의 로컬 서버에서, 특정한 포트 번호와 바인딩된(bound) url 서비스를 작동시키고, 그리고 방법은,
사용자가 개시한 웹 페이지 액세스 요청에 응답하여 웹 서버에 의해 복귀되는 제1 응답을 수신하는 단계;
제1 응답이 애플리케이션의 식별자, 다운로드 링크 및 버전 정보를 포함할 때, 포트 번호를 등록된 포트 세트로부터 선택하고 그리고 선택된 포트 번호를 가진 액세스 요청을 로컬 서버에 대해 개시시키는 단계;
로컬 서버에 의해 복귀된, 네이티브 애플리케이션의 식별자 및 버전 정보를 가진, 제2 응답을 수신할 때, 식별자에 따라, 제2 응답의 네이티브 애플리케이션과 제1 응답의 애플리케이션이 동일한지를 결정하는 단계; 및
제2 응답의 네이티브 애플리케이션과 제1 응답의 애플리케이션이 동일하다면, 애플리케이션의 다운로드 링크의 작동 프롬프트를 제1 응답에 기초하여 웹 페이지를 렌더링하는 과정에서 네이티브 애플리케이션의 버전 정보 및 애플리케이션의 버전 정보에 따라 조정하는 단계를 포함한다.
또 다른 양상에서, 본 출원의 실시형태는 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 장치를 더 제공하고, 네이티브 애플리케이션은 사전에, 로컬 단말기의 로컬 서버에서, 특정한 포트 번호와 바인딩된 url 서비스를 작동시키고, 그리고 장치는,
사용자가 개시한 웹 페이지 액세스 요청에 응답하여 웹 서버에 의해 복귀되는 제1 응답을 수신하도록 구성된 제1 응답 수신 모듈;
제1 응답이 애플리케이션의 식별자, 다운로드 링크 및 버전 정보를 포함할 때, 포트 번호를 등록된 포트 세트로부터 선택하고 그리고 선택된 포트 번호를 가진 액세스 요청을 로컬 단말기에 위치된 로컬 서버에 대해 개시시키도록 구성된 로컬 액세스 개시 모듈;
로컬 서버에 의해 복귀된, 네이티브 애플리케이션의 식별자 및 버전 정보를 가진, 제2 응답을 수신할 때, 식별자에 따라, 제2 응답의 네이티브 애플리케이션과 제1 응답의 애플리케이션이 동일한지를 결정하도록 구성된 애플리케이션 식별자 매칭 모듈; 및
제2 응답의 네이티브 애플리케이션과 제1 응답의 애플리케이션이 동일하다면, 제1 응답에 기초하여 웹 페이지를 렌더링하는 과정에서 네이티브 애플리케이션의 버전 정보 및 애플리케이션의 버전 정보에 따라 애플리케이션의 다운로드 링크의 작동 프롬프트를 조정하도록 구성된 작동 프롬프트 조정 모듈을 포함한다.
여전히 또 다른 양상에서, 본 출원의 실시형태는 프로세서; 및
메모리를 포함하는 전자 디바이스를 더 제공하고, 메모리는 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 장치를 저장하도록 구성되고, 그리고 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 장치는, 프로세서에 의해 실행될 때,
사용자가 개시한 웹 페이지 액세스 요청에 응답하여 웹 서버에 의해 복귀되는 제1 응답을 수신하는 단계;
제1 응답이 애플리케이션의 식별자, 다운로드 링크 및 버전 정보를 포함할 때, 포트 번호를 등록된 포트 세트로부터 선택하고 그리고 선택된 포트 번호를 가진 액세스 요청을 로컬 단말기에 위치된 로컬 서버에 대해 개시시키는 단계;
로컬 서버에 의해 복귀된, 네이티브 애플리케이션의 식별자 및 버전 정보를 가진, 제2 응답을 수신할 때, 식별자에 따라, 제2 응답의 네이티브 애플리케이션과 제1 응답의 애플리케이션이 동일한지를 결정하는 단계; 및
제2 응답의 네이티브 애플리케이션과 제1 응답의 애플리케이션이 동일하다면, 애플리케이션의 다운로드 링크의 작동 프롬프트를 제1 응답에 기초하여 웹 페이지를 렌더링하는 과정에서 네이티브 애플리케이션의 버전 정보 및 애플리케이션의 버전 정보에 따라 조정하는 단계를 수행한다.
본 출원의 실시형태에서, 네이티브 애플리케이션은 로컬 서버에서 사전에, 특정한 포트 번호와 바인딩된 url 서비스를 작동시킨다. 따라서, 사용자가 개시한 웹 페이지 액세스 요청에 응답하여 웹 서버에 의해 복귀되는 제1 응답이 수신되고 그리고 제1 응답이 애플리케이션의 식별자, 다운로드 링크, 및 버전 정보를 포함할 때, 브라우저 클라이언트가 포트 번호를 등록된 포트 세트로부터 선택할 수 있고 그리고 포트 번호를 가진 액세스 요청을 로컬 단말기의 로컬 서버로 전송할 수 있어서, 네이티브 애플리케이션의 데이터를 획득한다. 액세스 요청이 가진 포트 번호가 네이티브 애플리케이션과 이미 바인딩된 포트에 속한다면, 브라우저 클라이언트는 네이티브 애플리케이션의 명칭 및 버전 정보를 획득할 수 있어서, 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현한다. 따라서, 브라우저 클라이언트가 맞춤형 방식으로, 사용자가 요청한 웹 페이지의 다양한 애플리케이션의 다운로드 링크의 작동 프롬프트를 조정할 수 있어서, 사용자 경험을 개선시킨다. 게다가, 본 출원의 실시형태가 url 스키마 등록을 요구하지 않고 그리고 네트워크 지원 없이 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현할 수 있어서, 사용자 경험을 더 개선시킨다.
본 명세서에 예시된 첨부된 도면은 본 출원의 실시형태의 추가의 이해를 제공하도록 사용되고 그리고 본 출원의 실시형태의 일부를 이루지만, 본 출원의 실시형태를 제한하지 않는다.
도 1은 본 출원의 일부 실시형태에 따른, 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 방법의 흐름도;
도 2는 본 출원의 다른 실시형태에 따른, 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 방법의 흐름도;
도 3은 본 출원의 일부 실시형태에 따른, 제시된 웹 페이지의 개략도(웹 페이지의 애플리케이션 부분만이 도시되는 경우);
도 4는 본 출원의 일부 실시형태에 따른, 전자 디바이스의 구조 블록도; 및
도 5는 본 출원의 일부 실시형태에 따른, 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 장치의 구조 블록도.
본 출원의 실시형태의 목적, 기술적 해결책 및 이점을 더 분명하게 하기 위해서, 본 출원의 실시형태는 실시형태 및 첨부된 도면을 참조하여 아래에 상세히 더 설명된다. 본 출원의 실시형태에서 이들의 실시예 및 설명은 단지 본 출원의 실시형태를 예시하기 위해 사용되고, 그리고 본 출원의 실시형태를 제한하고자 의도되지 않는다.
본 출원의 실시형태의 구현예는 첨부된 도면을 참조하여 아래에 더 상세히 설명된다.
도 1을 참조하면, 본 출원의 일부 실시형태에 따라 네이티브 애플리케이션에 의해 url 서비스를 작동시키기 위한 방법은 다음의 단계를 포함한다:
단계(S101): 사용자가 개시한 웹 페이지 액세스 요청에 응답하여 웹 서버에 의해 복귀되는 제1 응답을 수신한다.
단계(S102): 제1 응답이 애플리케이션의 명칭, 다운로드 링크 및 버전 정보를 포함할 때, 포트 번호를 등록된 포트 세트로부터 선택하고 그리고 선택된 포트 번호를 가진 액세스 요청을 로컬 단말기의 로컬 서버로 전송한다.
본 출원의 실시형태에서, 요청된 웹 페이지가 프로모션된 애플리케이션을 갖는다면, 웹 서버에 의해 복귀된 제1 응답은 일반적으로 애플리케이션의 명칭, 다운로드 링크 및 버전 정보를 포함한다. 다운로드 링크는 작동 프롬프트를 가진 가상 버튼일 수도 있고, 그리고 작동 프롬프트는 예를 들어, "다운로드"일 수도 있다.
본 출원의 실시형태에서, 서버의 논리 포트의 포트 번호는 TCP/IP 프로토콜에 따라 0 내지 65535의 값 범위에 속한다. 포트는 잘 알려진 포트(잘 알려진 포트의 포트 번호는 0 내지 1023의 값 범위에 속함), 동적 포트(동적 포트의 포트 번호는 49152 내지 65535의 값 범위에 속함) 및 등록된 포트(등록된 포트의 포트 번호는 1024 내지 49151의 값 범위에 속함)로 더 분류될 수 있다. 일반적으로, 등록된 포트만은 특정한 서비스에 고정적으로 할당될 수 있다. 따라서, 본 출원의 실시형태에서, 포트 번호 선택 동안, 브라우저 클라이언트는 포트 번호를 등록된 포트 세트(즉, 1024 내지 49151의 범위)로부터 순서에 따라 또는 임의로 선택할 수 있다. 선택된 포트 번호는 바인딩되지 않은 포트 번호 또는 이미 바인딩된 포트 번호일 수도 있다.
본 출원의 실시형태에서, 바인딩은 네이티브 애플리케이션이 사전에, 로컬 단말기에서, 특정한 포트 번호와 바인딩된 url 서비스를 작동시킨다는 것을 의미한다. 네이티브 애플리케이션은 로컬 단말기에 이미 설치된 애플리케이션을 나타낸다.
실시형태의 실시예에서, 사전에, 로컬 단말기에서, 특정한 포트 번호와 바인딩된 url 서비스를 작동시키는 것은 다음의 방식으로 구현될 수도 있다:
제1 기동 과정 중 언제든지(시간은 사전에 지정될 수도 있음), 네이티브 애플리케이션은 등록된 포트와의 바인딩을 요청하는 url 서비스의 명령어를 로컬 서버로 전송한다;
등록된 포트 세트 내 바인딩되지 않은 포트 번호가 여전히 있다면, 로컬 서버는 포트 번호를 바인딩되지 않은 포트 번호로부터 선택하고 그리고 포트 번호와 바인딩된 url 서비스를 네이티브 애플리케이션에 대해 작동시키거나; 또는
등록된 포트 세트 내 모든 포트 번호가 바인딩된다면, 로컬 서버는 현재의 바인딩이 실패되었는지를 확인한다.
실시형태의 또 다른 실시예에서, 사전에, 로컬 단말기에서, 특정한 포트 번호와 바인딩된 url 서비스를 작동시키는 것은 또한 다음의 방식으로 구현될 수도 있다:
제1 기동 과정 중 언제든지(시간은 사전에 지정될 수도 있음), 네이티브 애플리케이션은 등록된 포트와의 바인딩을 요청하는 url 서비스의 명령어를 로컬 서버로 전송하고, 명령어는 바인딩될 목적하는 포트 번호를 갖고, 그리고 바인딩될 목적하는 포트 번호는 애플리케이션의 개발자에 의해 애플리케이션에 사전-지정된다;
바인딩될 목적하는 포트 번호가 아직 바인딩되지 않았다면, 로컬 서버는 포트 번호와 바인딩된 url 서비스를 네이티브 애플리케이션에 대해 작동시키거나;
바인딩될 목적하는 포트 번호가 바인딩되고 그리고 등록된 포트 세트 내 바인딩되지 않은 포트 번호가 여전히 있다면, 로컬 서버는 포트 번호를 바인딩되지 않은 포트 번호로부터 선택하고 그리고 선택된 포트 번호와 바인딩된 url 서비스를 네이티브 애플리케이션에 대해 작동시키거나; 또는
등록된 포트 세트 내 모든 포트 번호가 바인딩된다면, 로컬 서버는 현재의 바인딩이 실패되었는지를 확인한다.
실시형태의 또 다른 실시예에서, 사전에, 로컬 단말기에서, 특정한 포트 번호와 바인딩된 url 서비스를 작동시키는 것은 다음의 방식으로 더 구현될 수도 있다:
시스템은 현재의 애플리케이션의 설치 과정 동안 현재의 애플리케이션의 설치 상태를 모니터링한다;
현재의 애플리케이션이 성공적으로 설치되는 경우의 검출 시, 시스템이 바인딩 명령어를 로컬 서버로 전송하도록 트리거링되어 특정한 포트 번호와 바인딩된 url 서비스를 현재의 애플리케이션에 대해 작동시킨다;
등록된 포트 세트 내 바인딩되지 않은 포트 번호가 여전히 있다면, 로컬 서버는 포트 번호를 바인딩되지 않은 포트 번호로부터 선택하고 그리고 선택된 포트 번호와 바인딩된 url 서비스를 현재의 애플리케이션에 대해 작동시키거나; 또는
등록된 포트 세트 내 모든 포트 번호가 바인딩된다면, 로컬 서버는 현재의 바인딩이 실패되었는지를 확인한다.
앞서 말한 바인딩 방식 중 임의의 하나에서, 특정한 포트 번호와 바인딩된 url 서비스가 네이티브 애플리케이션에 대해 작동된 후, 로컬 서버는 네이티브 애플리케이션과 대응하는 바인딩된 포트 간의 대응 표(아래의 표 1에 나타낸 바와 같음)를 저장한다는 것에 유의해야 한다;
애플리케이션 명칭 애플리케이션 1 애플리케이션 2 애플리케이션 3 애플리케이션 4 애플리케이션 5
바인딩된 포트 7683 1029 6542 4712 4623
버전 정보 1.15.110.1221 2.16.111.1222 3.17.112.1223 4.18.113.1224 5.19.114.1225
이 표는 네이티브 애플리케이션에 대응하는 버전 정보를 더 기록한다. 일부 네이티브 애플리케이션이 바인딩 후 업데이트된다면, 로컬 서버는 이에 대응하여 표 내 버전 정보를 업데이트한다. 업데이트된 네이티브 애플리케이션의 명칭은 변화되지 않은 채로 남아 있다(예를 들어, 알리페이(Alipay)는 업데이트 후 여전히 알리페이로 지칭된다). 따라서, 네이티브 애플리케이션이 업데이트된다면, 새로운 포트 번호와 네이티브 애플리케이션을 바인딩하는 것이 불필요하다.
앞서 말한 바인딩 방식 중 임의의 하나에서, 로컬 단말기의 네이티브 애플리케이션이 미설치된다면, 시스템은 미설치 과정 동안 네이티브 애플리케이션의 미설치 상태를 모니터링할 것임에 부가적으로 유의해야 한다.
특정한 포트 번호와 바인딩된 네이티브 애플리케이션이 성공적으로 설치되지 않은 경우의 검출 시, 시스템이 네이티브 애플리케이션과 바인딩된 포트 번호를 바인딩 해제하기 위한 바인딩 해제 명령어를 로컬 서버로 전송하도록 트리거링되어, 사용 중인 포트 리소스를 해제한다. 바인딩 해제 명령어를 수신한 후, 로컬 서버는 애플리케이션으로부터 대응하는 포트 번호를 바인딩 해제하고 그리고 앞서 말한 대응 표를 업데이트한다. 앞서 말한 대응 표를 업데이트하는 것은 대응 표로부터 미설치된 애플리케이션의 명칭에 대응하는 전체 데이터 열을 삭제할 수도 있거나 또는 명칭을 제외하고 대응 표로부터 미설치된 애플리케이션의 명칭에 대응하는 데이터 열 내 모든 데이터를 삭제할 수도 있다.
단계(S103): 로컬 서버에 의해 복귀된 제2 응답을 수신할 때, 제2 응답의 네이티브 애플리케이션과 제1 응답의 애플리케이션이 동일한지를 결정하고, 제2 응답은 네이티브 애플리케이션의 명칭 및 버전 정보를 갖는다.
단계(S104): 제2 응답의 네이티브 애플리케이션과 제1 응답의 애플리케이션이 동일하다면, 애플리케이션의 다운로드 링크의 작동 프롬프트를 제1 응답에 기초하여 웹 페이지를 렌더링하는 과정에서 네이티브 애플리케이션의 버전 정보 및 애플리케이션의 버전 정보에 따라 조정한다.
본 출원의 실시형태에서, 애플리케이션이 동일하다는 것은 애플리케이션이 동일한 명칭을 갖는다는 것을 의미한다. 예를 들어, 로컬 단말기의 네이티브 애플리케이션이 알리페이라면, 네이티브 애플리케이션과 동일한 제1 응답의 애플리케이션이 또한 알리페이이다.
본 출원의 실시형태에서, 등록된 포트를 갖고 그리고 로컬 단말기의 로컬 서버에 대해 개시되는 액세스 요청은 예를 들어, 다음의 형태, http://로컬 단말기 IP + 등록된 포트 번호일 수도 있다.
본 출원의 일부 실시형태에서, 애플리케이션 명칭이 애플리케이션 식별자로서 사용되고; 본 출원의 다른 실시형태에서, 문자열 등이 애플리케이션 식별자로서 사용될 수도 있다.
본 출원의 실시형태는 브라우저 클라이언트에 의해 또는 유사한 기능을 가진 다른 모듈 또는 애플리케이션에 의해 실행될 수도 있다.
본 출원의 실시형태에서, 네이티브 애플리케이션은 로컬 서버에서 사전에, 특정한 포트 번호와 바인딩된 url 서비스를 작동시킨다. 따라서, 사용자가 개시한 웹 페이지 액세스 요청에 응답하여 웹 서버에 의해 복귀되는 제1 응답이 수신되고 그리고 제1 응답이 애플리케이션의 식별자, 다운로드 링크, 및 버전 정보를 포함할 때, 브라우저 클라이언트가 포트 번호를 등록된 포트 세트로부터 선택할 수 있고 그리고 선택된 포트 번호를 가진 액세스 요청을 로컬 단말기의 로컬 서버로 전송할 수 있어서, 네이티브 애플리케이션의 데이터를 획득한다. 액세스 요청이 가진 포트 번호가 네이티브 애플리케이션과 이미 바인딩된 포트에 속한다면, 브라우저 클라이언트는 네이티브 애플리케이션의 명칭 및 버전 정보를 획득할 수 있어서, 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현한다. 따라서, 브라우저 클라이언트가 맞춤형 방식으로, 사용자가 요청한 웹 페이지의 다양한 애플리케이션의 다운로드 링크의 작동 프롬프트를 조정할 수 있어서, 사용자 경험을 개선시킨다. 게다가, 본 출원의 실시형태가 url 스키마 등록을 요구하지 않고 그리고 네트워크 지원 없이 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현할 수 있어서, 사용자 경험을 더 개선시킨다.
본 출원의 실시형태의 기술적 해결책은 아래에 상세히 설명된다.
도 2를 참조하면, 본 출원의 다른 실시형태에 따른, 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 방법이 다음의 단계를 포함한다:
단계(S201): 사용자가 브라우저 클라이언트에 대한 웹 페이지 액세스 작동을 개시시킨다. 웹 페이지는 사용자가 열기 원하는 임의의 웹 페이지일 수도 있다. 액세스 작동은 사용자에 의해, url 어드레스를 브라우저 클라이언트의 어드레스 바에 입력할 수도 있고 그리고 웹 페이지 링크를 클릭할 수도 있고, 등할 수도 있다.
단계(S202): 브라우저 클라이언트가 사용자의 웹 페이지 액세스 작동에 기초하여 웹 서버에 대한 웹 페이지 액세스 요청을 개시시킨다.
단계(S203): 웹 페이지 액세스 요청에 기초하여 제1 응답을 생성한 후, 웹 서버가 제1 응답을 브라우저 클라이언트에게 복귀시킨다.
단계(S204): 웹 서버에 의해 복귀된 제1 응답을 수신한 후, 브라우저 클라이언트가 제1 응답을 파스(parse)하여 제1 응답이 애플리케이션의 명칭, 다운로드 링크 및 버전 정보를 포함하는지를 결정한다. 그러하다면, 방법은 단계(S205)로 진행되고; 그렇지 않다면, 방법은 단계(S210)로 진행된다.
본 출원의 실시형태에서, 요청된 웹 페이지가 프로모션된 애플리케이션을 갖는다면, 웹 서버에 의해 복귀된 제1 응답은 일반적으로 애플리케이션의 명칭, 다운로드 링크 및 버전 정보를 포함한다.
본 출원의 실시형태에서, 다운로드 링크는 작동 프롬프트를 가진 가상 버튼일 수도 있고, 그리고 작동 프롬프트는 예를 들어, "다운로드"일 수도 있다.
단계(S205): 브라우저 클라이언트가 포트 번호를 등록된 포트 세트로부터 선택하고 그리고 선택된 포트 번호를 가진 액세스 요청을 로컬 단말기의 로컬 서버에 대해 개시시킨다.
서버의 논리 포트의 포트 번호는 TCP/IP 프로토콜에 따라 0 내지 65535의 값 범위에 속한다. 포트는 잘 알려진 포트(잘 알려진 포트의 포트 번호는 0 내지 1023의 값 범위에 속함), 동적 포트(동적 포트의 포트 번호는 49152 내지 65535의 값 범위에 속함) 및 등록된 포트(등록된 포트의 포트 번호는 1024 내지 49151의 값 범위에 속함)로 더 분류될 수 있다. 일반적으로, 등록된 포트만은 특정한 서비스에 고정적으로 할당될 수 있다. 따라서, 본 출원의 실시형태에서, 포트 번호 선택 동안, 브라우저 클라이언트는 포트 번호를 등록된 포트 세트(즉, 1024 내지 49151의 범위)로부터 순서에 따라 또는 임의로 선택할 수 있다. 선택된 포트 번호는 바인딩되지 않은 포트 번호 또는 이미 바인딩된 포트 번호일 수도 있다.
실시형태의 실시예에서, 로컬 단말기의 IP 어드레스가 127.0.0.1이고 그리고 브라우저 클라이언트가 현재 선택한 포트 번호가 7777이라면, 포트 번호를 갖고 그리고 "겟(get)" 또는 "포스트(post)" 방식으로 로컬 단말기의 로컬 서버에 대해 브라우저 클라이언트에 의해 개시되는 액세스 요청은 http://127.0.0.1:7777일 수도 있다.
단계(S206): 포트 번호를 가진 액세스 요청을 개시시킨 후, 브라우저 클라이언트가 로컬 서버에 의해 복귀된 제2 응답이 수신되는지를 결정하고; 로컬 서버에 의해 복귀된 제2 응답이 수신된다면, 방법은 단계(S208)로 진행되고; 그렇지 않다면, 방법은 단계(S207)로 진행된다. 제2 응답은 포트 번호를 가진 액세스 요청에 응답하여 로컬 서버에 의해 복귀되는 응답이고, 그리고 응답은 포트 번호와 바인딩된 네이티브 애플리케이션의 명칭 및 버전 정보를 포함한다.
본 출원의 실시형태에서, 브라우저 클라이언트가 전송한 포트 번호를 가진 액세스 요청을 수신한 후, 로컬 서버는 요청에 포함된 포트 번호에 따라 네이티브 애플리케이션과 대응하는 바운딩된 포트 간의 사전-저장된 대응 표(위의 표 1에 나타낸 바와 같음)를 검색하여 포트 번호와 바인딩된 네이티브 애플리케이션이 있는지를 결정한다. 포트 번호와 바인딩된 네이티브 애플리케이션이 있다면, 포트 번호에 대응하는 네이티브 애플리케이션의 명칭 및 버전 정보가 대응 표로부터 판독되고, 그리고 명칭 및 버전 정보를 포함하는 제2 응답이 브라우저 클라이언트에게 복귀된다. 포트 번호와 바인딩된 네이티브 애플리케이션이 없다면, 프롬프트 정보가 브라우저 클라이언트에게 복귀되고 요청 실패를 나타낸다.
단계(S207): 브라우저 클라이언트가 로컬 서버에 의해 복귀된 제2 응답을 수신하지 못할 때, 로컬 서버가 포트 번호와 바인딩된 네이티브 애플리케이션을 갖지 못하는 것을 나타내고, 그리고 브라우저 클라이언트는 등록된 포트 세트에서 아직 선택되지 않은 포트 번호가 있는지를 결정하고; 그러하다면, 방법이 단계(S205)로 진행되어 액세스 시도를 다시 행하고; 그렇지 않다면, 방법이 단계(S210)로 진행된다.
단계(S208): 로컬 서버에 의해 복귀된 제2 응답을 수신할 때, 브라우저 클라이언트는 제2 응답을 파스함으로써 제2 응답 내 네이티브 애플리케이션의 명칭 및 버전 정보를 획득할 수 있다. 이어서, 네이티브 애플리케이션의 명칭이 이전에 획득된 제1 응답의 애플리케이션의 명칭과 비교되어 제2 응답의 네이티브 애플리케이션과 제1 응답의 애플리케이션이 동일한지를 결정한다. 제2 응답의 네이티브 애플리케이션의 명칭이 제1 응답의 애플리케이션의 명칭과 동일하다면, 제2 응답의 네이티브 애플리케이션과 제1 응답의 애플리케이션이 동일한 것으로 결정하고, 그리고 이어서 방법은 단계(S209)로 진행되고; 그렇지 않다면, 방법은 단계(S207)로 진행된다.
일부 실시형태에서, 요청된 웹 페이지가 다수의 프로모션된 애플리케이션을 포함한다면, 웹 서버에 의해 복귀된 제1 응답은 다수의 애플리케이션의 각각의 명칭, 다운로드 링크 및 버전 정보를 포함한다. 그래서, 단계(S208)에서 애플리케이션의 명칭의 비교 동안, 제2 응답의 네이티브 애플리케이션의 명칭은 제1 응답의 다수의 애플리케이션의 각각의 명칭과 비교된다. 비교 후, 제2 응답의 네이티브 애플리케이션이 제1 응답의 다수의 애플리케이션의 어느 하나와 동일하다고 밝혀진다면, 방법은 단계(S209)로 진행되고; 비교 후, 제1 응답의 애플리케이션 중 어느 것도 제2 응답의 네이티브 애플리케이션과 동일하지 않다고 밝혀진다면, 방법은 단계(S207)로 진행된다.
단계(S209): 제1 응답에 기초하여 웹 페이지를 렌더링하는 과정에서, 제2 응답의 네이티브 애플리케이션의 버전 정보 및 제1 응답의 동일한 애플리케이션의 버전 정보에 따라 제1 응답의 애플리케이션의 다운로드 링크의 작동 프롬프트를 조정한다.
본 출원의 일부 실시형태에서, 애플리케이션의 다운로드 링크의 작동 프롬프트를 조정하는 단계는,
제2 응답의 네이티브 애플리케이션의 버전이 제1 응답의 동일한 애플리케이션의 버전보다 더 낮을 때, 제1 응답의 동일한 애플리케이션의 다운로드 링크의 작동 프롬프트를 "다운로드"로부터 "업데이트"로 조정하는 것; 또는
제2 응답의 네이티브 애플리케이션의 버전이 제1 응답의 동일한 애플리케이션의 버전보다 더 낮지 않을 때, 제1 응답의 동일한 애플리케이션의 다운로드 링크의 작동 프롬프트를 "다운로드"로부터 "설치됨"으로 조정하는 것을 포함할 수도 있다.
단계(S210): 웹 페이지를 사용자가 보게 제공한다.
일부 실시형태에서, 요청된 웹 페이지가 다수의 프로모션된 애플리케이션을 포함한다면, 본 출원의 실시형태에 따른 처리 후 사용자 단말기에 마지막으로 제공된 웹 페이지가 도 3에 도시된다. 본 출원의 실시형태에서, 사용자가 요청한 웹 페이지에서 애플리케이션의 다운로드 링크의 작동 프롬프트가 사용자 단말기의 실제 애플리케이션 설치 상태에 따라 맞춤형 방식으로 조정될 수 있어서, 사용자는 어떤 애플리케이션이 이미 설치되었는지, 어떤 애플리케이션이 아직 설치되지 않았는지, 그리고 어떤 애플리케이션이 요청된 웹 페이지의 애플리케이션 중 업데이트될 수 있는지를 정확하게 알 수 있다는 것을 도 3에서 알 수 있다.
본 출원의 일부 실시형태에서, 애플리케이션 명칭이 애플리케이션 식별자로서 사용되고; 본 출원의 다른 실시형태에서, 문자열 등이 애플리케이션 식별자로서 사용될 수도 있다.
본 출원의 실시형태에서, 네이티브 애플리케이션은 로컬 서버에서 사전에, 특정한 포트 번호와 바인딩된 url 서비스를 작동시킨다. 사용자가 개시한 웹 페이지 액세스 요청에 응답하여 웹 서버에 의해 복귀되는 제1 응답이 수신되고 그리고 제1 응답이 애플리케이션의 식별자, 다운로드 링크, 및 버전 정보를 포함할 때, 브라우저 클라이언트가 포트 번호를 등록된 포트 세트로부터 선택할 수 있고 그리고 선택된 포트 번호를 가진 액세스 요청을 로컬 단말기의 로컬 서버로 전송할 수 있어서, 네이티브 애플리케이션의 데이터를 획득한다. 액세스 요청이 가진 포트 번호가 네이티브 애플리케이션과 이미 바인딩된 포트에 속한다면, 브라우저 클라이언트는 네이티브 애플리케이션의 명칭 및 버전 정보를 획득할 수 있어서, 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현한다. 따라서, 브라우저 클라이언트가 맞춤형 방식으로, 사용자가 요청한 웹 페이지의 다양한 애플리케이션의 다운로드 링크의 작동 프롬프트를 조정할 수 있어서, 사용자 경험을 개선시킨다. 게다가, 본 출원의 실시형태가 url 스키마 등록을 요구하지 않고 그리고 네트워크 지원 없이 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현할 수 있어서, 사용자 경험을 더 개선시킨다.
위에서 설명된 과정이 특정한 순서로 나타나는 다수의 작동을 포함하지만, 이 과정은 순차적으로 또는 병렬 방식으로(예를 들어, 병렬 프로세서를 사용함으로써 또는 멀티스레드 환경에서) 수행될 수 있는 더 많은 작동 또는 더 적은 작동을 포함할 수도 있다는 것을 분명히 이해해야 한다.
도 4를 참조하면, 도 4는 본 출원의 일부 실시형태에 따른, 전자 디바이스의 구조 블록도이다. 하드웨어 레벨에서, 전자 디바이스는 프로세서, 내부 버스, 네트워크 인터페이스, 메모리 및 기억장치를 포함하고, 그리고 서비스가 요구하는 다른 하드웨어를 포함할 수도 있다. 프로세서가 대응하는 컴퓨터 프로그램을 기억장치로부터 메모리로 판독하고 그리고 이어서 컴퓨터 프로그램을 실행하여 논리 레벨에서, 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 장치를 형성한다.
본 출원의 실시형태에 따른, 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 장치의 논리 구조는 도 5를 참조하여 아래에 설명된다. 본 출원의 실시형태에서, 네이티브 애플리케이션은 사전에, 로컬 단말기의 로컬 서버에서, 특정한 포트 번호와 바인딩된 자료 위치 주소(uniform resource locator: url) 서비스를 작동시킨다.
도 5를 참조하면, 본 출원의 실시형태에 따른, 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 장치는,
사용자가 개시한 웹 페이지 액세스 요청에 응답하여 웹 서버에 의해 복귀되는 제1 응답을 수신하도록 구성된 제1 응답 수신 모듈(51);
제1 응답이 애플리케이션의 식별자, 다운로드 링크 및 버전 정보를 포함할 때, 포트 번호를 등록된 포트 세트로부터 선택하고 그리고 선택된 포트 번호를 가진 액세스 요청을 로컬 단말기에 위치된 로컬 서버에 대해 개시시키도록 구성된 로컬 액세스 개시 모듈(52);
로컬 서버에 의해 복귀된 제2 응답을 수신할 때, 제2 응답의 네이티브 애플리케이션과 제1 응답의 애플리케이션이 동일한지를 결정하도록 구성된 애플리케이션 식별자 매칭 모듈(53)(제2 응답은 네이티브 애플리케이션의 식별자 및 버전 정보를 가짐);
네이티브 애플리케이션과 애플리케이션이 동일할 때, 제1 응답에 기초하여 웹 페이지를 렌더링하는 과정에서 네이티브 애플리케이션의 버전 정보 및 애플리케이션의 버전 정보에 따라 애플리케이션의 다운로드 링크의 작동 프롬프트를 조정하도록 구성된 작동 프롬프트 조정 모듈(54); 및
웹 페이지를 사용자가 보게 제공하도록 구성된 페이지 제공 모듈(55)을 포함한다.
작동 프롬프트 조정 모듈(54)이 네이티브 애플리케이션의 버전 정보 및 애플리케이션의 버전 정보에 따라 애플리케이션의 다운로드 링크의 작동 프롬프트를 조정하는 것은,
네이티브 애플리케이션의 버전이 애플리케이션의 버전보다 더 낮을 때, 애플리케이션의 다운로드 링크의 작동 프롬프트를 "업데이트"가 되도록 조정하는 것; 또는
네이티브 애플리케이션의 버전이 애플리케이션의 버전보다 더 낮지 않을 때, 애플리케이션의 다운로드 링크의 작동 프롬프트를 "설치됨"이 되도록 조정하는 것을 포함한다.
본 출원의 실시형태에서 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 장치는 앞서 말한 실시형태에서 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 방법에 대응한다. 따라서, 본 출원의 실시형태에서 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 장치의 내용에 대해, 앞서 말한 실시형태에서 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 방법이 참조될 수 있다. 상세사항은 본 명세서에서 다시 설명되지 않는다.
본 출원의 실시형태에서, 네이티브 애플리케이션은 로컬 서버에서 사전에, 특정한 포트 번호와 바인딩된 url 서비스를 작동시킨다. 이어서, 사용자가 개시한 웹 페이지 액세스 요청에 응답하여 웹 서버에 의해 복귀되는 제1 응답이 수신되고 그리고 제1 응답이 애플리케이션의 식별자, 다운로드 링크, 및 버전 정보를 포함할 때, 브라우저 클라이언트가 포트 번호를 등록된 포트 세트로부터 선택할 수 있고 그리고 선택된 포트 번호를 가진 액세스 요청을 로컬 단말기의 로컬 서버로 전송할 수 있어서, 네이티브 애플리케이션의 데이터를 획득한다. 액세스 요청이 가진 포트 번호가 네이티브 애플리케이션과 이미 바인딩된 포트에 속한다면, 브라우저 클라이언트는 네이티브 애플리케이션의 명칭 및 버전 정보를 획득할 수 있어서, 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현한다. 따라서, 브라우저 클라이언트가 맞춤형 방식으로, 사용자가 요청한 웹 페이지의 다양한 애플리케이션의 다운로드 링크의 작동 프롬프트를 조정할 수 있어서, 사용자 경험을 개선시킨다. 게다가, 본 출원의 실시형태가 url 스키마 등록을 요구하지 않고 그리고 네트워크 지원 없이 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현할 수 있어서, 사용자 경험을 더 개선시킨다.
당업자는 또한 본 출원의 실시형태에서 나열된 다양한 예시적인 논리 블록, 구성 단위 및 단계가 하드웨어, 소프트웨어 또는 이들의 조합에 의해 구현될 수 있다는 것을 이해할 수 있다. 논리 블록, 구성 단위 및 단계가 하드웨어 또는 소프트웨어에 의해 구현되는지는 특정한 애플리케이션 및 전체 시스템 디자인 필요조건에 의존적이다. 당업자는 각각의 특정한 애플리케이션에 대한 기능을 구현하도록 다양한 방법을 사용할 수 있다. 그러나, 이러한 구현예는 본 출원의 실시형태의 보호 범위를 초과하는 것으로 여기지지 않아야 한다.
본 출원의 실시형태에서 설명된 다양한 예시적인 논리 블록 또는 구성 단위는 범용 프로세서, 디지털 신호 프로세서, 응용 주문형 집적 회로 (application specific integrated circuit: ASIC), 필드 프로그램 가능 게이트 어레이 또는 다른 프로그램 가능 논리 디바이스, 이산 게이트 또는 트랜지스터 논리, 이산 하드웨어 컴포넌트 또는 설명된 기능을 수행하도록 디자인된 이들의 임의의 조합에 의해 구현될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있다. 임의로, 범용 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기 또는 상태 기계일 수도 있다. 프로세서는 또한 산출 디바이스의 조합, 예를 들어, 디지털 신호 프로세서와 마이크로프로세서의 조합, 다수의 마이크로프로세서, 디지털 신호 프로세서 코어와 함께 하나 이상의 마이크로프로세서 또는 임의의 다른 이러한 구성을 통해 구현될 수도 있다.
본 출원의 실시형태에서 설명된 방법 또는 알고리즘의 단계는 하드웨어에, 프로세서에 의해 실행된 소프트웨어 모듈에 또는 이들의 조합에 직접적으로 내장될 수도 있다. 소프트웨어 모듈은 랜덤 액세스 메모리(random access memory: RAM), 플래시 메모리, 판독-전용 메모리(read-only memory: ROM), 전기적으로 프로그램 가능 ROM(electrically programmable ROM: EPROM), 전기적으로 소거 가능 프로그램 가능 ROM(electrically erasable programmable ROM: EEPROM), 레지스터, 하드 디스크, 이동식 디스크, 콤팩트 디스크 ROM(compact disc ROM: CD-ROM) 또는 임의의 다른 형태의 저장 매체에 저장될 수도 있다. 예를 들어, 저장 매체가 프로세서에 연결될 수도 있어서 프로세서는 정보를 저장 매체로부터 판독할 수 있고 그리고 정보를 저장 매체에 기입할 수 있다. 임의로, 저장 매체는 프로세서에 통합될 수도 있다. 프로세서 및 저장 매체는 ASIC에 배치될 수도 있고, 그리고 ASIC은 사용자 단말기에 배치될 수도 있다. 임의로, 프로세서 및 저장 매체는 사용자 단말기의 상이한 컴포넌트에 배치될 수도 있다.
디자인의 하나 이상의 실시예에서, 본 출원의 실시형태에서 설명된 기능은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 조합에서 구현될 수도 있다. 소프트웨어에서 구현된다면, 기능은 하나 이상의 명령어 또는 코드로서 컴퓨터-판독 가능 매체에 저장 또는 전송될 수도 있다. 컴퓨터-판독 가능 매체는 하나의 위치로부터 또 다른 위치로의 컴퓨터 프로그램의 전달을 용이하게 하는 컴퓨터 저장 매체와 통신 매체 둘 다를 포함한다. 저장 매체는 범용 또는 특수-목적 컴퓨터에 의해 액세스될 수 있는 임의의 이용 가능한 매체일 수도 있다. 예를 들어, 이러한 컴퓨터 판독 가능 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광디스크 기억장치, 자기 디스크 기억장치 또는 자기 기억장치, 또는 프로그램 코드를 명령어 또는 데이터 구조의 형태로 그리고 범용 또는 특수-목적 컴퓨터 또는 범용 또는 특수-목적 프로세서에 의해 액세스될 수 있는 다른 형태로 갖거나 또는 저장하도록 사용될 수 있는 임의의 다른 매체를 포함할 수도 있지만, 이들로 제한되지 않는다. 또한, 임의의 연결부가 컴퓨터 판독 가능 매체로서 적절히 규정될 수 있다. 예를 들어, 소프트웨어가 웹사이트, 서버, 또는 동축 케이블, 광섬유 케이블, 트위스트 페어(twisted pair), 디지털 가입자 회선(digital subscriber line: DSL), 또는 무선 방식, 예컨대, 적외선, 전파, 및 마이크로파를 사용하는 다른 원격 리소스로부터 전송된다면, 동축 케이블, 광섬유 케이블, 트위스트 페어, 디지털 가입자 회선(DSL), 또는 무선 방식, 예컨대, 적외선, 전파, 및 마이크로파는 또한 규정된 컴퓨터 판독 가능 매체에 포함된다. 디스크(disk)와 디스크(disc)는 콤팩트 디스크, 레이저 디스크, 광디스크, 디지털 다기능 디스크(digital versatile disc: DVD), 플로피 디스크 및 블루레이 디스크를 포함하고, 디스크(disk)는 보통 데이터를 자기적으로 재생하고, 반면에 디스크(disc)는 보통 데이터를 레이저를 사용하여 광학적으로 재생한다. 위의 조합은 또한 컴퓨터 판독 가능 매체에 포함될 수도 있다.
위에 설명된 실시형태는 본 출원의 목적, 기술적 해결책 및 유익한 효과를 더 상세히 예시한다. 앞서 말한 설명은 단지 본 출원의 실시형태이고, 그리고 본 출원의 보호 범위를 제한하도록 의도되지 않는다는 것이 이해되어야 한다. 본 출원의 정신 및 원리로부터 벗어나는 일없이 행해진 임의의 변경, 등가 대체 및 개선은 본 출원의 보호 범위 내에 속해야 한다.

Claims (15)

  1. 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 방법으로서, 상기 네이티브 애플리케이션은 사전에, 로컬 단말기의 로컬 서버에서, 특정한 포트 번호와 바인딩된(bound) 자료 위치 주소(uniform resource locator: url) 서비스를 작동시키고, 그리고 상기 방법은,
    사용자가 개시한 웹 페이지 액세스 요청에 응답하여 웹 서버에 의해 복귀되는 제1 응답을 수신하는 단계;
    상기 제1 응답이 애플리케이션의 식별자, 다운로드 링크 및 버전 정보를 포함할 때, 포트 번호를 등록된 포트 세트로부터 선택하고 그리고 선택된 포트 번호를 가진 액세스 요청을 상기 로컬 서버에 대해 개시시키는 단계;
    상기 로컬 서버에 의해 복귀된, 상기 네이티브 애플리케이션의 식별자 및 버전 정보를 가진, 제2 응답을 수신할 때, 상기 식별자에 따라, 상기 제2 응답의 상기 네이티브 애플리케이션과 상기 제1 응답의 상기 애플리케이션이 동일한지를 결정하는 단계;
    상기 로컬 서버에 의해 복귀된 상기 제2 응답이 수신되지 않은 경우, 여전히 등록된 포트 세트 내 선택되지 않은 포트 번호가 있다면, 포트 번호를 상기 선택되지 않은 포트 번호로부터 선택하고 그리고 상기 선택된 포트 번호를 가진 액세스 요청을 상기 로컬 서버에 대해 개시시키고, 또는 상기 등록된 포트 세트 내 모든 포트 번호가 선택된다면, 상기 제1 응답에 기초하여 상기 웹 페이지를 직접적으로 렌더링하는 단계; 및
    상기 제2 응답의 상기 네이티브 애플리케이션과 상기 제1 응답의 상기 애플리케이션이 동일하다면, 상기 애플리케이션의 상기 다운로드 링크의 작동 프롬프트를 상기 제1 응답에 기초하여 웹 페이지를 렌더링하는 과정에서 상기 네이티브 애플리케이션의 버전 정보 및 상기 애플리케이션의 버전 정보에 따라 조정하는 단계를 포함하는, 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 방법.
  2. 제1항에 있어서, 상기 네이티브 애플리케이션의 버전 정보 및 상기 애플리케이션의 버전 정보에 따라 상기 애플리케이션의 상기 다운로드 링크의 상기 작동 프롬프트를 조정하는 단계는,
    상기 네이티브 애플리케이션의 버전이 상기 애플리케이션의 버전보다 더 낮을 때, 상기 애플리케이션의 상기 다운로드 링크의 상기 작동 프롬프트를 "업데이트"가 되도록 조정하는 것; 또는
    상기 네이티브 애플리케이션의 버전이 상기 애플리케이션의 버전보다 더 낮지 않을 때, 상기 애플리케이션의 상기 다운로드 링크의 상기 작동 프롬프트를 "설치됨"이 되도록 조정하는 것을 포함하는, 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 방법.
  3. 삭제
  4. 제1항에 있어서,
    상기 제1 응답이 다수의 애플리케이션의 식별자, 다운로드 링크 및 버전 정보를 포함한다면, 상기 식별자에 따라, 상기 제2 응답의 상기 네이티브 애플리케이션이 상기 제1 응답의 상기 다수의 애플리케이션 중 임의의 하나와 동일한지를 결정하는 단계를 더 포함하는, 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 방법.
  5. 제1항에 있어서, 상기 네이티브 애플리케이션은 사전에 다음의 방식으로 상기 url을 작동시키되,
    제1 기동 과정에서, 상기 네이티브 애플리케이션은 등록된 포트와의 바인딩을 요청하는 url 서비스의 명령어를 상기 로컬 서버로 전송하고, 상기 명령어는 바인딩될 목적하는 포트 번호를 갖고; 그리고
    상기 바인딩될 목적하는 포트 번호가 아직 바인딩되지 않았다면, 상기 로컬 서버는 상기 포트 번호와 바인딩된 url 서비스를 상기 네이티브 애플리케이션에 대해 작동시키는, 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 방법.
  6. 제5항에 있어서,
    상기 바인딩될 목적하는 포트 번호가 바인딩되고 그리고 상기 등록된 포트 세트 내 여전히 바인딩되지 않은 포트 번호가 있다면, 상기 로컬 서버에 의해, 포트 번호를 상기 바인딩되지 않은 포트 번호로부터 선택하고 그리고 상기 선택된 포트 번호와 바인딩된 url 서비스를 상기 네이티브 애플리케이션에 대해 작동시키는 단계를 더 포함하는, 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 방법.
  7. 제5항에 있어서,
    상기 등록된 포트 세트 내 모든 포트 번호가 바인딩된다면, 상기 로컬 서버에 의해, 현재의 바인딩이 실패되었는지를 확인하는 단계를 더 포함하는, 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 방법.
  8. 제1항에 있어서, 상기 네이티브 애플리케이션은 사전에 다음의 방식으로 상기 url을 작동시키되,
    제1 기동 과정에서, 상기 네이티브 애플리케이션은 등록된 포트와의 바인딩을 요청하는 url 서비스의 명령어를 상기 로컬 서버로 전송하고; 그리고
    상기 등록된 포트 세트 내 여전히 바인딩되지 않은 포트 번호가 있다면, 상기 로컬 서버는 포트 번호를 상기 바인딩되지 않은 포트 번호로부터 선택하고 그리고 상기 선택된 포트 번호와 바인딩된 url 서비스를 상기 네이티브 애플리케이션에 대해 작동시키는, 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 방법.
  9. 제8항에 있어서,
    상기 등록된 포트 세트 내 모든 포트 번호가 바인딩된다면, 상기 로컬 서버에 의해, 현재의 바인딩이 실패되었는지를 확인하는 단계를 더 포함하는, 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 방법.
  10. 제1항에 있어서, 상기 네이티브 애플리케이션은 상기 url 서비스를 사전에 다음의 방식으로 작동시키되,
    시스템은 현재의 애플리케이션의 설치 과정 동안 현재의 애플리케이션의 설치 상태를 모니터링하고;
    현재의 애플리케이션이 성공적으로 설치되는 경우의 검출 시, 상기 시스템이 바인딩 명령어를 상기 로컬 서버로 전송하도록 트리거링되어 특정한 포트 번호와 바인딩된 url 서비스를 상기 현재의 애플리케이션에 대해 작동시키고; 그리고
    상기 등록된 포트 세트 내 여전히 바인딩되지 않은 포트 번호가 있다면, 상기 로컬 서버는 포트 번호를 상기 바인딩되지 않은 포트 번호로부터 선택하고 그리고 상기 선택된 포트 번호와 바인딩된 url 서비스를 상기 현재의 애플리케이션에 대해 작동시키는, 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 방법.
  11. 제10항에 있어서,
    상기 등록된 포트 세트 내 모든 포트 번호가 바인딩된다면, 상기 로컬 서버에 의해, 현재의 바인딩이 실패되었는지를 확인하는 단계를 더 포함하는, 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 방법.
  12. 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 장치로서, 상기 네이티브 애플리케이션은 사전에, 로컬 단말기의 로컬 서버에서, 특정한 포트 번호와 바인딩된 자료 위치 주소(uniform resource locator: url) 서비스를 작동시키고, 그리고 상기 장치는,
    사용자가 개시한 웹 페이지 액세스 요청에 응답하여 웹 서버에 의해 복귀되는 제1 응답을 수신하도록 구성된 제1 응답 수신 모듈;
    제1 응답이 애플리케이션의 식별자, 다운로드 링크 및 버전 정보를 포함할 때, 포트 번호를 등록된 포트 세트로부터 선택하고 그리고 선택된 포트 번호를 가진 액세스 요청을 상기 로컬 단말기에 위치된 상기 로컬 서버에 대해 개시시키도록 구성된 로컬 액세스 개시 모듈;
    상기 로컬 서버에 의해 복귀된, 네이티브 애플리케이션의 식별자 및 버전 정보를 가진, 제2 응답을 수신할 때, 상기 식별자에 따라, 상기 제2 응답의 상기 네이티브 애플리케이션과 상기 제1 응답의 상기 애플리케이션이 동일한지를 결정하고, 상기 로컬 서버에 의해 복귀된 상기 제2 응답이 수신되지 않은 경우, 여전히 등록된 포트 세트 내 선택되지 않은 포트 번호가 있다면, 포트 번호를 상기 선택되지 않은 포트 번호로부터 선택하고 그리고 상기 선택된 포트 번호를 가진 액세스 요청을 상기 로컬 서버에 대해 개시시키고, 또는 상기 등록된 포트 세트 내 모든 포트 번호가 선택된다면, 상기 제1 응답에 기초하여 상기 웹 페이지를 직접적으로 렌더링하도록 구성된 애플리케이션 식별자 매칭 모듈; 및
    상기 제2 응답의 상기 네이티브 애플리케이션과 상기 제1 응답의 상기 애플리케이션이 동일하다면, 상기 제1 응답에 기초하여 웹 페이지를 렌더링하는 과정에서 상기 네이티브 애플리케이션의 버전 정보 및 상기 애플리케이션의 버전 정보에 따라 상기 애플리케이션의 상기 다운로드 링크의 작동 프롬프트를 조정하도록 구성된 작동 프롬프트 조정 모듈을 포함하는, 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 장치.
  13. 제12항에 있어서, 상기 작동 프롬프트 조정 모듈이 상기 네이티브 애플리케이션의 버전 정보 및 상기 애플리케이션의 버전 정보에 따라 상기 애플리케이션의 상기 다운로드 링크의 작동 프롬프트를 조정하는 것은,
    상기 네이티브 애플리케이션의 버전이 상기 애플리케이션의 버전보다 더 낮을 때, 상기 애플리케이션의 상기 다운로드 링크의 상기 작동 프롬프트를 "업데이트"가 되도록 조정하는 것; 또는
    상기 네이티브 애플리케이션의 버전이 상기 애플리케이션의 버전보다 더 낮지 않을 때, 상기 애플리케이션의 상기 다운로드 링크의 상기 작동 프롬프트를 "설치됨"이 되도록 조정하는 것을 포함하는, 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 장치.
  14. 전자 디바이스로서,
    프로세서; 및
    메모리를 포함하되, 상기 메모리는 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 장치를 저장하도록 구성되고, 그리고 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 상기 장치는, 상기 프로세서에 의해 실행될 때,
    사용자가 개시한 웹 페이지 액세스 요청에 응답하여 웹 서버에 의해 복귀되는 제1 응답을 수신하는 단계;
    상기 제1 응답이 애플리케이션의 식별자, 다운로드 링크 및 버전 정보를 포함할 때, 포트 번호를 등록된 포트 세트로부터 선택하고 그리고 선택된 포트 번호를 가진 액세스 요청을 로컬 단말기의 로컬 서버에 대해 개시시키는 단계;
    상기 로컬 서버에 의해 복귀된, 상기 네이티브 애플리케이션의 식별자 및 버전 정보를 가진, 제2 응답을 수신할 때, 상기 식별자에 따라, 상기 제2 응답의 상기 네이티브 애플리케이션과 상기 제1 응답의 상기 애플리케이션이 동일한지를 결정하는 단계;
    상기 로컬 서버에 의해 복귀된 상기 제2 응답이 수신되지 않은 경우, 여전히 등록된 포트 세트 내 선택되지 않은 포트 번호가 있다면, 포트 번호를 상기 선택되지 않은 포트 번호로부터 선택하고 그리고 상기 선택된 포트 번호를 가진 액세스 요청을 상기 로컬 서버에 대해 개시시키고, 또는 상기 등록된 포트 세트 내 모든 포트 번호가 선택된다면, 상기 제1 응답에 기초하여 상기 웹 페이지를 직접적으로 렌더링하는 단계; 및
    상기 제2 응답의 상기 네이티브 애플리케이션과 상기 제1 응답의 상기 애플리케이션이 동일하다면, 상기 애플리케이션의 상기 다운로드 링크의 작동 프롬프트를 상기 제1 응답에 기초하여 웹 페이지를 렌더링하는 과정에서 상기 네이티브 애플리케이션의 버전 정보 및 상기 애플리케이션의 버전 정보에 따라 조정하는 단계를 수행하는, 전자 디바이스.
  15. 제14항에 있어서, 상기 전자 디바이스는 모바일 단말기를 포함하는, 전자 디바이스.
KR1020197011095A 2016-09-19 2017-09-11 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 방법 및 장치, 그리고 전자 디바이스 KR102166589B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201610832369.8A CN107015870B (zh) 2016-09-19 2016-09-19 实现web页面与本地应用通信的方法、装置和电子设备
CN201610832369.8 2016-09-19
PCT/CN2017/101277 WO2018050040A1 (zh) 2016-09-19 2017-09-11 实现web页面与本地应用通信的方法、装置和电子设备

Publications (2)

Publication Number Publication Date
KR20190049874A KR20190049874A (ko) 2019-05-09
KR102166589B1 true KR102166589B1 (ko) 2020-10-19

Family

ID=59439047

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197011095A KR102166589B1 (ko) 2016-09-19 2017-09-11 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 방법 및 장치, 그리고 전자 디바이스

Country Status (9)

Country Link
US (1) US10783212B2 (ko)
EP (1) EP3518109A4 (ko)
JP (1) JP6945782B2 (ko)
KR (1) KR102166589B1 (ko)
CN (1) CN107015870B (ko)
MY (1) MY181230A (ko)
PH (1) PH12019500601A1 (ko)
TW (1) TWI713770B (ko)
WO (1) WO2018050040A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107015870B (zh) 2016-09-19 2020-11-03 创新先进技术有限公司 实现web页面与本地应用通信的方法、装置和电子设备
CN109842671B (zh) * 2018-11-30 2022-08-30 畅捷通信息技术股份有限公司 一种浏览器与自动报税应用程序通信的方法及系统
CN111181836B (zh) * 2019-10-25 2023-03-24 腾讯科技(深圳)有限公司 一种消息推送方法及装置
CN110990170A (zh) * 2019-11-29 2020-04-10 广州市百果园信息技术有限公司 数据结构、通信方法、装置、存储介质及设备
CN111273950B (zh) * 2019-12-31 2023-03-21 百度国际科技(深圳)有限公司 应用唤起方法、装置、电子设备及计算机可读存储介质
CN113364821B (zh) * 2020-03-04 2024-03-05 腾讯科技(深圳)有限公司 一种功能服务访问方法、设备及存储介质
CN112040025B (zh) * 2020-09-03 2023-03-24 安徽文香科技有限公司 一种服务器地址切换的方法、系统及终端设备
CN112804320B (zh) * 2021-01-04 2023-02-28 德施曼机电(中国)有限公司 一种智能门锁的控锁app下载方法及系统
CN113176887B (zh) * 2021-02-05 2023-09-29 西安宇飞电子技术有限公司 一种无人机数据链终端的无线固件升级方法
CN113704660A (zh) * 2021-06-24 2021-11-26 青岛海尔科技有限公司 用于获取渲染页面视图的方法及装置、电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103279375A (zh) * 2013-06-19 2013-09-04 百度在线网络技术(北京)有限公司 在浏览器中运行应用程序的方法和装置

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5928330A (en) * 1996-09-06 1999-07-27 Motorola, Inc. System, device, and method for streaming a multimedia file
US6119166A (en) 1997-03-28 2000-09-12 International Business Machines Corporation Controlling communications with local applications using a browser application
US6182146B1 (en) * 1997-06-27 2001-01-30 Compuware Corporation Automatic identification of application protocols through dynamic mapping of application-port associations
US6571392B1 (en) 1999-04-20 2003-05-27 Webtv Networks, Inc. Receiving an information resource from the internet if it is not received from a broadcast channel
US6546554B1 (en) 2000-01-21 2003-04-08 Sun Microsystems, Inc. Browser-independent and automatic apparatus and method for receiving, installing and launching applications from a browser on a client computer
US7406664B1 (en) 2001-06-15 2008-07-29 Microsoft Corporation System for integrating HTML Web site views into application file dialogs
WO2003025706A2 (en) 2001-09-20 2003-03-27 I-Logix Inc. Computerized system and method for web enabling and/or web management of embedded applications
US20040210663A1 (en) * 2003-04-15 2004-10-21 Paul Phillips Object-aware transport-layer network processing engine
US20040260806A1 (en) * 2003-06-20 2004-12-23 Eric Martin System supporting communication between a web enabled application and another application
FR2857763A1 (fr) * 2003-07-18 2005-01-21 Canon Kk Procede d'acces et de partage d'un document numerique dans un reseau de communication p2p
US7676472B2 (en) 2004-06-07 2010-03-09 International Business Machines Corporation Method and apparatus for accessing web services
US7840648B1 (en) 2005-04-29 2010-11-23 Google Inc. Web-page authoring tool for automatic enrollment in advertising program
US7849437B2 (en) 2005-09-01 2010-12-07 Microsoft Corporation Object oriented web application framework
US8346223B1 (en) * 2005-11-07 2013-01-01 Flurry, Inc. Delivering a customized service to a mobile device using a link
US8601363B2 (en) * 2009-07-20 2013-12-03 Facebook, Inc. Communicating information about a local machine to a browser application
US8407290B2 (en) 2009-08-31 2013-03-26 International Business Machines Corporation Dynamic data sharing using a collaboration-enabled web browser
US9390172B2 (en) 2009-12-03 2016-07-12 Microsoft Technology Licensing, Llc Communication channel between web application and process outside browser
US8725585B1 (en) 2010-05-18 2014-05-13 Google Inc. Automatic vetting of web applications to be listed in a marketplace for web applications
CN102316160B (zh) 2011-06-14 2013-09-18 贵阳朗玛信息技术股份有限公司 网站系统及其通信方法
CN103890756A (zh) * 2011-08-24 2014-06-25 诺基亚通信公司 应用程序控制
WO2013067000A1 (en) 2011-11-01 2013-05-10 Google Inc. Launching applications from webpages
US9612724B2 (en) * 2011-11-29 2017-04-04 Citrix Systems, Inc. Integrating native user interface components on a mobile device
US9053201B2 (en) 2012-02-29 2015-06-09 Microsoft Technology Licensing, Llc Communication with a web compartment in a client application
US9298679B2 (en) 2012-03-13 2016-03-29 Google Inc. System and method providing a binary representation of a web page
JP6061480B2 (ja) * 2012-03-16 2017-01-18 キヤノン株式会社 通信装置の制御方法及び通信装置
CN102625290B (zh) * 2012-04-10 2015-02-18 青岛海信移动通信技术股份有限公司 一种资源下载的方法、装置和系统及终端
US8898766B2 (en) 2012-04-10 2014-11-25 Spotify Ab Systems and methods for controlling a local application through a web page
CN103514089B (zh) * 2012-06-26 2016-03-09 腾讯科技(深圳)有限公司 软件管理器的软件安装检测方法和系统
US8938726B2 (en) 2012-08-28 2015-01-20 Sap Ag Integrating native application into web portal
US20140067835A1 (en) * 2012-08-30 2014-03-06 Microsoft Corporation Search extensibility application framework in a hosted search
US9465596B2 (en) 2012-09-27 2016-10-11 Google Inc. Cross system installation of web applications
CN103731445B (zh) * 2012-10-10 2016-12-21 上海宝信软件股份有限公司 一种基于ios的应用智能更新系统及方法
US9002821B2 (en) 2013-01-16 2015-04-07 Google Inc. Indexing application pages of native applications
US9203891B2 (en) 2013-03-13 2015-12-01 Qualcomm Incorporated System and method to enable web property access to a native application
KR101585547B1 (ko) * 2013-04-15 2016-01-14 김수현 프로그램 업데이트 확인방법
US20160134737A1 (en) * 2013-05-28 2016-05-12 Ravi PULLETIKURTY System having a miniature portable electronic device for command and control of a plurality of wireless devices
CN104598268A (zh) * 2014-12-12 2015-05-06 百度在线网络技术(北京)有限公司 应用的处理方法及装置
WO2016095686A1 (zh) * 2014-12-19 2016-06-23 北京奇虎科技有限公司 浏览器与移动终端之间进行通信的方法及浏览器装置
CN104394237B (zh) * 2014-12-19 2018-07-13 北京奇虎科技有限公司 浏览器与移动终端之间进行通信的方法及浏览器装置
US10397373B2 (en) * 2015-05-20 2019-08-27 Qualcomm Incorporated Renewing registrations for client applications installed on different proximate client devices
CN105159692B (zh) * 2015-06-18 2019-07-02 小米科技有限责任公司 应用的标识方法、装置及服务器
CN105939355A (zh) * 2016-06-13 2016-09-14 乐视控股(北京)有限公司 一种数据访问方法、系统及客户端和服务器
CN107015870B (zh) * 2016-09-19 2020-11-03 创新先进技术有限公司 实现web页面与本地应用通信的方法、装置和电子设备
US10564988B1 (en) * 2017-12-22 2020-02-18 Intuit Inc. Deploying cross-platform applications on mobile devices with native and web components

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103279375A (zh) * 2013-06-19 2013-09-04 百度在线网络技术(北京)有限公司 在浏览器中运行应用程序的方法和装置

Also Published As

Publication number Publication date
JP2019530089A (ja) 2019-10-17
KR20190049874A (ko) 2019-05-09
TWI713770B (zh) 2020-12-21
CN107015870A (zh) 2017-08-04
PH12019500601A1 (en) 2020-01-20
US10783212B2 (en) 2020-09-22
CN107015870B (zh) 2020-11-03
EP3518109A1 (en) 2019-07-31
US20190213231A1 (en) 2019-07-11
JP6945782B2 (ja) 2021-10-06
EP3518109A4 (en) 2020-04-08
MY181230A (en) 2020-12-21
WO2018050040A1 (zh) 2018-03-22
TW201814509A (zh) 2018-04-16

Similar Documents

Publication Publication Date Title
KR102166589B1 (ko) 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 방법 및 장치, 그리고 전자 디바이스
RU2673403C2 (ru) Способ доступа к веб-узлам, устройство и система веб-узла
EP3709603A1 (en) Method for internet of things device to access network, apparatus, and system
US9686139B2 (en) Method and networking device for setting network connection parameters
US20130246504A1 (en) Method for subscribing to notification, apparatus and system
US11184465B2 (en) Network communication for establishing a QUIC connection
CN109391673B (zh) 一种管理更新文件的方法、系统及终端设备
US8909705B2 (en) Method and system for use in providing network services interchange
WO2013143403A1 (zh) 一种访问网站的方法和系统
US9137094B1 (en) Method for setting DNS records
US9088462B2 (en) Common web accessible data store for client side page processing
JP2018536232A (ja) ウェブアプリケーションへのサインオンを制御するためのシステムおよび方法
CN103268319A (zh) 一种基于网页的云浏览器
KR20160054474A (ko) 클라이언트를 다운로드 및 인스톨하는 방법 및 장치
CN109302437B (zh) 一种重定向网站的方法和装置
CN105119973A (zh) 用户信息处理方法和服务器
US20140019957A1 (en) Method, apparatus, and system for sharing software among terminals
WO2022116575A1 (zh) 业务平台的访问权限获取方法和业务平台的访问控制方法
CN105338016A (zh) 数据高速缓存方法和装置以及资源请求响应方法和装置
US9021114B2 (en) Automatic connection of computing devices
US9521206B2 (en) Method, equipment and system for pushing network content
US10440100B2 (en) Information processing apparatus, information processing method, and non-transitory computer readable medium
KR101356836B1 (ko) 브라우저 상에서 실행되는 서비스의 정보를 공유하는 방법, 장치 및 시스템
CN110674435A (zh) 页面访问方法、服务器、终端、电子设备及可读存储介质
CN106790176B (zh) 一种访问网络的方法及系统

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