KR20190032569A - 모바일 브라우저를 통해 애플리케이션을 어웨이크하기 위한 방법 및 장치 - Google Patents

모바일 브라우저를 통해 애플리케이션을 어웨이크하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20190032569A
KR20190032569A KR1020197006041A KR20197006041A KR20190032569A KR 20190032569 A KR20190032569 A KR 20190032569A KR 1020197006041 A KR1020197006041 A KR 1020197006041A KR 20197006041 A KR20197006041 A KR 20197006041A KR 20190032569 A KR20190032569 A KR 20190032569A
Authority
KR
South Korea
Prior art keywords
mobile browser
app
information
target
target app
Prior art date
Application number
KR1020197006041A
Other languages
English (en)
Other versions
KR102205749B1 (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 KR20190032569A publication Critical patent/KR20190032569A/ko
Application granted granted Critical
Publication of KR102205749B1 publication Critical patent/KR102205749B1/ko

Links

Images

Classifications

    • 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/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • 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
    • G06F9/548Object oriented; Remote method invocation [RMI]
    • 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/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake
    • 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
    • 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
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45529Embedded in an application, e.g. JavaScript in a Web browser
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • 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/542Event management; Broadcasting; Multicasting; Notifications
    • 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/546Message passing systems or structures, e.g. queues
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)
  • Telephone Function (AREA)
  • Stored Programmes (AREA)

Abstract

본 출원은, 모바일 브라우저를 통해 앱을 인보크(invoke)하기 위한 방법 및 장치를 제공한다. 본 방법은, 모바일 브라우저가 타겟 앱에 대한 서비스 호출을 개시할 때 모바일 브라우저의 식별 정보를 획득하는 단계로서, 모바일 브라우저의 식별 정보는 모바일 브라우저의 패키지 이름 정보를 포함하는, 모바일 브라우저의 식별 정보를 획득하는 단계; 타겟 앱에 대한 제1 호출 데이터를 시스템에 제출하는 단계로서, 제1 호출 데이터는, 타겟 앱을 인보크하는 데 사용되는 커스텀 파라미터 및 모바일 브라우저의 식별 정보를 포함하는, 타겟 앱에 대한 제1 호출 데이터를 시스템에 제출하는 단계; 타겟 앱에 대한 서비스 호출이 개시될 때 모바일 브라우저에 의해 제출되는 제1 호출 데이터를 시스템이 수신하는 단계; 커스텀 파라미터에 기초해 타겟 앱을 인보크하여 대응 타겟 서비스를 실행하고, 모바일 브라우저의 식별 정보를 타겟 앱에 전송하는 단계; 및 타겟 서비스가 실행된 후, 모바일 브라우저의 패키지 이름 정보를 운반하고 타겟 앱에 의해 제출되는 제2 호출 데이터에 응답하고, 모바일 브라우저에 복귀하는 단계를 포함한다. 본 출원에 기초하여 사용자 경험이 개선될 수 있다.

Description

모바일 브라우저를 통해 애플리케이션을 어웨이크하기 위한 방법 및 장치
본 출원은 통신 분야에 관한 것이며, 특히, 모바일 브라우저를 통해 애플리케이션(앱(app))을 인보크(invoke)하기 위한 방법 및 장치에 관한 것이다.
ANDROID 모바일 디바이스의 서비스에 대한 통상적인 응용 시나리오는 다음과 같다. 사용자는 개시자(initiator)의 앱 또는 브라우저에서 서비스 프로세스를 실행하고, 서비스 프로세스는 제삼자 앱의 몇몇 기능, 예컨대, 제삼자 결제 기능 및 제삼자 로그인 기능을 인보크해야 한다.
사용자가 개시자의 앱 또는 모바일 브라우저로부터 제삼자 앱으로 점프(jump)한 후, 앱은 대응 서비스 프로세스를 완료하며, 사용자는 일반적으로 개시자의 앱 또는 모바일 브라우저에 복귀하여 대응 서비스 프로세스를 계속해야 한다.
실제 응용예에서, 개시자가 사용자의 모바일 디바이스 상의 앱일 때는, 일반적으로 ANDROID 시스템 내의 앱 사이의 점프 메커니즘에 기초하여 개시자의 앱에 복귀할 수 있다. 그리고, 개시자가 사용자의 모바일 디바이스 상의 모바일 브라우저일 때는, 제삼자 앱이 대응 서비스를 완료한 후 모바일 브라우저에 자동으로 복귀할 수 없다.
본 출원은, 모바일 브라우저를 통해 앱을 인보크하기 위한 방법을 제공한다. 본 방법은, 타겟 앱에 대한 서비스 호출이 개시될 때 모바일 브라우저에 의해 제출되는 제1 호출 데이터를 수신하는 단계로서, 제1 호출 데이터는, 타겟 앱을 인보크하는 데 사용되는 커스텀 파라미터(custom parameter) 및 모바일 브라우저의 식별 정보를 포함하고, 모바일 브라우저의 식별 정보는 모바일 브라우저의 패키지 이름 정보를 포함하는, 제1 호출 데이터를 수신하는 단계; 커스텀 파라미터에 기초해 타겟 앱을 인보크하여 대응 타겟 서비스를 실행하고, 모바일 브라우저의 식별 정보를 타겟 앱에 전송하는 단계; 및 대응 타겟 서비스가 실행된 후, 모바일 브라우저의 패키지 이름 정보를 운반하고 타겟 앱에 의해 제출되는 제2 호출 데이터에 응답하고, 모바일 브라우저에 복귀하는 단계를 포함한다.
선택적으로, 모바일 브라우저의 식별 정보는 모바일 브라우저의 유저 에이전트 정보(user agent information)를 더 포함하며, 모바일 브라우저의 식별 정보가 모바일 브라우저의 유저 에이전트 정보일 때, 모바일 브라우저의 패키지 이름 정보는 타겟 앱이 모바일 브라우저의 유저 에이전트 정보에 기초해 시스템 서버에 질의(querying)하여 획득된다.
선택적으로, 제2 호출 데이터는, 모바일 브라우저의 패키지 이름 정보에 기초하여 타겟 앱에 의해 구성되고 모바일 브라우저를 인보크하는 데 사용되는 인텐트(intent)이며, 모바일 브라우저의 패키지 이름 정보를 운반하고 타겟 앱에 의해 제출되는 제2 호출 데이터에 응답하고, 모바일 브라우저에 복귀하는 단계는, 모바일 브라우저의 패키지 이름 정보에 기초하여 구성되고 타겟 앱에 의해 제출되는 인텐트를 수신하는 단계; 모바일 브라우저의 패키지 이름 정보에 대응하는 액티비티 컴포넌트(activity component)에 대해 시스템 서버에 질의하는 단계; 및 모바일 브라우저에 대응하는 액티비티 컴포넌트를 인보크하고, 모바일 브라우저에 복귀하는 단계를 포함한다.
본 출원은, 모바일 브라우저를 통해 앱을 인보크하기 위한 방법을 더 제공한다. 본 방법은, 타겟 앱에 대한 서비스 호출이 개시될 때 모바일 브라우저의 식별 정보를 획득하는 단계로서, 모바일 브라우저의 식별 정보는 모바일 브라우저의 패키지 이름 정보를 포함하는, 모바일 브라우저의 식별 정보를 획득하는 단계; 및 타겟 앱에 대한 제1 호출 데이터를 시스템에 제출하는 단계로서, 제1 호출 데이터는, 타겟 앱을 인보크하는 데 사용되는 커스텀 파라미터 및 모바일 브라우저의 식별 정보를 포함하여, 시스템이, 커스텀 파라미터에 기초해 타겟 앱을 인보크하고, 타겟 앱이 대응 타겟 서비스를 완료할 때 모바일 브라우저의 패키지 이름 정보를 운반하고 타겟 앱에 의해 제출되는 인텐트에 응답하고, 모바일 브라우저에 복귀하도록 하는, 타겟 앱에 대한 제1 호출 데이터를 시스템에 제출하는 단계를 포함한다.
선택적으로, 타겟 앱에 대한 서비스 호출이 개시될 때 모바일 브라우저의 식별 정보를 획득하는 단계는, 모바일 브라우저의 유저 에이전트 정보를 획득하는 단계; 및 모바일 브라우저의 유저 에이전트 정보에 기초하여 모바일 브라우저의 패키지 이름 정보에 대해 시스템 서버에 질의하는 단계를 포함한다.
선택적으로, 모바일 브라우저의 식별 정보는 모바일 브라우저의 유저 에이전트 정보를 더 포함하며, 모바일 브라우저의 식별 정보가 모바일 브라우저의 유저 에이전트 정보일 때, 모바일 브라우저의 패키지 이름 정보는 타겟 앱이 모바일 브라우저의 유저 에이전트 정보에 기초해 시스템 서버에 질의하는 것을 통해 획득된다.
선택적으로, 제1 호출 데이터는, 스키마 프로토콜(Schema protocol)에 기초하여 정의된 URL(uniform resource locator)을 포함하며, 타겟 앱에 대한 서비스 호출이 개시될 때 타겟 앱에 대한 제1 호출 데이터를 시스템에 제출하는 단계는, 타겟 앱에 대한 서비스 호출이 개시될 때 스키마 프로토콜에 기초하여 URL을 정의하는 단계; 타겟 앱의 타겟 서비스 페이지를 인보크하는 데 사용되는 커스텀 파라미터 및 모바일 브라우저의 식별 정보를, 정의된 URL 내에 캡슐화하는 단계; 및 시스템 인터페이스를 인보크하고, URL을 시스템에 제출하는 단계를 포함한다.
본 출원은, 모바일 브라우저를 통해 앱을 인보크하기 위한 장치를 더 제공한다. 본 장치는, 타겟 앱에 대한 서비스 호출이 개시될 때 모바일 브라우저에 의해 제출되는 제1 호출 데이터를 수신하도록 구성된 수신 모듈로서, 제1 호출 데이터는, 타겟 앱을 인보크하는 데 사용되는 커스텀 파라미터 및 모바일 브라우저의 식별 정보를 포함하고, 모바일 브라우저의 식별 정보는 모바일 브라우저의 패키지 이름 정보를 포함하는, 수신 모듈; 커스텀 파라미터에 기초해 타겟 앱을 인보크하여 대응 타겟 서비스를 실행하고, 모바일 브라우저의 식별 정보를 타겟 앱에 전송하도록 구성된 인보크 모듈; 및 대응 타겟 서비스가 실행된 후, 모바일 브라우저의 패키지 이름 정보를 운반하고 타겟 앱에 의해 제출되는 제2 호출 데이터에 응답하고, 모바일 브라우저에 복귀하도록 구성된 응답 모듈을 포함한다.
선택적으로, 모바일 브라우저의 식별 정보가 모바일 브라우저의 유저 에이전트 정보일 때, 모바일 브라우저의 패키지 이름 정보는 타겟 앱이 모바일 브라우저의 유저 에이전트 정보에 기초해 시스템 서버에 질의하는 것을 통해 획득된다.
선택적으로, 제2 호출 데이터는, 모바일 브라우저의 패키지 이름 정보에 기초하여 타겟 앱에 의해 구성되고 모바일 브라우저를 인보크하는 데 사용되는 인텐트이며, 응답 모듈은, 모바일 브라우저의 패키지 이름 정보에 기초하여 구성되고 타겟 앱에 의해 제출되는 인텐트를 수신하고; 모바일 브라우저의 패키지 이름 정보에 대응하는 액티비티 컴포넌트에 대해 시스템 서버에 질의하고; 모바일 브라우저에 대응하는 액티비티 컴포넌트를 인보크하고, 모바일 브라우저에 복귀하도록 구성된다.
본 출원은, 모바일 브라우저를 통해 앱을 인보크하기 위한 장치를 더 제공한다. 본 장치는, 타겟 앱에 대한 서비스 호출이 개시될 때 모바일 브라우저의 식별 정보를 획득하도록 구성된 취득 모듈로서, 모바일 브라우저의 식별 정보는 모바일 브라우저의 패키지 이름 정보를 포함하는, 취득 모듈; 및 타겟 앱에 대한 제1 호출 데이터를 시스템에 제출하도록 구성된 제출 모듈로서, 제1 호출 데이터는, 타겟 앱을 인보크하는 데 사용되는 커스텀 파라미터 및 모바일 브라우저의 식별 정보를 포함하여, 시스템이, 커스텀 파라미터에 기초해 타겟 앱을 인보크하고, 타겟 앱이 대응 타겟 서비스를 완료할 때 모바일 브라우저의 패키지 이름 정보를 운반하고 타겟 앱에 의해 제출되는 인텐트에 응답하고, 모바일 브라우저에 복귀하도록 하는, 제출 모듈을 포함한다.
선택적으로, 취득 모듈은, 모바일 브라우저의 유저 에이전트 정보를 획득하고; 모바일 브라우저의 유저 에이전트 정보에 기초하여 모바일 브라우저의 패키지 이름 정보에 대해 시스템 서버에 질의하도록 구성된다.
선택적으로, 모바일 브라우저의 식별 정보는 모바일 브라우저의 유저 에이전트 정보를 더 포함하며, 모바일 브라우저의 식별 정보가 모바일 브라우저의 유저 에이전트 정보일 때, 모바일 브라우저의 패키지 이름 정보는 타겟 앱이 모바일 브라우저의 유저 에이전트 정보에 기초해 시스템 서버에 질의하는 것을 통해 획득된다.
선택적으로, 제1 호출 데이터는, 스키마 프로토콜에 기초하여 정의된 URL을 포함하며, 제출 모듈은, 타겟 앱에 대한 서비스 호출이 개시될 때 스키마 프로토콜에 기초하여 URL을 정의하고; 타겟 앱의 타겟 서비스 페이지를 인보크하는 데 사용되는 커스텀 파라미터 및 모바일 브라우저의 식별 정보를, 정의된 URL 내에 캡슐화하고; 시스템 인터페이스를 인보크하고, URL을 시스템에 제출하도록 구성된다.
본 출원에서, 서비스 개시자의 모바일 브라우저가 타겟 앱에 대한 서비스 호출을 개시할 때, 호출 데이터는 모바일 브라우저의 패키지 이름 정보를 운반하고, 시스템은 패키지 이름 정보를 타겟 앱에 전송한다. 따라서, 타겟 앱은, 대응 타겟 서비스를 완료한 후, 패키지 이름 정보를 운반하는 인텐트를 시스템에 제출함으로써, 시스템이, 인텐트에 응답하고, 서비스 개시자의 모바일 브라우저에 복귀하도록 할 수 있다. 제삼자 타겟 앱을 인보크함으로써 서비스를 완료한 후, 사용자는, 복귀할 모바일 브라우저를 수동으로 선택하는 대신, 개시자의 모바일 브라우저에 자동으로 복귀할 수 있으며, 이에 의해 사용자 경험이 개선된다.
도 1은, 본 출원의 하나의 구현예에 따른, 모바일 브라우저를 통해 앱을 인보크하기 위한 방법을 나타내는 흐름도이다.
도 2는, 본 출원의 하나의 구현예에 따른, 서비스 프론트엔드 페이지에 의해 모바일 브라우저의 유저 에이전트 정보를 획득하기 위한 JavaScript 코드의 하나의 예시이다.
도 3은, 본 출원의 하나의 구현예에 따른, 시스템 서버 상에 유지되는 서비스 목록을 나타내는 개략적 저장도이다.
도 4는, 본 출원의 하나의 구현예에 따른, 스키마 프로토콜에 기초하여 정의되는 URL을 사용함으로써 ALIPAY 앱을 인보크하기 위한 JavaScript 코드의 하나의 예시이다.
도 5는, 본 출원의 하나의 구현예에 따른, 서비스 개시자의 모바일 브라우저의 패키지 이름에 기초하여 타겟 앱에 의해 인텐트를 구성하기 위한 JavaScript 코드의 하나의 예시이다.
도 6은, 본 출원의 하나의 구현예에 따른, 모바일 브라우저를 통해 앱을 인보크하기 위한 장치를 나타내는 논리 블록도이다.
도 7은, 본 출원의 하나의 구현예에 따른, 모바일 브라우저를 통해 앱을 인보크하기 위한 장치를 갖는 모바일 디바이스를 나타내는 하드웨어 구조도이다.
도 8은, 본 출원의 하나의 구현예에 따른, 모바일 브라우저를 통해 앱을 인보크하기 위한 또 다른 장치를 나타내는 논리 블록도이다.
도 9는, 본 출원의 하나의 구현예에 따른, 모바일 브라우저를 통해 앱을 인보크하기 위한 또 다른 장치를 갖는 모바일 디바이스를 나타내는 하드웨어 구조도이다.
ANDROID 시스템에서, 서비스 개시자의 모바일 브라우저가 제삼자 앱에 대한 서비스 호출을 개시할 때, 모바일 브라우저는 일반적으로 스키마 프로토콜에 기초하여 URL을 정의할 수 있으며, 그 정의된 URL을 사용함으로써 제삼자 앱의 서비스 인터페이스를 인보크하여 대응 서비스 프로세스를 실행할 수 있다.
스키마 프로토콜은 ANDROID 시스템 호환 프로토콜이다.
제삼자 앱에 대한 서비스 호출을 개시할 때, 모바일 브라우저는, 앱을 인보크하는 데 사용되는 URL을 스키마 프로토콜에 기초하여 정의하고, 앱에 의해 특정되는 서비스 인터페이스를 인보크하는 데 사용되는 커스텀 파라미터를 URL 내에 캡슐화하고, 이후 시스템 API(application programming interface)를 사용함으로써 URL을 ANDROID 시스템에 제출할 수 있다. URL을 수신한 후, ANDROID 시스템은 스키마 프로토콜을 파싱(parsing)할 수 있으며, URL 내에 캡슐화된 커스텀 파라미터를 사용함으로써, 앱에 의해 특정되는 서비스 인터페이스를 인보크하여 서비스 호출을 실행할 수 있다.
사용자가 서비스 개시자의 모바일 브라우저를 사용함으로써 제삼자 앱에 대한 서비스 호출을 개시하고, 앱의 인보크된 특정 서비스 인터페이스 내에서 대응 서비스 프로세스가 완료된 후, 사용자는 일반적으로 서비스 개시자의 모바일 브라우저에 복귀하여 원래의 서비스 프로세스를 계속해야 한다.
예컨대, 사용자는 모바일 브라우저 내의 쇼핑 페이지를 사용함으로써 제삼자 결제 앱에 대한 서비스 호출을 개시한다. 이 경우, 앱의 인보크된 결제 페이지 내에서 결제가 완료된 후, 사용자는 일반적으로 모바일 브라우저 내의 쇼핑 완료 인터페이스에 복귀하여 후속 프로세스를 계속해야 한다.
현재의 ANDROID 플랫폼 상에서, 인텐트는 일반적으로 앱 사이의 점프를 구현하기 위하여 구성된다.
인텐트는, ANDROID 시스템 내의 ANDROID 앱의 컴포넌트 사이의 통신을 위해 정의되는 메소드이다. 인텐트는, 두 컴포넌트가 하나의 동작을 실행할 때의 행동, 그리고 이러한 행동과 관련된 데이터 및 추가적인 데이터를 기술하는 역할을 하며, 컴포넌트 사이의 상호 호출을 위한 관련 정보를 제공하는 데 사용된다.
사용자가 서비스 개시자의 모바일 브라우저를 사용함으로써 제삼자 앱에 대한 서비스 호출을 개시하고, 앱의 인보크된 특정 서비스 인터페이스 내에서 대응 서비스 프로세스가 완료된 후, 앱은, 모바일 브라우저로 점프하는 데 사용되는 인텐트를 ANDROID 시스템에 제출할 수 있다. ANDROID 시스템은, 인텐트 내에 운반되는 파라미터를 파싱하고, 인텐트 매칭을 수행하고, 매칭되는 인텐트에 대응하는 또 다른 앱의 액티비티 컴포넌트를 인보크하여, 또 다른 앱의 지정된 페이지로 점프할 수 있다.
그러나, 스키마 프로토콜에 기초하여 모바일 브라우저에 의해 정의되는 URL은, 앱에 의해 제출되는 인텐트 내에 운반되는 파라미터에 기초하여 ANDROID 시스템이 인텐트 매칭을 수행할 때 앱의 소스 정보(source information)를 운반하는 것을 일반적으로 지원하지 않으므로, 모바일 브라우저에 대한 불충분한 정보로 인해 ANDROID 시스템이 매칭을 통해 서비스 개시자의 모바일 브라우저를 정확하게 획득하지 못할 수 있다.
이 경우, ANDROID 시스템은 일반적으로 시스템 내의 모든 모바일 브라우저를 인보크하고, 사용자를 위해 브라우저 선택 윈도우를 팝업하여, 복귀할 모바일 브라우저를 사용자가 수동으로 선택하도록 한다.
종전의 해결책은 적어도 다음의 단점을 가지고 있다고 볼 수 있다.
제1 양상에서, ANDROID 시스템은 서비스 개시자의 모바일 브라우저에 자동으로 복귀할 수 없으며, 따라서, 사용자가 수동 선택을 수행해야 한다. 그러므로, 지루한 동작이 열악한 사용자 경험을 초래할 수 있다.
제2 양상에서, ANDROID 시스템은 다양한 유형의 모바일 브라우저(예컨대, 시스템 내 디폴트인 네이티브 브라우저, QQ 브라우저, UC 브라우저, 및 360 브라우저)를 가지고 있지만, 사용자는 이들 브라우저들에 친숙하지 않다. 따라서, 사용자에 의해 수동으로 선택되는 모바일 브라우저는, 원래의 서비스 개시자의 모바일 브라우저가 아닐 수도 있다.
제3 양상에서, 모바일 브라우저와 같은 웹 앱은 일반적으로 쿠키(cookie)를 사용하여 사용자 동작 상태(예컨대, 사용자의 로그인 상태 및 보안 통제 확인 상태)를 기록한다. 사용자에 의해 선택되는 모바일 브라우저가 원래의 서비스 개시자의 모바일 브라우저가 아니라면, 모바일 브라우저에서 서비스 프로세스를 계속할 때 사용자는 추가적인 동작을 통해 이 상태를 재개해야 한다. 따라서, 사용자에 의해 수행되는 동작이 증가하며 이는 사용자 경험에 영향을 미칠 수 있다.
이러한 점을 고려하여, 본 출원은 모바일 브라우저를 통해 앱을 인보크하기 위한 방법을 제공한다. 서비스 개시자의 모바일 브라우저가 타겟 앱에 대한 서비스 호출을 개시할 때, 호출 데이터는 모바일 브라우저의 패키지 이름 정보를 운반하고, 시스템은 패키지 이름 정보를 타겟 앱에 전송한다. 따라서, 타겟 앱은, 대응 타겟 서비스를 완료한 후, 패키지 이름 정보를 운반하는 인텐트를 시스템에 제출하여, 시스템이, 인텐트에 응답하고, 서비스 개시자의 모바일 브라우저에 복귀하도록 할 수 있다. 제삼자 타겟 앱을 인보크함으로써 서비스를 완료한 후, 사용자는, 복귀할 모바일 브라우저를 수동으로 선택하는 대신, 개시자의 모바일 브라우저에 자동으로 복귀할 수 있으며, 이에 의해 사용자 경험이 개선된다.
다음은, 구체적인 응용 시나리오에 관한 구체적인 구현예를 사용함으로써 본 출원을 설명한다.
도 1은, 본 출원의 하나의 구현예에 따른, 모바일 브라우저를 통해 앱을 인보크하기 위한 방법을 도시한다. 본 방법은 모바일 디바이스에 적용된다. 모바일 디바이스는 ANDROID 시스템을 가질 수 있다. ANDROID 시스템에는 모바일 브라우저 및 적어도 하나의 타겟 앱이 설치되어 있다. 모바일 브라우저는 ANDROID 시스템과 상호작용하여 다음의 단계를 수행한다.
단계(101): 모바일 브라우저가 타겟 앱에 대한 서비스 호출을 개시할 때 모바일 브라우저의 식별 정보를 획득하며, 모바일 브라우저의 식별 정보는 모바일 브라우저의 패키지 이름 정보를 포함한다.
본 구현예에서, 모바일 브라우저로부터의 타겟 앱에 대한 서비스 호출은 모바일 브라우저의 로컬 서비스 인터페이스 내에서 사용자에 의해 수동으로 트리거링될 수 있다.
하나의 도시된 구현예에서, 사용자가 조작하는 데 사용가능한 사용자 옵션이 모바일 브라우저의 로컬 서비스 인터페이스에 미리 제공될 수 있다. 사용자 옵션은 상호작용 버튼 또는 링크일 수 있다. 예컨대, 사용자는 모바일 브라우저의 로컬 쇼핑 페이지에서 ALIPAY 앱에 대한 서비스 호출을 개시하여 결제 프로세스를 실행한다. 사용자 옵션은, 쇼핑 페이지에 제공된 "ALIPAY를 사용하여 결제"라는 상호작용 버튼일 수 있거나, ALIPAY 앱의 결제 페이지로의 점프를 트리거링할 수 있는 링크일 수 있다.
사용자는 서비스 인터페이스 내의 사용자 옵션을 터치하여 모바일 브라우저를 트리거링함으로써 제삼자 타겟 앱에 대한 서비스 호출을 개시할 수 있다. 백그라운드에서 사용자 옵션에 대한 사용자의 터치 이벤트를 청취(listening)한 후, 모바일 브라우저는 ANDROID 시스템을 사용함으로써 타겟 앱에 대한 서비스 인터페이스 호출을 즉시 개시할 수 있다.
로컬 서비스 인터페이스에 대한 호출 요청을 수신한 후, 타겟 앱은, 대응 서비스 프론트엔드 페이지의 URL을 모바일 브라우저에 반환할 수 있다. URL을 수신한 후, 모바일 브라우저는 대응 서비스 프론트엔드 페이지로 점프할 수 있다.
서비스 프론트엔드 페이지는, 모바일 브라우저 상에 로딩되고 제삼자 타겟 앱 내의 서비스를 실행하는 데 사용되는 웹 페이지이다. 실제 응용예에서, 서비스 프론트엔드 페이지의 특정 기능이 모바일 브라우저의 공급자와 제삼자 타겟 앱의 공급자에 의해 공동으로 개발될 수 있다.
모바일 브라우저의 로컬 쇼핑 페이지 내에서 사용자가 ALIPAY 앱에 대한 서비스 호출을 개시하여 결제 프로세스를 실행하는 구현예를 다시 예로 들면, 서비스 프론트엔드 페이지는, 모바일 브라우저의 공급자와 ALIPAY 앱의 공급자에 의해 공동으로 개발되고, 결제를 수행하기 위해 ALIPAY 앱을 인보크하는 데 사용되는, 서비스 진입 인터페이스(service entry interface)일 수 있다. 결제 금액 및 구매될 제품과 같은 세부사항에 관한 정보가 서비스 진입 인터페이스에 디스플레이될 수 있다. 인터페이스에 디스플레이되는 정보에 기초하여 사용자는 현재의 결제를 확인할 수 있다.
본 구현예에서, 모바일 브라우저가 서비스 프론트엔드 페이지로 점프한 후, 서비스 실행의 프론트엔드로서의 서비스 프론트엔드 페이지는, 서비스 개시자의 역할을 하는 모바일 브라우저의 식별 정보를 획득할 수 있다.
구현 시, 모바일 브라우저의 식별 정보는 모바일 브라우저의 유저 에이전트 정보 또는 패키지 이름(패키지 이름 정보)을 포함할 수 있다. 패키지 이름은 ANDROID 시스템에 의해 시스템 내의 각 앱에 대해 정의되는 고유 식별자이다. 유저 에이전트 정보는 일반적으로 브라우저의 이름 및 버전과 같은 정보를 기록한다. 모바일 브라우저의 버전 정보는 일반적으로 모바일 브라우저의 시스템 환경과 같은 정보를 포함한다.
하나의 도시된 구현예에서, 모바일 브라우저의 식별 정보가 유저 에이전트 정보일 때, 서비스 프론트엔드 페이지는 서비스 프론트엔드 페이지에 로딩된 JavaScript 코드를 실행함으로써 모바일 브라우저의 유저 에이전트 정보를 직접 획득할 수 있다.
예컨대, 도 2는, 본 구현예에 따른, 서비스 프론트엔드 페이지에 의해 모바일 브라우저의 유저 에이전트 정보를 획득하기 위한 JavaScript 코드의 한 예시이다.
도 2에 도시된 코드 예시에서, ua=navigator.userAgent는 모바일 브라우저의 이름을 반환하는 데 사용되고, version=navigator.appVersion은 모바일 브라우저의 시스템 환경에 관한 정보를 반환하는 데 사용된다.
또 다른 도시된 구현예에서, 모바일 브라우저의 식별 정보가 패키지 이름일 때, 서비스 프론트엔드 페이지가 현재의 모바일 브라우저의 패키지 이름을 획득하면, 서비스 프론트엔드 페이지는, 획득된 유저 에이전트 정보를, 모바일 브라우저의 패키지 이름에 대해 ANDROID 시스템의 시스템 서버에 질의하기 위한 색인으로서 사용할 수 있다.
모바일 브라우저의 유저 에이전트 정보, 모바일 브라우저의 패키지 이름, 및 모바일 브라우저의 액티비티 컴포넌트 사이의 매핑 관계를 저장한 서비스 목록이 시스템 서버 내에 미리 유지될 수 있다.
현재의 모바일 브라우저의 유저 에이전트 정보를 획득한 후, 서비스 프론트엔드 페이지는 모바일 브라우저의 유저 에이전트 정보를 시스템 서버에 전송할 수 있다.
모바일 브라우저의 유저 에이전트 정보를 시스템 서버에 전송할 때, 서비스 프론트엔드 페이지는, 서비스 프론트엔드 페이지와 시스템 서버 사이의 AJAX 인터페이스를 사용함으로써 요청의 형태로 모바일 브라우저의 유저 에이전트 정보를 시스템 서버에 업로드할 수 있다.
서비스 프론트엔드 페이지에 의해 전송된 유저 에이전트 정보를 수신한 후, 시스템 서버는 유저 에이전트 정보를 색인으로서 사용하여 서비스 목록에서 대응 패키지 이름을 서치(search)한 후, 획득된 패키지 이름을 서비스 프론트엔드 페이지에 반환할 수 있다.
예컨대, 도 3은, 본 구현예에 따른, 시스템 서버 상에 유지되는 서비스 목록을 나타내는 개략적 저장도이다.
유저 에이전트 정보에 기초하여 대응 패키지 이름을 서치할 때, 시스템 서버는 먼저 유저 에이전트 정보를 판독하여 모바일 브라우저의 버전 정보를 획득할 수 있다. 모바일 브라우저의 버전 정보는 일반적으로 모바일 브라우저의 버전 및 시스템 환경과 같은 정보를 포함한다. 시스템 환경에 관한 획득된 정보에 기초하여, 시스템 서버는 서비스 목록으로부터 모바일 브라우저의 유형을 결정할 수 있다. 예컨대, 시스템 서버는 모바일 브라우저의 최하층 환경이 ANDROID 시스템에 기초하는지 또는 IOS 시스템에 기초하는지의 여부를 결정할 수 있다. 모바일 브라우저의 유형을 결정한 후, 시스템 서버는, 유저 에이전트 정보 내의 모바일 브라우저의 이름에 기초하여, 대응 패키지 이름을 더 서치할 수 있다. 이 경우, 획득된 패키지 이름은, ANDROID 시스템 내의 모바일 브라우저의 고유 식별자이다. 시스템 서버는 패키지 이름을 서비스 프론트엔드 페이지에 반환할 수 있다.
단계(102): 타겟 앱에 대한 제1 호출 데이터를 시스템에 제출하며, 제1 호출 데이터는, 타겟 앱을 인보크하는 데 사용되는 커스텀 파라미터 및 모바일 브라우저의 식별 정보를 포함한다.
단계(103): 타겟 앱에 대한 서비스 호출이 개시될 때, 모바일 브라우저에 의해 제출되는 제1 호출 데이터를 시스템이 수신한다.
하나의 도시된 구현예에서, 제1 호출 데이터는, 스키마 프로토콜에 기초하여 서비스 프론트엔드 페이지에 의해 정의된 URL일 수 있다.
서비스 프론트엔드 페이지가 타겟 앱에 대한 서비스 호출을 개시할 때, 서비스 프론트엔드 페이지는, 스키마 프로토콜에 기초하여, 타겟 앱을 인보크하는 데 사용되는 URL을 정의하고, 타겟 앱의 타겟 서비스 페이지를 인보크하는 데 사용되는 미리 결정된 커스텀 파라미터를 URL 내에 캡슐화할 수 있다.
추가적으로, 서비스 프론트엔드 페이지는 또한, 획득된 현재 모바일 브라우저의 식별자 정보를, 타겟 앱에 전송되어야 하는 추가적인 파라미터로서 사용할 수 있고, 식별자 정보를 URL 내에 캡슐화할 수 있다. 당연히, 실제 응용예에서는, 패키지 이름과 같은, 서비스 개시자의 앱의 소스 정보의 운반을 스키마 프로토콜이 기본적으로 지원할 수 있도록, ANDROID 시스템에 의해 지원되는 스키마 프로토콜이 개선될 수 있다. 그러므로, 패키지 이름을 추가적인 파라미터로서 캡슐화하는 대신, 스키마 프로토콜에 기초하여 정의되는 URL이 서비스 개시자의 모바일 브라우저의 패키지 이름을 기본적으로 운반한다.
예컨대, 사용자는 모바일 브라우저를 사용함으로써 인텐트 프로토콜에 기초하여 ALIPAY 앱에 대한 서비스 호출을 개시하며, 모바일 브라우저의 식별 정보는 패키지 이름이다. 스키마 프로토콜에 기초하여 서비스 프론트엔드 페이지에 의해 정의되고 ALIPAY 앱을 인보크하는 데 사용되는 URL은 다음과 같을 수 있다.
url=intent://schemeapi/startapp?+patams+#Intent;scheme=+encodeURIComponent(zmverify)+;package=com.mobile.android;
이 URL에서, "intent://schemeapi/startapp"은, 하나의 방식에 기초하여 정의된 프로토콜 헤더이다. 파라미터 식별자인 ? 이후의 "+patams+#Intent;scheme=+encodeURIComponent (zmverify)"는, ALIPAY 앱 내의 결제 페이지에 대응하는 액티비티 컴포넌트를 인보크하는 데 사용되는 커스텀 파라미터이다. 인보크되어야 하는 액티비티 컴포넌트를 위치확인하기 위하여, ANDROID 시스템은, 전술한 파라미터들을, ALIPAY 앱의 액티비티 컴포넌트에 대응하고 시스템 구성 파일 내에 등록되어 있는 인텐트와 매칭시킬 수 있다. "package=com.mobile.android;"는, ALIPAY 앱에 전송되어야 하는 모바일 브라우저의 패키지 이름이다.
본 구현예에서, 스키마 프로토콜에 기초하여 서비스 프론트엔드 페이지에 의해 정의되는 URL은, API 시스템 인터페이스를 인보크함으로써, 서비스 프론트엔드 페이지에 의해 ANDROID 시스템에 요청의 형태로 제출될 수 있다.
사용자는 타겟 앱에 대한 서비스 호출을 ANDROID 시스템에 제출하기 위하여 서비스 프론트엔드 페이지를 수동으로 트리거링할 수 있다.
하나의 도시된 구현예에서, 사용자가 조작하는 데 사용가능한 사용자 버튼이 서비스 프론트엔드 페이지 상에 미리 제공될 수 있다. 사용자는 사용자 버튼을 터치하여 서비스 프론트엔드 페이지를 트리거링함으로써 URL을 ANDROID 시스템에 요청의 형태로 제출할 수 있다.
모바일 브라우저의 로컬 쇼핑 페이지 내에서 사용자가 ALIPAY 앱에 대한 서비스 호출을 개시하여 결제 프로세스를 실행하고, 서비스 개시자의 모바일 브라우저의 식별 정보는 패키지 이름인 구현예를 다시 예로 들면, 서비스 프론트엔드 페이지 상에 "ALIPAY를 사용하여 결제"라는 사용자 버튼이 제공될 수 있다. 사용자 버튼은, 도 4에 도시된 JavaScript 코드에 정의된 실행 메소드와 바인딩(binding)될 수 있다.
사용자는 사용자 버튼을 "클릭"하여 서비스 프론트엔드 페이지를 트리거링함으로써, 사용자 버튼과 바인딩된 실행 메소드를 인보크하고 API 시스템 인터페이스를 인보크하여 URL을 ANDROID 시스템에 요청의 형태로 제출할 수 있다.
도 4에 도시된 JavaScript 코드에서, zmVerifyUrl은, 스키마 프로토콜에 기초하여 서비스 프론트엔드 페이지에 의해 정의되고 ALIPAY 앱을 인보크하는 데 사용되는 URL이고; 레이블 "a"는 사용자 버튼에 대응하고; "openIntentLink.dispatchEvent (ZmVerify.customClickEvent ())"는, 레이블 "a"가 사용자 클릭 이벤트와 바인딩되었다는 것을 나타내고, 사용자 버튼을 위한 레이블 "a"에 대응하는 사용자 클릭 이벤트가 청취될 때, 해당 URL이 ANDROID 시스템에 요청의 형태로 제출된다.
서비스 프론트엔드 페이지에 의해 제출된 URL을 수신한 후, ANDROID 시스템은, 서비스 프론트엔드 페이지에 의해 제출된 URL을 파싱하여, URL 내에 운반된 서비스 개시자의 모바일 브라우저의 식별 정보 및 커스텀 파라미터를 획득할 수 있다.
단계(104): 커스텀 파라미터에 기초해 타겟 앱을 인보크하여 대응 타겟 서비스를 실행하고, 모바일 브라우저의 식별 정보를 타겟 앱에 전송한다.
이 구현예에서, ANDROID 시스템이, 서비스 프론트엔드 페이지에 의해 제출된 URL을 파싱하고, URL 내에서 서비스 개시자의 모바일 브라우저의 식별 정보 및 커스텀 파라미터를 획득한 후, ANDROID 시스템은, 인보크되어야 하는 액티비티 컴포넌트를 위치확인하기 위하여, URL 내의 커스텀 파라미터를, ALIPAY 앱의 액티비티 컴포넌트에 대응하고 시스템 구성 파일(예컨대, 시스템 구성 파일은 ANDROID 시스템 내의 AndroidManifest.xml 파일일 수 있음) 내에 등록되어 있는 인텐트와 매칭시킬 수 있다. 매칭 후, 시스템 파일 내에 등록되어 있는 임의의 인텐트가 획득될 때, ANDROID 시스템은, 해당 인텐트에 대응하는 액티비티 컴포넌트를 즉시 인보크하여 타겟 앱의 타겟 서비스 페이지로 점프할 수 있다.
또한, 타겟 앱에 대응하고, 매칭되는 인텐트에 대응하는, 액티비티 컴포넌트를 인보크한 후, ANDROID 시스템은 또한, URL 내에 캡슐화된 서비스 개시자의 모바일 브라우저의 식별 정보를 타겟 앱에 전송할 수 있다.
서비스 프론트엔드 페이지에 의해 ANDROID 시스템에 제출되는 서비스 개시자의 모바일 브라우저의 식별 정보가 유저 에이전트 정보라면, 타겟 앱은 수신된 유저 에이전트 정보를 ANDROID 시스템의 시스템 서버에 전송할 수 있다는 점을 언급할 만하다. 시스템 서버는 유저 에이전트 정보를 색인으로서 사용하며, 모바일 브라우저의 유저 에이전트 정보, 모바일 브라우저의 패키지 이름, 및 모바일 브라우저의 액티비티 컴포넌트 사이의 매핑 관계를 저장하고 시스템 서버 내에 유지되는 서비스 목록에서 대응 패키지 이름을 서치하고, 발견된 패키지 이름을 타겟 앱에 반환한다.
단계(105): 대응 타겟 서비스가 실행된 후, 모바일 브라우저의 패키지 이름 정보를 운반하고 타겟 앱에 의해 제출되는 제2 호출 데이터에 응답하고, 모바일 브라우저에 복귀한다.
하나의 도시된 구현예에서, 제2 호출 데이터는, 모바일 브라우저의 패키지 이름 정보에 기초하여 타겟 앱에 의해 구성되고 서비스 개시자의 모바일 브라우저를 인보크하는 데 사용되는 인텐트일 수 있다.
ANDROID 시스템이, 매칭되는 인텐트에 대응하는 액티비티 컴포넌트를 인보크하고, 타겟 앱의 타겟 서비스 페이지로 점프할 때, 사용자는 타겟 서비스 페이지 상에서 후속 서비스 프로세스를 실행할 수 있다.
예컨대, 타겟 앱이 ALIPAY 앱일 때, 타겟 서비스 페이지는 ALIPAY 앱의 결제 페이지일 수 있고, 사용자는 결제 페이지 내에서 결제 패스워드를 입력하여 결제를 완료할 수 있다.
사용자가 타겟 서비스 페이지 내에서 타겟 서비스의 서비스 프로세스를 완료한 후:
타겟 앱은 서비스 실행 결과를 서비스 개시자의 모바일 브라우저에 푸쉬하여, 모바일 브라우저가 서비스 종료 페이지로 점프하도록 트리거링할 수 있다.
또한, 타겟 앱은, ANDROID 시스템에 의해 전송된 서비스 개시자의 모바일 브라우저의 패키지 이름, 또는 시스템 서버에 의해 발견된 서비스 개시자의 모바일 브라우저의 패키지 이름에 기초하여 인텐트를 구성하고, 해당 인텐트를 ANDROID 시스템에 제출하여, ANDROID 시스템이 개시자의 모바일 브라우저의 액티비티 컴포넌트를 인보크하도록 트리거링하고, 서비스 개시자의 모바일 브라우저에 복귀할 수 있다.
예컨대, 도 5는, 본 구현예에 따른, 서비스 개시자의 모바일 브라우저의 패키지 이름에 기초하여 타겟 앱에 의해 인텐트를 구성하기 위한 JavaScript 코드의 한 예시이다. 도 5에 도시된 코드 예시에서, "new ComponentName (Package Name, appName)"은 구성되는 인텐트의 완전한 이름이고; "android.intent.action.View"는 ANDROID 시스템에 의해 지원되는 표준 인텐트이고, 브라우저 프로그램을 열고 URL을 표시하는 것을 의미하며; "intent.FLAG_ACTIVITY_NEW_TASK"도 ANDROID 시스템에 의해 지원되는 표준 인텐트이고, 패키지 이름에 대응하는 액티비티 컴포넌트를 인보크하고 해당 액티비티 컴포넌트를, ANDROID 시스템 내에 유지되는 액티비티 스택의 최상부에 두는 것을 의미한다(액티비티 컴포넌트는 시스템 내에 디스플레이되는 인터랙티브 윈도우(interactive window)이며, 액티비티 컴포넌트를 스택의 최상부에 두는 것은, 액티비티 컴포넌트에 대응하는 인터랙티브 윈도우를 ANDROID 시스템 데스크톱의 최상위 계층으로 이동시키는 것을 의미).
도 5에 도시된 코드 예시에서, 서비스 개시자의 브라우저의 패키지 이름이 ComponentName 내에 특정되어 있으며, ANDROID 시스템은, 패키지 이름에 기초하여, 인보크되어야 하는 액티비티 컴포넌트를 정확하게 위치확인할 수 있다. 따라서, ANDROID 시스템은 명시적 인텐트 호출을 실행한다(인텐트 호출은 명시적 호출(explicit call)과 묵시적 호출(implicit call)을 포함하며, 명시적 호출은 인보크될 당사자의 액티비티 컴포넌트가 명시적이라는 것을 의미하고, 묵시적 호출은 인보크될 당사자의 액티비티 컴포넌트가 묵시적이며, 인텐트 내에 정의된 속성 파라미터의 매칭을 수행함으로써 액티비티 컴포넌트가 위치확인되고 인보크된다는 것을 의미함).
본 구현예에서, 타겟 서비스의 서비스 프로세스가 완료된 후에 타겟 앱에 의해 제출된 인텐트를 수신한 후, ANDROID 시스템은 인텐트를 파싱하여, 인텐트 내에 운반된 서비스 개시자의 모바일 브라우저의 패키지 이름을 획득한 후, 패키지 이름을 시스템 서버에 업로드할 수 있다. 시스템 서버는 패키지 이름을 색인으로서 사용하며, 모바일 브라우저의 유저 에이전트 정보, 모바일 브라우저의 패키지 이름, 및 모바일 브라우저의 액티비티 컴포넌트 사이의 매핑 관계를 저장하고 시스템 서버 내에 유지되는 서비스 목록에서 모바일 브라우저의 액티비티 컴포넌트를 서치하고, 발견된 액티비티 컴포넌트의 이름을 ANDROID 시스템에 반환한다.
서비스 개시자의 모바일 브라우저의 액티비티 컴포넌트를 획득한 후, ANDROID 시스템은 타겟 앱에 의해 제출된 인텐트에 응답하고, 모바일 브라우저의 액티비티 컴포넌트를 인보크하고, 모바일 브라우저의 액티비티 컴포넌트를 ANDROID 시스템 내에 유지되는 액티비티 스택의 최상부에 두고, 서비스 개시자의 모바일 브라우저에 복귀할 수 있다. 이 경우, 모바일 브라우저의 인터랙티브 윈도우는 시스템 데스크톱의 최상위 계층에 디스플레이된다. 사용자가 타겟 앱의 타겟 서비스 페이지 상에서 제삼자의 서비스 프로세스를 완료한 후, 시스템은 서비스 개시자의 모바일 브라우저의 서비스 종료 페이지에 복귀한다.
타겟 앱에 의해 제출된 인텐트에 응답할 때, ANDROID 시스템은, 패키지 이름을 사용함으로써, 인보크되어야 하는 서비스 개시자의 모바일 브라우저의 액티비티 컴포넌트를 정확하게 위치확인할 수 있고, 시스템은 명시적 인텐트 호출을 실행하고, 서비스 개시자의 모바일 브라우저의 서비스 종료 페이지로 자동으로 점프할 수 있다. 전체 프로세스에서, 시스템은 사용자가 복귀할 모바일 브라우저를 수동으로 선택하도록 브라우저 선택 윈도우를 팝업할 필요가 없으며, 이에 의해 사용자 경험이 개선된다.
전술한 구현예에서, 서비스 개시자의 모바일 브라우저가 타겟 앱에 대한 서비스 호출을 개시할 때, 호출 데이터는 모바일 브라우저의 패키지 이름 정보를 운반하고, 시스템은 패키지 이름 정보를 타겟 앱에 전송한다. 따라서, 타겟 앱은, 대응 타겟 서비스를 완료한 후, 패키지 이름 정보를 운반하는 인텐트를 시스템에 제출함으로써, 시스템이, 인텐트에 응답하고, 서비스 개시자의 모바일 브라우저에 복귀하도록 할 수 있다.
타겟 앱에 의해 제출되는 인텐트는 서비스 개시자의 모바일 브라우저의 패키지 이름 정보를 운반하므로, ANDROID 시스템은, 패키지 이름 정보에 기초하여, 인보크되어야 하는 액티비티 컴포넌트를 정확하게 위치확인할 수 있다. 따라서, 인텐트에 응답할 때, ANDROID 시스템은 명시적 인텐트 호출을 실행할 수 있고, 복귀할 모바일 브라우저를 사용자가 수동으로 선택하도록 브라우저 선택 윈도우를 팝업하는 대신, 서비스 개시자의 모바일 브라우저로 자동으로 점프할 수 있으며, 이에 의해 동작이 단순화된다. 또한, 브라우저에 의해 기록된 사용자 동작 상태를 재개하기 위하여 서비스 개시자의 모바일 브라우저와는 상이한 또 다른 브라우저를 사용자가 수동으로 선택하는 경우에도, 사용자는 추가적인 동작을 수행할 필요가 없으며, 이에 의해 사용자 경험이 개선된다.
본 출원은, 전술한 방법 구현예에 대응하는 장치 구현예를 더 제공한다.
도 6을 참조하면, 본 출원은 모바일 브라우저를 통해 앱을 인보크하기 위한 장치(60)를 제공한다. 장치(60)는 ANDROID 시스템에 적용된다. 도 7을 참조하면, ANDROID 시스템을 갖는 모바일 디바이스에 관련된 하드웨어 아키텍처는 일반적으로 CPU, 메모리, 비휘발성 메모리, 네트워크 인터페이스, 내부 버스 등을 포함한다. 하나의 소프트웨어 구현예에서, 모바일 브라우저를 통해 앱을 인보크하기 위한 장치(60)는 일반적으로, 메모리 내에 로딩된 컴퓨터 프로그램을 CPU가 실행한 후에 획득되는 소프트웨어와 하드웨어의 조합의 논리 장치인 것으로 이해될 수 있다. 장치(60)는, 타겟 앱에 대한 서비스 호출이 개시될 때 모바일 브라우저에 의해 제출되는 제1 호출 데이터를 수신하도록 구성된 수신 모듈(601)로서, 제1 호출 데이터는, 타겟 앱을 인보크하는 데 사용되는 커스텀 파라미터 및 모바일 브라우저의 식별 정보를 포함하고, 모바일 브라우저의 식별 정보는 모바일 브라우저의 패키지 이름 정보를 포함하는, 수신 모듈(601); 커스텀 파라미터에 기초해 타겟 앱을 인보크하여 대응 타겟 서비스를 실행하고, 모바일 브라우저의 식별 정보를 타겟 앱에 전송하도록 구성된 인보크 모듈(602); 및 대응 타겟 서비스가 실행된 후, 모바일 브라우저의 패키지 이름 정보를 운반하고 타겟 앱에 의해 제출되는 제2 호출 데이터에 응답하고, 모바일 브라우저에 복귀하도록 구성된 응답 모듈(603)을 포함한다.
본 구현예에서, 모바일 브라우저의 식별 정보가 모바일 브라우저의 유저 에이전트 정보일 때, 모바일 브라우저의 패키지 이름 정보는 타겟 앱이 모바일 브라우저의 유저 에이전트 정보에 기초해 시스템 서버에 질의하는 것을 통해 획득된다.
본 구현예에서, 제2 호출 데이터는, 모바일 브라우저의 패키지 이름 정보에 기초하여 타겟 앱에 의해 구성되고 모바일 브라우저를 인보크하는 데 사용되는 인텐트이다.
응답 모듈(603)은, 모바일 브라우저의 패키지 이름 정보에 기초하여 구성되고 타겟 앱에 의해 제출되는 인텐트를 수신하고; 모바일 브라우저의 패키지 이름 정보에 대응하는 액티비티 컴포넌트에 대해 시스템 서버에 질의하고; 모바일 브라우저에 대응하는 액티비티 컴포넌트를 인보크하고, 모바일 브라우저에 복귀하도록 구성된다.
도 8을 참조하면, 본 출원은 모바일 브라우저를 통해 앱을 인보크하기 위한 장치(80)를 제공한다. 장치(80)는 모바일 브라우저에 적용된다. 도 9를 참조하면, 모바일 브라우저를 갖는 모바일 디바이스에 관련된 하드웨어 아키텍처는 일반적으로 CPU, 메모리, 비휘발성 메모리, 네트워크 인터페이스, 내부 버스 등을 포함한다. 하나의 소프트웨어 구현예에서, 모바일 브라우저를 통해 앱을 인보크하기 위한 장치(80)는 일반적으로, 메모리 내에 로딩된 컴퓨터 프로그램을 CPU가 실행한 후에 획득되는 소프트웨어와 하드웨어의 조합의 논리 장치인 것으로 이해될 수 있다. 장치(80)는, 타겟 앱에 대한 서비스 호출이 개시될 때 모바일 브라우저의 식별 정보를 획득하도록 구성된 취득 모듈(801)로서, 모바일 브라우저의 식별 정보는 모바일 브라우저의 패키지 이름 정보를 포함하는, 취득 모듈(801); 및 타겟 앱에 대한 제1 호출 데이터를 시스템에 제출하도록 구성된 제출 모듈(802)로서, 제1 호출 데이터는, 타겟 앱을 인보크하는 데 사용되는 커스텀 파라미터 및 모바일 브라우저의 식별 정보를 포함하여, 시스템이, 커스텀 파라미터에 기초해 타겟 앱을 인보크하고, 타겟 앱이 대응 타겟 서비스를 완료할 때 모바일 브라우저의 패키지 이름 정보를 운반하고 타겟 앱에 의해 제출되는 인텐트에 응답하고, 모바일 브라우저에 복귀하도록 하는, 제출 모듈(802)을 포함한다.
본 구현예에서, 취득 모듈(801)은, 모바일 브라우저의 유저 에이전트 정보를 획득하고; 모바일 브라우저의 유저 에이전트 정보에 기초하여 모바일 브라우저의 패키지 이름 정보에 대해 시스템 서버에 질의하도록 구성된다.
본 구현예에서, 모바일 브라우저의 식별 정보는 모바일 브라우저의 유저 에이전트 정보를 더 포함한다.
모바일 브라우저의 식별 정보가 모바일 브라우저의 유저 에이전트 정보일 때, 모바일 브라우저의 패키지 이름 정보는 타겟 앱이 모바일 브라우저의 유저 에이전트 정보에 기초해 시스템 서버에 질의하는 것을 통해 획득된다.
본 구현예에서, 제1 호출 데이터는, 스키마 프로토콜에 기초하여 정의된 URL을 포함한다.
제출 모듈(802)은, 타겟 앱에 대한 서비스 호출이 개시될 때 스키마 프로토콜에 기초하여 URL을 정의하고; 타겟 앱의 타겟 서비스 페이지를 인보크하는 데 사용되는 커스텀 파라미터 및 모바일 브라우저의 식별 정보를, 정의된 URL 내에 캡슐화하고; 시스템 인터페이스를 인보크하고, 해당 URL을 시스템에 제출하도록 구성된다.
당업자는, 본 명세서를 살펴보고 본 명세서에 개시된 발명을 실시한 후, 본 출원의 또 다른 구현 솔루션을 쉽게 파악할 수 있다. 본 출원은, 본 출원의 임의의 변형, 기능, 또는 적응적 변경을 포함하도록 의도되었다. 이들 변형, 기능, 또는 적응적 변경은 본 출원의 일반적인 원리를 따르며, 본 출원에 개시되지 않은, 해당 기술 분야의 통상적 지식 또는 통상적으로 사용되는 기술적 수단을 포함한다. 본 명세서 및 구현예는 단지 예시로서만 고려된다. 본 출원의 실제 범위 및 사상은 다음의 청구항들에 의해 지시된다.
본 출원은, 전술되고 첨부 도면에 도시된 특정한 구조로 제한되지 않으며, 본 출원의 범위로부터 벗어나지 않으면서 수정 및 변경이 이루어질 수 있다는 것이 이해되어야 한다. 본 출원의 범위는, 첨부된 청구항들에 의해서만 제한된다.
전술한 설명은 단지 본 출원의 구현예일 뿐이며, 본 출원을 제한하도록 의도된 것은 아니다. 본 출원의 사상 및 원리로부터 벗어나지 않으면서 이루어지는 임의의 수정, 등가적 대체, 또는 개선은 본 출원의 보호 범위 내에 속해야 한다.

Claims (14)

  1. 모바일 브라우저를 통해 앱을 인보크(invoke)하기 위한 방법으로서, 상기 방법은,
    타겟 앱에 대한 서비스 호출이 개시될 때 모바일 브라우저에 의해 제출되는 제1 호출 데이터를 수신하는 단계로서, 상기 제1 호출 데이터는, 상기 타겟 앱을 인보크하는 데 사용되는 커스텀 파라미터(custom parameter) 및 상기 모바일 브라우저의 식별 정보를 포함하고, 상기 모바일 브라우저의 식별 정보는 상기 모바일 브라우저의 패키지 이름 정보를 포함하는, 상기 제1 호출 데이터를 수신하는 단계;
    상기 커스텀 파라미터에 기초해 상기 타겟 앱을 인보크하여 대응 타겟 서비스를 실행하고, 상기 모바일 브라우저의 식별 정보를 상기 타겟 앱에 전송하는 단계; 및
    상기 대응 타겟 서비스가 실행된 후, 상기 모바일 브라우저의 패키지 이름 정보를 운반하고 상기 타겟 앱에 의해 제출되는 제2 호출 데이터에 응답하고, 상기 모바일 브라우저에 복귀하는 단계
    를 포함하는, 모바일 브라우저를 통해 앱을 인보크하기 위한 방법.
  2. 제1항에 있어서, 상기 모바일 브라우저의 식별 정보는 상기 모바일 브라우저의 유저 에이전트 정보(user agent information)를 더 포함하며,
    상기 모바일 브라우저의 식별 정보가 상기 모바일 브라우저의 유저 에이전트 정보일 때, 상기 모바일 브라우저의 패키지 이름 정보는 상기 타겟 앱이 상기 모바일 브라우저의 유저 에이전트 정보에 기초해 시스템 서버에 질의(querying)하여 획득되는, 모바일 브라우저를 통해 앱을 인보크하기 위한 방법.
  3. 제1항에 있어서, 상기 제2 호출 데이터는, 상기 모바일 브라우저의 패키지 이름 정보에 기초하여 상기 타겟 앱에 의해 구성되고 상기 모바일 브라우저를 인보크하는 데 사용되는 인텐트(intent)이며,
    상기 모바일 브라우저의 패키지 이름 정보를 운반하고 상기 타겟 앱에 의해 제출되는 제2 호출 데이터에 응답하고, 상기 모바일 브라우저에 복귀하는 단계는,
    상기 모바일 브라우저의 패키지 이름 정보에 기초하여 구성되고 상기 타겟 앱에 의해 제출되는 상기 인텐트를 수신하는 단계;
    상기 모바일 브라우저의 패키지 이름 정보에 대응하는 액티비티 컴포넌트(activity component)에 대해 시스템 서버에 질의하는 단계; 및
    상기 모바일 브라우저에 대응하는 액티비티 컴포넌트를 인보크하고, 상기 모바일 브라우저에 복귀하는 단계를 포함하는, 모바일 브라우저를 통해 앱을 인보크하기 위한 방법.
  4. 모바일 브라우저를 통해 앱을 인보크하기 위한 방법으로서, 상기 방법은,
    타겟 앱에 대한 서비스 호출이 개시될 때 모바일 브라우저의 식별 정보를 획득하는 단계로서, 상기 모바일 브라우저의 식별 정보는 상기 모바일 브라우저의 패키지 이름 정보를 포함하는, 상기 모바일 브라우저의 식별 정보를 획득하는 단계; 및
    상기 타겟 앱에 대한 제1 호출 데이터를 시스템에 제출하는 단계로서, 상기 제1 호출 데이터는, 상기 타겟 앱을 인보크하는 데 사용되는 커스텀 파라미터 및 상기 모바일 브라우저의 식별 정보를 포함하여, 상기 시스템이, 상기 커스텀 파라미터에 기초해 상기 타겟 앱을 인보크하고, 상기 타겟 앱이 대응 타겟 서비스를 완료할 때 상기 모바일 브라우저의 패키지 이름 정보를 운반하고 상기 타겟 앱에 의해 제출되는 인텐트에 응답하고, 상기 모바일 브라우저에 복귀하도록 하는, 상기 타겟 앱에 대한 제1 호출 데이터를 시스템에 제출하는 단계
    를 포함하는, 모바일 브라우저를 통해 앱을 인보크하기 위한 방법.
  5. 제4항에 있어서, 타겟 앱에 대한 서비스 호출이 개시될 때 모바일 브라우저의 식별 정보를 획득하는 단계는,
    상기 모바일 브라우저의 유저 에이전트 정보를 획득하는 단계; 및
    상기 모바일 브라우저의 유저 에이전트 정보에 기초하여 상기 모바일 브라우저의 패키지 이름 정보에 대해 시스템 서버에 질의하는 단계를 포함하는, 모바일 브라우저를 통해 앱을 인보크하기 위한 방법.
  6. 제4항에 있어서, 상기 모바일 브라우저의 식별 정보는 상기 모바일 브라우저의 유저 에이전트 정보를 더 포함하며,
    상기 모바일 브라우저의 식별 정보가 상기 모바일 브라우저의 유저 에이전트 정보일 때, 상기 모바일 브라우저의 패키지 이름 정보는 상기 타겟 앱이 상기 모바일 브라우저의 유저 에이전트 정보에 기초해 시스템 서버에 질의하는 것을 통해 획득되는, 모바일 브라우저를 통해 앱을 인보크하기 위한 방법.
  7. 제4항에 있어서, 상기 제1 호출 데이터는, 스키마 프로토콜(Schema protocol)에 기초하여 정의된 URL을 포함하며,
    상기 타겟 앱에 대한 서비스 호출이 개시될 때 상기 타겟 앱에 대한 제1 호출 데이터를 시스템에 제출하는 단계는,
    상기 타겟 앱에 대한 서비스 호출이 개시될 때 상기 스키마 프로토콜에 기초하여 상기 URL을 정의하는 단계;
    상기 타겟 앱의 타겟 서비스 페이지를 인보크하는 데 사용되는 상기 커스텀 파라미터 및 상기 모바일 브라우저의 식별 정보를, 상기 정의된 URL 내에 캡슐화하는 단계; 및
    시스템 인터페이스를 인보크하고, 상기 URL을 상기 시스템에 제출하는 단계를 포함하는, 모바일 브라우저를 통해 앱을 인보크하기 위한 방법.
  8. 모바일 브라우저를 통해 앱을 인보크하기 위한 장치로서, 상기 장치는,
    타겟 앱에 대한 서비스 호출이 개시될 때 모바일 브라우저에 의해 제출되는 제1 호출 데이터를 수신하도록 구성된 수신 모듈로서, 상기 제1 호출 데이터는, 상기 타겟 앱을 인보크하는 데 사용되는 커스텀 파라미터 및 상기 모바일 브라우저의 식별 정보를 포함하고, 상기 모바일 브라우저의 식별 정보는 상기 모바일 브라우저의 패키지 이름 정보를 포함하는, 상기 수신 모듈;
    상기 커스텀 파라미터에 기초해 상기 타겟 앱을 인보크하여 대응 타겟 서비스를 실행하고, 상기 모바일 브라우저의 식별 정보를 상기 타겟 앱에 전송하도록 구성된 인보크 모듈; 및
    상기 대응 타겟 서비스가 실행된 후, 상기 모바일 브라우저의 패키지 이름 정보를 운반하고 상기 타겟 앱에 의해 제출되는 제2 호출 데이터에 응답하고, 상기 모바일 브라우저에 복귀하도록 구성된 응답 모듈
    을 포함하는, 모바일 브라우저를 통해 앱을 인보크하기 위한 장치.
  9. 제8항에 있어서, 상기 모바일 브라우저의 식별 정보가 상기 모바일 브라우저의 유저 에이전트 정보일 때, 상기 모바일 브라우저의 패키지 이름 정보는 상기 타겟 앱이 상기 모바일 브라우저의 유저 에이전트 정보에 기초해 시스템 서버에 질의하는 것을 통해 획득되는, 모바일 브라우저를 통해 앱을 인보크하기 위한 장치.
  10. 제8항에 있어서, 상기 제2 호출 데이터는, 상기 모바일 브라우저의 패키지 이름 정보에 기초하여 상기 타겟 앱에 의해 구성되고 상기 모바일 브라우저를 인보크하는 데 사용되는 인텐트이며,
    상기 응답 모듈은,
    상기 모바일 브라우저의 패키지 이름 정보에 기초하여 구성되고 상기 타겟 앱에 의해 제출되는 상기 인텐트를 수신하고;
    상기 모바일 브라우저의 패키지 이름 정보에 대응하는 액티비티 컴포넌트에 대해 시스템 서버에 질의하고;
    상기 모바일 브라우저에 대응하는 액티비티 컴포넌트를 인보크하고, 상기 모바일 브라우저에 복귀하도록 구성되는, 모바일 브라우저를 통해 앱을 인보크하기 위한 장치.
  11. 모바일 브라우저를 통해 앱을 인보크하기 위한 장치로서, 상기 장치는,
    타겟 앱에 대한 서비스 호출이 개시될 때 모바일 브라우저의 식별 정보를 획득하도록 구성된 취득 모듈로서, 상기 모바일 브라우저의 식별 정보는 상기 모바일 브라우저의 패키지 이름 정보를 포함하는, 상기 취득 모듈; 및
    상기 타겟 앱에 대한 제1 호출 데이터를 시스템에 제출하도록 구성된 제출 모듈로서, 상기 제1 호출 데이터는, 상기 타겟 앱을 인보크하는 데 사용되는 커스텀 파라미터 및 상기 모바일 브라우저의 식별 정보를 포함하여, 상기 시스템이, 상기 커스텀 파라미터에 기초해 상기 타겟 앱을 인보크하고, 상기 타겟 앱이 대응 타겟 서비스를 완료할 때 상기 모바일 브라우저의 패키지 이름 정보를 운반하고 상기 타겟 앱에 의해 제출되는 인텐트에 응답하고, 상기 모바일 브라우저에 복귀하도록 하는, 상기 제출 모듈
    을 포함하는, 모바일 브라우저를 통해 앱을 인보크하기 위한 장치.
  12. 제11항에 있어서, 상기 취득 모듈은,
    상기 모바일 브라우저의 유저 에이전트 정보를 획득하고;
    상기 모바일 브라우저의 유저 에이전트 정보에 기초하여 상기 모바일 브라우저의 패키지 이름 정보에 대해 시스템 서버에 질의하도록 구성되는, 모바일 브라우저를 통해 앱을 인보크하기 위한 장치.
  13. 제11항에 있어서, 상기 모바일 브라우저의 식별 정보는 상기 모바일 브라우저의 유저 에이전트 정보를 더 포함하며,
    상기 모바일 브라우저의 식별 정보가 상기 모바일 브라우저의 유저 에이전트 정보일 때, 상기 모바일 브라우저의 패키지 이름 정보는 상기 타겟 앱이 상기 모바일 브라우저의 유저 에이전트 정보에 기초해 시스템 서버에 질의하는 것을 통해 획득되는, 모바일 브라우저를 통해 앱을 인보크하기 위한 장치.
  14. 제11항에 있어서, 상기 제1 호출 데이터는, 스키마 프로토콜에 기초하여 정의된 URL을 포함하며,
    상기 제출 모듈은,
    상기 타겟 앱에 대한 서비스 호출이 개시될 때 상기 스키마 프로토콜에 기초하여 상기 URL을 정의하고;
    상기 타겟 앱의 타겟 서비스 페이지를 인보크하는 데 사용되는 상기 커스텀 파라미터 및 상기 모바일 브라우저의 식별 정보를, 상기 정의된 URL 내에 캡슐화하고;
    시스템 인터페이스를 인보크하고, 상기 URL을 상기 시스템에 제출하도록 구성되는, 모바일 브라우저를 통해 앱을 인보크하기 위한 장치.
KR1020197006041A 2016-07-27 2017-07-19 모바일 브라우저를 통해 애플리케이션을 어웨이크하기 위한 방법 및 장치 KR102205749B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201610605353.3 2016-07-27
CN201610605353.3A CN106873961B (zh) 2016-07-27 2016-07-27 通过移动浏览器唤醒app应用的方法及装置
PCT/CN2017/093539 WO2018019168A1 (zh) 2016-07-27 2017-07-19 通过移动浏览器唤醒app应用的方法及装置

Publications (2)

Publication Number Publication Date
KR20190032569A true KR20190032569A (ko) 2019-03-27
KR102205749B1 KR102205749B1 (ko) 2021-01-22

Family

ID=59238845

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197006041A KR102205749B1 (ko) 2016-07-27 2017-07-19 모바일 브라우저를 통해 애플리케이션을 어웨이크하기 위한 방법 및 장치

Country Status (9)

Country Link
US (1) US10977103B2 (ko)
EP (1) EP3493057A4 (ko)
JP (1) JP6742650B2 (ko)
KR (1) KR102205749B1 (ko)
CN (1) CN106873961B (ko)
MY (1) MY202338A (ko)
SG (1) SG11201900652YA (ko)
TW (1) TWI712955B (ko)
WO (1) WO2018019168A1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106873961B (zh) * 2016-07-27 2021-09-28 创新先进技术有限公司 通过移动浏览器唤醒app应用的方法及装置
CN107562548A (zh) * 2017-08-04 2018-01-09 北京趣拿软件科技有限公司 传输数据的方法和装置
CN108021409B (zh) * 2017-12-05 2021-03-23 广州市千钧网络科技有限公司 一种app业务情景还原方法及***
CN109005576A (zh) * 2018-06-11 2018-12-14 珠海格力电器股份有限公司 一种终端相机的切换方法及终端设备
CN110708346B (zh) * 2018-07-09 2023-03-21 北京高绎信息技术有限公司 信息处理***和方法
CN109885787B (zh) * 2019-02-21 2021-06-22 百度在线网络技术(北京)有限公司 App页面显示方法及***、移动终端和计算机可读介质
CN110309476B (zh) * 2019-07-05 2021-05-25 上海中通吉网络技术有限公司 网页浏览器调用本地应用程序的方法及装置
CN110417877B (zh) * 2019-07-17 2022-05-31 视联动力信息技术股份有限公司 一种音视频业务的处理方法及装置
CN110989876B (zh) * 2019-10-30 2023-09-22 深圳市普天宜通技术股份有限公司 一种应用程序适配方法、移动终端及存储介质
CN111273950B (zh) * 2019-12-31 2023-03-21 百度国际科技(深圳)有限公司 应用唤起方法、装置、电子设备及计算机可读存储介质
CN111880953A (zh) * 2020-07-31 2020-11-03 北京致远互联软件股份有限公司 一种应用程序通信方法、装置、电子设备及存储介质
CN114612094A (zh) * 2020-12-03 2022-06-10 中兴通讯股份有限公司 操作请求的响应处理方法、装置及计算机可读存储介质
CN112685106A (zh) * 2021-01-19 2021-04-20 北京爱奇艺科技有限公司 应用程序的启动方法、***、装置、电子设备及存储介质
CN113176954B (zh) * 2021-04-22 2023-03-21 Oppo广东移动通信有限公司 应用程序的调用方法、装置、存储介质及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8732474B1 (en) * 2010-05-18 2014-05-20 Google Inc. Safe installation of browser extensions
CN104102537A (zh) * 2013-04-07 2014-10-15 华为技术有限公司 一种应用调用方法及用户终端
JP2015018405A (ja) * 2013-07-10 2015-01-29 株式会社リコー 端末装置、情報処理プログラム、情報処理方法および情報処理システム
US20150301873A1 (en) * 2012-11-07 2015-10-22 Guangzhou Ucweb Computer Technology Co., Ltd Method and system for expanding webapp application function

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101820431B (zh) * 2010-05-06 2015-08-12 中兴通讯股份有限公司 通信客户端及通信业务发起方法
CN103368907B (zh) * 2012-03-29 2017-02-22 腾讯科技(深圳)有限公司 事件上报请求***、方法、客户端装置及其上报请求方法
CN103365907B (zh) * 2012-04-06 2017-06-30 腾讯科技(深圳)有限公司 显示支付页面的方法、***及服务器
US20140053056A1 (en) * 2012-08-16 2014-02-20 Qualcomm Incorporated Pre-processing of scripts in web browsers
US9742661B2 (en) * 2012-11-07 2017-08-22 Pure Oxygen Labs LLC Uniform resource locator mapping and routing system and method
CN104135502B (zh) * 2013-07-09 2015-08-12 腾讯科技(深圳)有限公司 一种实现应用消息提醒的方法、相关设备及***
BR112016010052B1 (pt) * 2013-11-06 2022-11-16 Huawei Device (Shenzhen) Co., Ltd Método e aparelho de processamento de operação de página, e terminal
CN104955005A (zh) * 2014-03-26 2015-09-30 阿里巴巴集团控股有限公司 为通讯终端进行充值的方法及装置
CN104091102B (zh) * 2014-05-23 2018-02-06 中兴通讯股份有限公司 一种基于安卓***的多用户管理方法及其装置
CN104486430A (zh) * 2014-12-18 2015-04-01 北京奇虎科技有限公司 移动浏览器客户端中实现数据分享的方法、装置和客户端
US9405813B1 (en) * 2015-02-19 2016-08-02 Vuclip Media device knowledge base
CN106873961B (zh) * 2016-07-27 2021-09-28 创新先进技术有限公司 通过移动浏览器唤醒app应用的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8732474B1 (en) * 2010-05-18 2014-05-20 Google Inc. Safe installation of browser extensions
US20150301873A1 (en) * 2012-11-07 2015-10-22 Guangzhou Ucweb Computer Technology Co., Ltd Method and system for expanding webapp application function
CN104102537A (zh) * 2013-04-07 2014-10-15 华为技术有限公司 一种应用调用方法及用户终端
JP2015018405A (ja) * 2013-07-10 2015-01-29 株式会社リコー 端末装置、情報処理プログラム、情報処理方法および情報処理システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Instantly share code, notes, and snippets : shinchit/gist:820283281e3404839775. 2015.02.12. *

Also Published As

Publication number Publication date
CN106873961A (zh) 2017-06-20
KR102205749B1 (ko) 2021-01-22
JP2019531526A (ja) 2019-10-31
US20190155668A1 (en) 2019-05-23
JP6742650B2 (ja) 2020-08-19
US10977103B2 (en) 2021-04-13
EP3493057A1 (en) 2019-06-05
WO2018019168A1 (zh) 2018-02-01
TWI712955B (zh) 2020-12-11
EP3493057A4 (en) 2019-09-11
SG11201900652YA (en) 2019-02-27
CN106873961B (zh) 2021-09-28
MY202338A (en) 2024-04-24
TW201804323A (zh) 2018-02-01

Similar Documents

Publication Publication Date Title
KR102205749B1 (ko) 모바일 브라우저를 통해 애플리케이션을 어웨이크하기 위한 방법 및 장치
US11025750B2 (en) Determining whether to perform requests at a server or at a client device based on resources provided by the client device
US8656417B2 (en) Interface for telecommunication services using uniform resource identifiers
KR102220127B1 (ko) 커스터마이징된 소프트웨어 개발 키트(sdk) 생성을 위한 방법 및 장치
US9497563B2 (en) Mobile device activation
WO2016127797A1 (zh) 用户信息获取方法、装置及服务器
CN107168960B (zh) 一种业务执行方法及装置
US20190327287A1 (en) Data acquisition method and device
CN109840146B (zh) 业务处理方法、装置、终端及存储介质
US20120221893A1 (en) Managing test automation
KR20180038482A (ko) 스마트 카드 판독/기입 방법 및 디바이스
CN112738046B (zh) 一种一键登录的方法、终端及***服务器
US20180027355A1 (en) Data download method and apparatus
CN112214714A (zh) 基于配置文件的请求处理方法、装置、设备及存储介质
JP6877343B2 (ja) 非構造化メッセージの処理
US10326876B1 (en) Mobile communication device self-service client
CN108804120B (zh) 一种页面构建方法、装置、设备及存储介质
CN110874278A (zh) 外部***的嵌入方法、工作流***、设备及存储介质
CN114253441B (zh) 目标功能的启用方法及装置、存储介质、电子装置
CN111338898B (zh) 应用状态获取方法、装置、电子设备及可读存储介质
CN114237926A (zh) 多平台交互方法、装置、设备、存储介质及计算机程序产品
CN113760688A (zh) 一种远程调试方法、***、网页服务器、设备及存储介质
CN113115238B (zh) 短信验证码填充方法和电子设备
CN114356452B (zh) 定位结果信息的获取方法、装置、电子设备及存储介质
EP4202665A1 (en) Method for performing a service with an application when scanning an optical tag

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
N231 Notification of change of applicant