JP2019530089A - ウェブページとネイティブアプリケーションの間の通信を実現する方法及び装置並びに電子装置 - Google Patents

ウェブページとネイティブアプリケーションの間の通信を実現する方法及び装置並びに電子装置 Download PDF

Info

Publication number
JP2019530089A
JP2019530089A JP2019515258A JP2019515258A JP2019530089A JP 2019530089 A JP2019530089 A JP 2019530089A JP 2019515258 A JP2019515258 A JP 2019515258A JP 2019515258 A JP2019515258 A JP 2019515258A JP 2019530089 A JP2019530089 A JP 2019530089A
Authority
JP
Japan
Prior art keywords
application
response
native application
port number
web page
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2019515258A
Other languages
English (en)
Other versions
JP6945782B2 (ja
Inventor
ワン ウェイ
ウェイ ワン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of JP2019530089A publication Critical patent/JP2019530089A/ja
Application granted granted Critical
Publication of JP6945782B2 publication Critical patent/JP6945782B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Abstract

ウェブページとネイティブアプリケーションの間の通信を実現する方法及び装置並びに電子装置が提供されている。方法は、ユーザーによって開始されたウェブページアクセス要求に応答してウェブページサーバーによって返された第1応答を受け取るステップ(S101)と、第1応答が、アプリケーションの識別子、ダウンロードリンク、及びバージョン情報を含む際に、登録済みのポートセットからポート番号を選択し、且つ、ローカル端末上に配置されたローカルサーバーに対して、ポート番号を担持するアクセス要求を開始するステップ(S102)と、ローカルサーバーによって返された、ネイティブアプリケーションの名称及びバージョン情報を担持する第2応答を受け取った際に、名称に従って、第2応答内のネイティブアプリケーションが第1応答内のアプリケーションと同一であるかどうかを判定するステップ(S103)と、第2応答内のネイティブアプリケーションと第1応答内のアプリケーションが同一である場合に、第1応答に基づいてウェブページをレンダリングするプロセスにおいてネイティブアプリケーションのバージョン情報及びアプリケーションのバージョン情報に従ってアプリケーションのダウンロードリンクの動作プロンプトを調節するステップ(S104)と、を含む。本出願の実施形態は、ウェブページとネイティブアプリケーションの間の通信を実現し、且つ、ユーザー経験を改善する。

Description

本出願は、通信技術の分野に関し、且つ、更に詳しくは、ウェブページとネイティブアプリケーション(略して「ネイティブapp」)の間の通信を実現する方法、装置、及び電子装置に関する。
一般に、新しく開発されたアプリケーション(略して「app」)は、通常、オンラインで普及促進する必要がある。普及促進は、通常、(バナーピクチャ又は二次元コードなどの)普及促進ピクチャをウェブページ上に配備し、且つ、次いで、普及促進ピクチャに対するダウンロードプロンプト(動作プロンプトの1つのタイプ)との間のリンクを直接的に追加する、という方式によって実行されている。ユーザーがバナーをクリックするか又は二次元コードをスキャンした際に、ダウンロードプロンプトとの間のリンクがポップアップすることになる。このようなダウンロードプロンプトは、そのアプリケーションを既にインストール済みであるユーザーには、不良な経験をもたらすことが明らかである。但し、現時点においては、ウェブページとネイティブアプリケーションの間の通信を実現することは、一般に不可能である。従って、ブラウザは、ユーザー経験を改善するべく(例えば、ユーザー端末によって要求されたウェブページ上のアプリケーションのバージョンがユーザー端末上において既にインストール済みである場合に、ウェブページ上のアプリケーションの動作プロンプトを「ダウンロード」から「インストール済み」に調節しうる共に、次いで、ユーザーに提示することができるように)、ユーザー端末の実際のアプリケーションのインストール状態に従って個人化された方式でユーザー要求されたウェブページ上のアプリケーションの動作プロンプトを調節することができない。
技術の進歩に伴って、ブラウザは、いくつかのケースにおいては、ウェブページとネイティブアプリケーションの間の間接的な通信を実現することができる。例えば、ブラウザは、まず、ユニフォームリソースロケータスキーマ(「urlスキーマ」)により、ネイティブアプリケーションを起動するべく試みることが可能であり、且つ、ユーザー識別子(「uid」)をurlスキーマに追加することができる。urlスキーマを受け取った後に、ネイティブアプリケーションは、サーバーに対して、ブラウザに送信する必要があるuid及び情報を送信する。サーバーは、uid及び情報を保存する。ブラウザは、uidに従ってサーバーに対するポーリングを開始する。サーバーは、uidとの間のマッチングを通じて情報を取得し、且つ、次いで、uidの情報を削除しつつ、情報をブラウザに送信する。
但し、上述の間接的な通信方式は、ネイティブアプリケーションがurlスキーマに登録されると共にブラウザがurlスキーマをサポートすることをも必要としており、さもなければ、ネイティブアプリケーションを起動することができない。これに加えて、ネイティブアプリケーションが、サーバーに対して、ウェブページに送信する必要があるuid及び情報を送信するプロセスと、ウェブページがuidをサーバーから取得するプロセスと、の両方が、ネットワークのサポートを必要としている。ネットワークが異常であるか又は不良な状態にある場合には、uidの送信に失敗することになり、その結果、全体プロセスの中断がもたらされ、これに加えて、このような中断は、ウェブページ、ネイティブアプリケーション、及びサーバーのいずれによっても認知することができず、且つ、従って、ユーザー経験も影響を受けることになる。
本出願の実施形態の目的は、ユーザー経験を改善するように、ウェブページとネイティブアプリケーションの間の通信を実現する方法、装置、及び電子装置を提供することにある。
上述の目的を実現するべく、一態様によれば、本出願の実施形態は、ウェブページとネイティブアプリケーションの間の通信を実現する方法を提供しており、この場合に、ネイティブアプリケーションは、事前に、ローカル端末上のローカルサーバー上において、特定のポート番号とバインド済みの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を参照すれば、本出願のいくつかの実施形態による、ネイティブアプリケーションによって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サービスを有効化し、或いは、
登録済みのポートセット内のすべてのポート番号がバインドされている場合には、ローカルサーバーは、現時点のバインディングが失敗することを確認する、
という方式によって更に実装することができる。
上述のバインド方式のいずれか1つにおいては、特定のポート番号とバインド済みのurlサービスが、ネイティブアプリケーションのために有効化された後に、ローカルサーバーは、(以下の表1に示されている)ネイティブアプリケーションと対応するバインド済みのポートの間の対応性の表を保存していることに留意されたい。
Figure 2019530089
この表は、ネイティブアプリケーションに対応するバージョン情報を更に記録している。いくつかのネイティブアプリケーションが、バインド動作の後に更新された場合には、ローカルサーバーは、対応する方式により、表内のバージョン情報を更新する。更新されたネイティブアプリケーションの名称は、不変の状態において留まる(例えば、Alipayは、更新の後にも、依然としてAlipayという名称を有する)。従って、ネイティブアプリケーションが更新された場合にも、ネイティブアプリケーションに対して新しいポート番号をバインドする必要はない。
これに加えて、上述のバインド方式のいずれか1つにおいては、ローカル端末上のネイティブアプリケーションがアンインストールされる場合に、システムは、アンインストールプロセスにおいて、ネイティブアプリケーションのアンインストール状態を監視することになることにも留意されたい。
特定のポート番号とバインドされたネイティブアプリケーションが正常にアンインストールされたイベントを検出した際に、システムは、ローカルサーバーに対して、占有されていたポートリソースを解放するべく、ネイティブアプリケーションとバインドされていたポート番号をアンバインドするためのアンバインド命令を送信するようにトリガされる。アンバインド命令を受け取った後に、ローカルサーバーは、対応するポート番号をアプリケーションからアンバインドし、且つ、上述の対応性の表を更新する。上述の対応性の表を更新するステップは、アンインストールされたアプリケーションの名称に対応するデータ列の全体を対応性の表から削除するステップであってもよく、或いは、名称を除いて、アンインストールされたアプリケーションの名称に対応するデータ列内のすべてのデータを対応性の表から削除するステップであってもよい。
ステップS103:ローカルサーバーによって返された第2応答を受け取った際に、第2応答内のネイティブアプリケーションと第1応答内のアプリケーションが同一であるかどうかを判定する。この場合に、第2応答は、ネイティブアプリケーションの名称及びバージョン情報を担持している。
ステップS104:第2応答内のネイティブアプリケーションと第1応答内のアプリケーションが同一である場合には、第1応答に基づいてウェブページをレンダリングするプロセスにおいてネイティブアプリケーションのバージョン情報及びアプリケーションのバージョン情報に従ってアプリケーションのダウンロードリンクの動作プロンプトを調節する。
本出願の実施形態においては、アプリケーションが同一である、とは、アプリケーションが同一の名称を有することを意味している。例えば、ローカル端末上のネイティブアプリケーションがAlipayである場合には、このネイティブアプリケーションと同一である第1応答内のアプリケーションも、Alipayである。
本出願の実施形態においては、登録済みのポートを担持する、且つ、ローカル端末上のローカルサーバーに対して開始される、アクセス要求は、例えば、http://local terminal IP+registered port numberという形態を有することができる。
本出願のいくつかの実施形態においては、アプリケーション名がアプリケーション識別子として使用されており、本出願のその他の実施形態においては、文字ストリング又はこれに類似したものをアプリケーション識別子として使用することができる。
本出願の実施形態は、ブラウザクライアントにより、或いは、類似の機能を有するその他のモジュール又はアプリケーションにより、実行することができる。
本出願の実施形態においては、ネイティブアプリケーションは、ローカルサーバー上において、事前に、特定のポート番号とバインド済みのurlサービスを有効化している。従って、ユーザーによって開始されたウェブページアクセス要求に応答してウェブサーバーによって返される第1応答が受け取られ、且つ、第1応答が、アプリケーションの識別子、ダウンロードリンク、及びバージョン情報を含む際に、ブラウザクライアントは、登録済みのポートセットからポート番号を選択することが可能であり、且つ、ネイティブアプリケーションのデータを取得するべく、ローカル端末上のローカルサーバーに対して、選択されたポート番号を担持するアクセス要求を送信することができる。アクセス要求によって担持されたポート番号が、ネイティブアプリケーションと既にバインド済みのポートに属している場合には、ブラウザクライアントは、ネイティブアプリケーションの名称及びバージョン情報を取得し、これにより、ウェブページとネイティブアプリケーションの間の通信を実現することができる。従って、ブラウザクライアントは、個人化された方式により、ユーザーによって要求されたウェブページ上における様々なアプリケーションのダウンロードリンクの動作プロンプトを調節し、これにより、ユーザー経験を改善することができる。更には、本出願の実施形態は、urlスキーマ登録を必要としてはおらず、且つ、ネットワークサポートを伴うことなしに、ウェブページとネイティブアプリケーションの間の通信を実現し、これにより、ユーザー経験を更に改善することができる。
以下、本出願の実施形態の技術的解決策について更に詳細に説明する。
図2を参照すれば、本出願のその他の実施形態に従ってウェブページとネイティブアプリケーションの間の通信を実現する方法は、以下のステップを含む。
ステップS201:ユーザーが、ブラウザクライアントに対するウェブページアクセス動作を開始する。ウェブページは、ユーザーが、オープンすることを所望している任意のウェブページであってよい。アクセス動作は、ユーザーによる、ブラウザクライアントのアドレスバーへのurlアドレスの入力、ウェブページリンクのクリック、又はこれらに類似したもの、であってよい。
ステップS202:ブラウザクライアントが、ユーザーのウェブページアクセス動作に基づいてウェブページサーバーに対するウェブページアクセス要求を開始する。
ステップS203:ウェブページアクセス要求に基づいて第1応答を生成した後に、ウェブサーバーが第1応答をブラウザクライアントに返す。
ステップS204:ウェブサーバーによって返された第1応答を受け取った後に、ブラウザクライアントが、第1応答がアプリケーションの名称、ダウンロードリンク、及びバージョン情報を含んでいるかどうかを判定するべく、第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応答内のネイティブアプリケーションの名称及びバージョン情報を取得することができる。次いで、第2応答内のネイティブアプリケーションと第1応答内のアプリケーションが同一であるかどうかを判定するべく、ネイティブアプリケーションの名称が、予め取得された第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を参照し、本出願の実施形態によるウェブページとネイティブアプリケーションの間の通信を実現する装置の論理的構造について説明する。本出願の実施形態においては、ネイティブアプリケーションは、事前に、ローカル端末上のローカルサーバー上において、特定のポート番号とバインド済みのユニフォームリソースロケータ(url)サービスを有効化している。
図5を参照すれば、本出願の一実施形態によるウェブページとネイティブアプリケーションの間の通信を実現する装置は、
ユーザーによって開始されたウェブページアクセス要求に応答してウェブサーバーによって返された第1応答を受け取るように構成された第1応答受信モジュール51と、
第1応答が、アプリケーションの識別子、ダウンロードリンク、及びバージョン情報を含む際に、登録済みのポートセットからポート番号を選択し、且つ、ローカル端末上において配置されたローカルサーバーに対して、選択されたポート番号を担持するアクセス要求を開始するように構成されたローカルアクセス開始モジュール52と、
ローカルサーバーによって返された第2応答を受け取った際に、第2応答内のネイティブアプリケーションと第1応答内のアプリケーションが同一であるかどうかを判定するように構成されたアプリケーション識別子マッチングモジュール53であって、第2応答は、ネイティブアプリケーションの識別子及びバージョン情報を担持する、アプリケーション識別子マッチングモジュールと、
ネイティブアプリケーションとアプリケーションが同一である際に、第1応答に基づいてウェブページをレンダリングするプロセスにおいてネイティブアプリケーションのバージョン情報及びアプリケーションのバージョン情報に従ってアプリケーションのダウンロードリンクの動作プロンプトを調節するように構成された動作プロンプト調節モジュール54と、
ユーザーが閲覧するように、ウェブページを提示するように構成されたページ提示モジュール55と、
を含む。
動作プロンプト調節モジュール54が、ネイティブアプリケーションのバージョン情報及びアプリケーションのバージョン情報に従ってアプリケーションのダウンロードリンクの動作プロンプトを調節することは、
ネイティブアプリケーションのバージョンがアプリケーションのバージョンよりも低い際に、アプリケーションのダウンロードリンクの動作プロンプトを「更新」となるように調節すること、或いは、
ネイティブアプリケーションのバージョンがアプリケーションのバージョン以上である際に、アプリケーションのダウンロードリンクの動作プロンプトを「インストール済み」となるように調節すること、
を含む。
本出願の実施形態におけるウェブページとネイティブアプリケーションの間の通信を実現する装置は、上述の実施形態におけるウェブページとネイティブアプリケーションの間の通信を実現する方法に対応している。従って、本出願の実施形態におけるウェブページとネイティブアプリケーションの間の通信を実現する装置の内容については、上述の実施形態におけるウェブページとネイティブアプリケーションの間の通信を実現する方法を参照されたい。詳細の再度の説明は、本明細書においては、これを省略する。
本出願の実施形態においては、ネイティブアプリケーションは、ローカルサーバー上において、事前に、特定のポート番号とバインド済みのurlサービスを有効化している。次いで、ユーザーによって開始されたウェブページアクセス要求に応答してウェブサーバーによって返された第1応答が受け取られ、且つ、第1応答が、アプリケーションの識別子、ダウンロードリンク、及びバージョン情報を含む際に、ブラウザクライアントは、登録済みのポートセットからポート番号を選択することが可能であり、且つ、ネイティブアプリケーションのデータを取得するべく、ローカル端末上のローカルサーバーに対して、選択されたポート番号を担持するアクセス要求を送信することができる。アクセス要求によって担持されているポート番号が、ネイティブアプリケーションと既にバインド済みのポートに属している場合には、ブラウザクライアントは、ネイティブアプリケーションの名称及びバージョン情報を取得し、これにより、ウェブページとネイティブアプリケーションの通信を実現することができる。従って、ブラウザクライアントは、個人化された方式により、ユーザーによって要求されたウェブページ上の様々なアプリケーションのダウンロードリンクの動作プロンプトを調節し、これにより、ユーザー経験を改善することができる。更には、本出願の実施形態は、urlスキーマ登録を必要としてはおらず、且つ、ネットワークサポートを伴うことなしに、ウェブページとネイティブアプリケーションの間の通信を実現し、これにより、ユーザー経験を更に改善することができる。
又、当業者は、本出願の実施形態において列挙されている様々な例示用の論理ブロック、ユニット、及びステップが、ハードウェア、ソフトウェア、又はこれらの組合せによって実装されうることを理解することができる。論理ブロック、ユニット、及びステップが、ハードウェアによって実装されるのか、或いは、ソフトウェアによって実装されるのかは、特定の用途及び全体的なシステム設計要件に依存している。当業者は、それぞれの特定の用途用の機能を実装するべく、様々な方法を使用することができる。但し、このような実装形態を本出願の実施形態の保護範囲を超えたものとして見なしてはならない。
本出願の実施形態において記述されている様々な例示用の論理ブロック又はユニットは、記述されている機能を実行するように設計された、汎用プロセッサ、デジタル信号プロセッサ、アプリケーション固有の集積回路(ASIC:Application Specific Integrated Circuit)、フィールドプログラム可能なゲートアレイ又はその他のプログラム可能な論理装置、個別のゲート又はトランジスタロジック、個別のハードウェアコンポーネント、又はこれらの任意の組合せによって実装することができる。汎用プロセッサは、マイクロプロセッサであってよい。任意選択により、汎用プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、又は状態機械であってよい。又、プロセッサは、例えば、デジタル信号プロセッサ及びマイクロプロセッサの組合せ、複数のマイクロプロセッサ、又はデジタル信号プロセッサコアとの関連における1つ又は複数のマイクロプロセッサ、或いは、任意のその他のこのような構成などの、演算装置の組合せを通じて実装することもできる。
本出願の実施形態において記述されている方法又はアルゴリズムのステップは、ハードウェア内に、プロセッサによって実行されるソフトウェアモジュール内に、或いは、これらの組合せ内に、直接的に組み込むことができる。ソフトウェアモジュールは、ランダムアクセスメモリ(RAM:Random Access Memory)、フラッシュメモリ、読み出し専用メモリ(ROM:Read−Only Memory)、電気的にプログラム可能なROM(EPROM:Electrically Programmable ROM)、電気的に消去可能なプログラム可能なROM(EEPROM:Electrically Erasable Programmable ROM)、レジスタ、ハードディスク、着脱自在のディスク、コンパクトディスクROM(CD−ROM:Compact Disc ROM)、又は任意のその他の形態のストレージ媒体内において保存することができる。例えば、ストレージ媒体は、プロセッサが、ストレージ媒体から情報を読み取ることが可能であり、且つ、情報をストレージ媒体に書き込むことができるように、プロセッサに接続することができる。任意選択により、ストレージ媒体は、プロセッサ内に統合することができる。プロセッサ及びストレージ媒体は、ASIC内において配設されてもよく、且つ、ASICは、ユーザー端末内において配設されてもよい。任意選択により、プロセッサ及びストレージ媒体は、ユーザー端末の異なるコンポーネント内に配設することができる。
設計の1つ又は複数の例においては、本出願の実施形態において記述されている機能は、ハードウェア、ソフトウェア、ファームウェア、又はこれらの組合せにおいて実装することができる。ソフトウェアにおいて実装された場合には、機能は、コンピュータ可読媒体上の1つ又は複数の命令又はコードとして、保存されてもよく、或いは、送信されてもよい。コンピュータ可読媒体は、コンピュータストレージ媒体と、1つの場所から別の場所へのコンピュータプログラムの転送を促進する通信媒体と、の両方を含んでいる。ストレージ媒体は、汎用又は特殊目的コンピュータによってアクセスされうる任意の入手可能な媒体であってよい。例えば、このようなコンピュータ可読媒体は、限定を伴うことなし、RAM、ROM、EEPROM、CD−ROM又はその他の光ディスクストレージ、磁気ディスクストレージ又は磁気ストレージ、或いは、命令又はデータ構造の形態において、且つ、汎用又は特殊目的コンピュータ又は汎用又は特殊目的プロセッサによってアクセスされうるその他の形態において、プログラムコードを担持又は保存するべく使用されうる、任意のその他の媒体を含みうる。これに加えて、任意の接続をコンピュータ可読媒体として適切に定義することができる。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線(DSL:Digital Subscriber Line)、或いは、赤外線、高周波、及びマイクロ波などの、無線方式を使用することにより、ウェブサイト、サーバー、又はその他のリモートリソースから送信される場合には、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線(DSL)、或いは、赤外線、高周波、及びマイクロ波などの、無線方式も、定義されたコンピュータ可読媒体に含まれる。ディスク(disk)及びデスク(disc)は、コンパクトディスク、レーザーディスク(登録商標)、光ディスク、デジタルバーサタイルディスク(DVD:Digital Versatile Disc)、フロッピーディスク、及びblu−ray(登録商標)ディスクを含んでおり、この場合に、ディスク(disk)は、通常、データを磁気的に再生している一方で、ディスク(disc)は、通常、データをレーザーによって光学的に再生している。又、上述のものの組合せも、コンピュータ可読媒体に含まれうる。
上述の実施形態は、本出願の目的、技術的解決策、及び有益な効果を更に詳細に例示している。上述の説明は、本出願の実施形態であるに過ぎず、且つ、本出願の保護範囲を限定することを意図したものではないことを理解されたい。本出願の精神及び原理を逸脱することなしに実施されるすべての変更、等価な置換、及び改善は、本出願の保護範囲に含まれるものとする。

Claims (15)

  1. ウェブページとネイティブアプリケーションの間の通信を実現する方法であって、
    前記ネイティブアプリケーションは、事前に、ローカル端末上のローカルサーバー上において、特定のポート番号とバインド済みのユニフォームリソースロケータ(url)サービスを有効化しており、且つ、方法は、
    ユーザーによって開始されたウェブページアクセス要求に応答してウェブサーバーによって返された第1応答を受け取るステップと、
    前記第1応答がアプリケーションの識別子、ダウンロードリンク、及びバージョン情報を有する際に、登録済みのポートセットからポート番号を選択し、且つ、前記ローカルサーバーに対して、前記選択されたポート番号を担持するアクセス要求を開始するステップと、
    前記ローカルサーバーによって返されたネイティブアプリケーションの識別子及びバージョン情報を担持する第2応答を受け取った際に、前記識別子に従って、前記第2応答内の前記ネイティブアプリケーションと前記第1応答内の前記アプリケーションが同一であるかどうかを判定するステップと、
    前記第2応答内の前記ネイティブアプリケーションと前記第1応答内の前記アプリケーションが同一である場合に、前記第1応答に基づいてウェブページをレンダリングするプロセスにおいて前記ネイティブアプリケーションの前記バージョン情報及び前記アプリケーションの前記バージョン情報に従って前記アプリケーションの前記ダウンロードリンクの動作プロンプトを調節するステップと、
    というステップを有する、方法。
  2. 前記ネイティブアプリケーションの前記バージョン情報及び前記アプリケーションの前記バージョン情報に従って前記アプリケーションの前記ダウンロードリンクの動作プロンプトを調節する前記ステップは、
    前記ネイティブアプリケーションのバージョンが前記アプリケーションのバージョンよりも低い場合に、前記アプリケーションの前記ダウンロードリンクの前記動作プロンプトを「更新」となるように調節するステップ、或いは、
    前記ネイティブアプリケーションのバージョンが前記アプリケーションのバージョン以上である際に、前記アプリケーションの前記ダウンロードリンクの前記動作プロンプトを「インストール済み」となるように調節するステップ、
    を有する請求項1に記載のウェブページとネイティブアプリケーションの間の通信を実現する方法。
  3. 前記ローカル端末上の前記ローカルサーバーに対して、前記ポート番号を担持するアクセス要求を開始する前記ステップの後に、前記方法は、
    前記ローカルサーバーによって返される前記第2応答が受け取られず、且つ、前記登録済みのポートセット内に、選択されていないポート番号が依然として存在している際に、前記選択されていないポート番号からポート番号を選択し、且つ、前記ローカルサーバーに対して、前記選択されたポート番号を担持するアクセス要求を開始するステップ、或いは、
    前記ローカルサーバーによって返される前記第2応答が受け取られず、且つ、前記登録済みのポートセット内のすべてのポート番号が選択されている際に、前記第1応答に基づいて前記ウェブページを直接的にレンダリングするステップ、
    を更に有する請求項1に記載のウェブページとネイティブアプリケーションの間の通信を実現する方法。
  4. 前記第1応答が、複数のアプリケーションの識別子、ダウンロードリンク、及びバージョン情報を有している場合に、前記識別子に従って、前記第2応答内の前記ネイティブアプリケーションが前記第1応答内の前記複数のアプリケーションのいずれかと同一であるかどうかを判定するステップ、
    を更に有する請求項1に記載のウェブページとネイティブアプリケーションの間の通信を実現する方法。
  5. 前記ネイティブアプリケーションは、
    最初のスタートアッププロセスにおいて、前記ネイティブアプリケーションが、前記ローカルサーバーに対して、登録済みのポートとの間におけるバインド動作を要求するurlサービスの命令を送信し、前記命令は、バインドされることが望ましいポート番号を担持しており、且つ、
    前記バインドすることが望ましい前記ポート番号が未だバインドされていない場合に、ローカルサーバーが、前記ネイティブアプリケーションのために、前記ポート番号とバインド済みのurlサービスを有効化する、
    という方式により、事前に、前記urlサービスを有効化している請求項1に記載のウェブページとネイティブアプリケーションの間の通信を実現する方法。
  6. バインドすることが望ましい前記ポート番号がバインドされており、且つ、前記登録済みのポートセット内に、バインドされていないポート番号が依然として存在している場合に、前記ローカルサーバーにより、前記バインドされていないポート番号からポート番号を選択し、且つ、前記ネイティブアプリケーションのために、前記選択されたポート番号とバインド済みのurlサービスを有効化するステップ、
    を更に有する請求項5に記載のウェブページとネイティブアプリケーションの間の通信を実現する方法。
  7. 前記登録済みのポートセット内のすべてのポート番号がバインドされている場合に、前記ローカルサーバーにより、前記現時点のバインド動作が失敗することを確認するステップ、
    を更に有する請求項5に記載のウェブページとネイティブアプリケーションの間の通信を実現する方法。
  8. 前記ネイティブアプリケーションは、
    第1スタートアッププロセスにおいて、前記ネイティブアプリケーションが、前記ローカルサーバーに対して、登録済みのポートとの間におけるバインド動作を要求するurlサービスの命令を送信し、且つ、
    前記登録済みのポートセット内に、バインドされていないポート番号が依然として存在している場合に、前記ローカルサーバーが、前記バインドされていないポート番号からポート番号を選択し、且つ、前記ネイティブアプリケーションのために、前記選択されたポート番号とバインド済みのurlサービスを有効化する、
    という方式により、事前に、前記urlサービスを有効化している請求項1に記載のウェブページとネイティブアプリケーションの間の通信を実現する方法。
  9. 前記登録済みのポートセット内のすべてのポート番号がバインドされている場合に、前記ローカルサーバーにより、前記現時点のバインド動作が失敗することを確認するステップ、
    を更に有するウェブページとネイティブアプリケーションの間の通信を実現する方法。
  10. 前記ネイティブアプリケーションは、
    システムが、前記現時点のアプリケーションのインストールプロセスにおいて現時点のアプリケーションのインストール状態を監視し、
    前記現時点のアプリケーションが正常にインストールされたイベントを検出した際に、前記システムが、前記現時点のアプリケーションのために、特定のポート番号とバインド済みのurlサービスを有効化するべく、バインド命令を前記ローカルサーバーに送信するように、トリガされ、且つ、
    前記登録済みのポートセット内に、バインドされていないポート番号が依然として存在している場合に、ローカルサーバーが、前記バインドされていないポート番号からポート番号を選択し、且つ、前記現時点のアプリケーションのために、前記選択されたポート番号とバインド済みのurlサービスを有効化する、
    という方式により、事前に、前記urlサービスを有効化している請求項1に記載のウェブページとネイティブアプリケーションの間の通信を実現する方法。
  11. 前記登録済みのポートセット内のすべてのポート番号がバインドされている場合に、前記ローカルサーバーにより、前記現時点のバインディングが失敗することを確認するステップ、
    を更に有する請求項10に記載のウェブページとネイティブアプリケーションの間の通信を実現する方法。
  12. ウェブページとネイティブアプリケーションの間の通信を実現する装置であって、
    前記ネイティブアプリケーションは、事前に、ローカル端末上のローカルサーバー上において、特定のポート番号とバインド済みのユニフォームリソースロケータ(url)サービスを有効化しており、且つ、前記装置は、
    ユーザーによって開始されたウェブページアクセス要求に応答してウェブサーバーによって返された第1応答を受け取るように構成された第1応答受信モジュールと、
    前記第1応答が、アプリケーションの識別子、ダウンロードリンク、及びバージョン情報を有する際に、登録済みのポートセットからポート番号を選択し、且つ、前記ローカル端末上において配置された前記ローカルサーバーに対して、前記選択されたポート番号を担持するアクセス要求を開始するように構成されたローカルアクセス開始モジュールと、
    前記ローカルサーバーによって返されたネイティブアプリケーションの識別子及びバージョン情報を担持する第2応答を受け取った際に、前記識別子に従って、前記第2応答内の前記ネイティブアプリケーションと前記第1応答内の前記アプリケーションが同一であるかどうかを判定するように構成されたアプリケーション識別子マッチングモジュールと、
    前記第2応答内の前記ネイティブアプリケーションと前記第1応答内の前記アプリケーションが同一である場合に、前記第1応答に基づいてウェブページをレンダリングするプロセスにおいて前記ネイティブアプリケーションの前記バージョン情報及び前記アプリケーションの前記バージョン情報に従って前記アプリケーションの前記ダウンロードリンクの動作プロンプトを調節するように構成された動作プロンプト調節モジュールと、
    を有する、装置。
  13. 前記動作プロンプト調節モジュールが前記ネイティブアプリケーションの前記バージョン情報及び前記アプリケーションの前記バージョン情報に従って前記アプリケーションの前記ダウンロードリンクの動作プロンプトを調節することは、
    前記ネイティブアプリケーションのバージョンが前記アプリケーションのバージョンよりも低い際に、前記アプリケーションの前記ダウンロードリンクの前記動作プロンプトを「更新」となるように調節すること、或いは、
    前記ネイティブアプリケーションのバージョンが前記アプリケーションのバージョン以上である際に、前記アプリケーションの前記ダウンロードリンクの前記動作プロンプトを「インストール済み」となるように調節すること、
    を有する請求項12に記載のウェブページとネイティブアプリケーションの間の通信を実現する装置。
  14. 電子装置であって、
    プロセッサと、
    メモリと、
    を有し、
    前記メモリは、ウェブページとネイティブアプリケーションの間の通信を実現する装置を保存するように構成されており、且つ、前記プロセッサによって実行された際に、ウェブページとネイティブアプリケーションの間の通信を実現する前記装置は、
    ユーザーによって開始されたウェブページアクセス要求に応答してウェブサーバーによって返された第1応答を受け取るステップと、
    前記第1応答が、アプリケーションの識別子、ダウンロードリンク、及びバージョン情報を有する際に、登録済みのポートセットからポート番号を選択し、且つ、ローカル端末上のローカルサーバーに対して、前記選択されたポート番号を担持するアクセス要求を開始するステップと、
    前記ローカルサーバーによって返された、ネイティブアプリケーションの識別子及びバージョン情報を担持する第2応答を受け取った際に、前記識別子に従って、前記第2応答内の前記ネイティブアプリケーションと前記第1応答内の前記アプリケーションが同一であるかどうかを判定するステップと、
    前記第2応答内の前記ネイティブアプリケーションと前記第1応答内の前記アプリケーションが同一である場合に、前記第1応答に基づいてウェブページをレンダリングするプロセスにおいて前記ネイティブアプリケーションの前記バージョン情報及び前記アプリケーションの前記バージョン情報に従って前記アプリケーションの前記ダウンロードリンクの動作プロンプトを調節するステップと、
    というステップを実行する、電子装置。
  15. 前記電子装置は、モバイル端末を有する請求項14に記載の電子装置。
JP2019515258A 2016-09-19 2017-09-11 ウェブページとネイティブアプリケーションの間の通信を実現する方法及び装置並びに電子装置 Active JP6945782B2 (ja)

Applications Claiming Priority (3)

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

Publications (2)

Publication Number Publication Date
JP2019530089A true JP2019530089A (ja) 2019-10-17
JP6945782B2 JP6945782B2 (ja) 2021-10-06

Family

ID=59439047

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019515258A Active JP6945782B2 (ja) 2016-09-19 2017-09-11 ウェブページとネイティブアプリケーションの間の通信を実現する方法及び装置並びに電子装置

Country Status (9)

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

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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103279375A (zh) * 2013-06-19 2013-09-04 百度在线网络技术(北京)有限公司 在浏览器中运行应用程序的方法和装置
JP2013196122A (ja) * 2012-03-16 2013-09-30 Canon Inc 通信装置の制御方法及び通信装置
JP2016517571A (ja) * 2013-03-13 2016-06-16 クゥアルコム・インコーポレイテッドQualcomm Incorporated ネイティブアプリケーションへのウェブプロパティアクセスを可能にするためのシステムおよび方法
WO2016095686A1 (zh) * 2014-12-19 2016-06-23 北京奇虎科技有限公司 浏览器与移动终端之间进行通信的方法及浏览器装置

Family Cites Families (41)

* 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
US7275096B2 (en) 2001-09-20 2007-09-25 Telelogic North America 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
US8667487B1 (en) 2010-05-18 2014-03-04 Google Inc. Web browser extensions
CN102316160B (zh) 2011-06-14 2013-09-18 贵阳朗玛信息技术股份有限公司 网站系统及其通信方法
KR20160118378A (ko) 2011-08-24 2016-10-11 노키아 솔루션스 앤드 네트웍스 오와이 애플리케이션 프로그램 제어
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
CN107832277B (zh) 2012-03-13 2021-12-24 谷歌有限责任公司 用于提供网页的二进制表示的系统和方法
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
KR101585547B1 (ko) * 2013-04-15 2016-01-14 김수현 프로그램 업데이트 확인방법
EP3005039A4 (en) * 2013-05-28 2017-03-01 Pulletikurty, Ravi 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 百度在线网络技术(北京)有限公司 应用的处理方法及装置
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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013196122A (ja) * 2012-03-16 2013-09-30 Canon Inc 通信装置の制御方法及び通信装置
JP2016517571A (ja) * 2013-03-13 2016-06-16 クゥアルコム・インコーポレイテッドQualcomm Incorporated ネイティブアプリケーションへのウェブプロパティアクセスを可能にするためのシステムおよび方法
CN103279375A (zh) * 2013-06-19 2013-09-04 百度在线网络技术(北京)有限公司 在浏览器中运行应用程序的方法和装置
WO2016095686A1 (zh) * 2014-12-19 2016-06-23 北京奇虎科技有限公司 浏览器与移动终端之间进行通信的方法及浏览器装置

Also Published As

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

Similar Documents

Publication Publication Date Title
JP6945782B2 (ja) ウェブページとネイティブアプリケーションの間の通信を実現する方法及び装置並びに電子装置
US10412176B2 (en) Website access method, apparatus, and website system
US10880287B2 (en) Out of box experience application API integration
US10419289B2 (en) System and method for configuration management service
US9519654B2 (en) Method, device, processing center and system for desktop synchronization
WO2013143403A1 (zh) 一种访问网站的方法和系统
US8949947B2 (en) Network system and non-transitory computer-readable storage medium
EP3005213A1 (en) Dynamic registration of an application with an enterprise system
US10402464B2 (en) Methods and apparatuses for opening a webpage, invoking a client, and creating a light application
US8484373B2 (en) System and method for redirecting a request for a non-canonical web page
US9137094B1 (en) Method for setting DNS records
US9088462B2 (en) Common web accessible data store for client side page processing
JP6995211B2 (ja) 強化されたオンラインプライバシ
JP2015079486A (ja) フィールドデバイスを設定するためのシステムおよび方法
US11722481B2 (en) Multiple identity provider authentication system
KR20160143519A (ko) 시스템, 서버 시스템, 방법 및 프로그램
US10440100B2 (en) Information processing apparatus, information processing method, and non-transitory computer readable medium
US20210067583A1 (en) System and control method
CN103701844A (zh) 管理用户信息的方法及系统
CN117131295A (zh) 资源管理方法、系统、装置、电子设备及存储介质
KR20140093796A (ko) 웹 서비스 제공 방법, 시스템, 서버 및 컴퓨터 판독 가능한 기록 매체

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190514

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20191226

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20191227

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200520

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200602

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200717

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201006

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20201105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210525

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20210721

AA91 Notification that invitation to amend document was cancelled

Free format text: JAPANESE INTERMEDIATE CODE: A971091

Effective date: 20210810

R150 Certificate of patent or registration of utility model

Ref document number: 6945782

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150