JP7418573B2 - アプリケーション内ストアユーザインターフェース - Google Patents

アプリケーション内ストアユーザインターフェース Download PDF

Info

Publication number
JP7418573B2
JP7418573B2 JP2022529356A JP2022529356A JP7418573B2 JP 7418573 B2 JP7418573 B2 JP 7418573B2 JP 2022529356 A JP2022529356 A JP 2022529356A JP 2022529356 A JP2022529356 A JP 2022529356A JP 7418573 B2 JP7418573 B2 JP 7418573B2
Authority
JP
Japan
Prior art keywords
application
user interface
application store
digital content
active
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.)
Active
Application number
JP2022529356A
Other languages
English (en)
Other versions
JP2023509820A (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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of JP2023509820A publication Critical patent/JP2023509820A/ja
Application granted granted Critical
Publication of JP7418573B2 publication Critical patent/JP7418573B2/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
    • G06F8/61Installation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72406User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading
    • GPHYSICS
    • G02OPTICS
    • G02FOPTICAL DEVICES OR ARRANGEMENTS FOR THE CONTROL OF LIGHT BY MODIFICATION OF THE OPTICAL PROPERTIES OF THE MEDIA OF THE ELEMENTS INVOLVED THEREIN; NON-LINEAR OPTICS; FREQUENCY-CHANGING OF LIGHT; OPTICAL LOGIC ELEMENTS; OPTICAL ANALOGUE/DIGITAL CONVERTERS
    • G02F1/00Devices or arrangements for the control of the intensity, colour, phase, polarisation or direction of light arriving from an independent light source, e.g. switching, gating or modulating; Non-linear optics
    • G02F1/01Devices or arrangements for the control of the intensity, colour, phase, polarisation or direction of light arriving from an independent light source, e.g. switching, gating or modulating; Non-linear optics for the control of the intensity, phase, polarisation or colour 
    • G02F1/13Devices or arrangements for the control of the intensity, colour, phase, polarisation or direction of light arriving from an independent light source, e.g. switching, gating or modulating; Non-linear optics for the control of the intensity, phase, polarisation or colour  based on liquid crystals, e.g. single liquid crystal display cells
    • G02F1/133Constructional arrangements; Operation of liquid crystal cells; Circuit arrangements
    • G02F1/1333Constructional arrangements; Manufacturing methods
    • G02F1/13338Input devices, e.g. touch panels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0412Digitisers structurally integrated in a display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • 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/451Execution arrangements for user interfaces
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10KORGANIC ELECTRIC SOLID-STATE DEVICES
    • H10K59/00Integrated devices, or assemblies of multiple devices, comprising at least one organic light-emitting element covered by group H10K50/00
    • H10K59/40OLEDs integrated with touch screens

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Nonlinear Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Optics & Photonics (AREA)
  • Chemical & Material Sciences (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Description

アプリケーション、たとえば、ウェブブラウザまたは他のネイティブアプリケーションは、別のアプリケーションへのリンクを含むコンテンツを提示することができる。たとえば、ニュースアプリケーションは、電子メールアプリケーションを使用してニュース記事についての情報を送るためのリンクを含むコンテンツを提示することができる。リンクの選択を示すデータの受信に応答して、ニュースアプリケーションは、電子メールを介してニュース記事についての情報を送ることを可能にするために電子メールアプリケーションを起動することができる。
ユーザデバイスは、クライアントデバイス上で実行されるアクティブアプリケーションにおいて、アクティブアプリケーションのユーザインターフェースの一部分の上にオーバーレイされたアプリケーションストアユーザインターフェースを自動的に提示することができる。アプリケーションストアユーザインターフェースは、アクティブアプリケーションから離れてまたはアクティブアプリケーションを閉じてナビゲートする必要なしにクライアントデバイス上での第2のアプリケーションのインストールを可能にするために、第2のアプリケーションのためのコンテンツを含む。ユーザデバイスは、アクティブアプリケーションにおけるビデオの提示の後に、所定の時間期間の間のコンテンツ、たとえば、画像の提示の後に、または別の適切なトリガの後に、アプリケーションストアユーザインターフェースを自動的に提示することができる。これは、ユーザデバイスが(たとえば、別のアプリケーションにおいて)アプリケーションストアを起動する必要なしに、ユーザデバイスがアプリケーションストアユーザインターフェースを提示すべきであることを示すユーザ入力を必要とすることなしに、またはその両方なしに、第2のアプリケーションをインストールすることを可能にすることができる。
いくつかの実装形態では、アクティブアプリケーションは、アプリケーションストアユーザインターフェースがアクティブアプリケーション内で直接提示されるように、アクティブアプリケーションのユーザインターフェースの埋込み部分としてアプリケーションストアユーザインターフェースを提示することができる。たとえば、アクティブアプリケーションは、アプリケーションストアユーザインターフェースの提示と同時にコンテンツを提示することができる。アクティブアプリケーションは、アクティブアプリケーションのためのユーザインターフェースにおいて、ユーザインターフェースのある部分にビデオまたは画像を、ユーザインターフェースの別の部分に埋込み型アプリケーションストアユーザインターフェースを提示することができる。いくつかの例では、埋込み型アプリケーションストアユーザインターフェースは、アクティブアプリケーションのユーザインターフェースに表示される画像などのコンテンツ内に埋め込まれ得る。本明細書では、埋込み型アプリケーションストアユーザインターフェースは、アクティブアプリケーションのユーザインターフェースに表示されるコンテンツ、たとえば、画像に、または直接アクティブアプリケーションのユーザインターフェース自体に、のいずれかで埋め込まれ得る。
これらの実装形態では、埋込み型アプリケーションストアユーザインターフェースは、ユーザ入力が埋込み型アプリケーションストアユーザインターフェースが提示される別の部分のサイズを変更することを可能にするサイズ制御を含むことができる。たとえば、アクティブアプリケーションは、ビデオまたは画像のコンテンツに基づいてビデオまたは画像用の部分のサイズを決定することができる。ビデオまたは画像が、たとえば、好ましいアスペクト比では正方形であるとき、アクティブアプリケーションは、ビデオまたは画像の正方形サイズを維持するように別の部分のサイズを決定することができる。次いで、アクティブアプリケーションは、アクティブアプリケーションのユーザインターフェースの残りの部分において埋込み型アプリケーションストアユーザインターフェースを提示する。
埋込み型アプリケーションストアユーザインターフェースのためのサイズ制御の選択を示すデータを受信すると、アクティブアプリケーションは、埋込み型アプリケーションストアユーザインターフェースが提示される別の部分のサイズを動的に変更することができる。これは、埋込み型アプリケーションストアユーザインターフェースのためのより多くの情報またはより少ない情報をアクティブアプリケーションのユーザインターフェースに提示させることができる。
本明細書で説明される主題は、様々な実施形態において実装され得、以下の利点のうちの1つまたは複数をもたらし得る。アプリケーションストアユーザインターフェースは、アプリケーションのユーザインターフェースの一部として提示されるので、アクティブアプリケーションは、ユーザデバイスがアクティブアプリケーションからアプリケーションストアの別個のインスタンスに切り替えることを必要とすることなしに別のアプリケーションのインストールを可能にし、それによって、アプリケーションストアアプリケーションがクライアントデバイスによって起動されるのを防止することができる。これは、クライアントデバイスが、別のアプリケーションを起動するために追加のメモリサイクルおよびプロセッササイクルを利用しなければならないのではなく、すでに起動されたアプリケーション内でアプリケーションストアインターフェースを提示するだけなので、アプリケーションストアインターフェースを提示するためにクライアントデバイスによって使用されなければならないプロセッサリソースおよびメモリリソースの量を低減する。言い換えれば、アプリケーションストアインターフェースは、追加の計算リソースがアプリケーションストアの別個のインスタンスのために確保されることを必要とすることなしに、そのための計算リソースがすでに確保されている、すでに起動されたアプリケーション内でのレンダリング、表示、およびそのアプリケーションとの対話を行うことが可能である。さらに、すでに起動されたアプリケーション内でのアプリケーションストアインターフェースのレンダリング、そのアプリケーションストアインターフェースの表示、およびそのアプリケーションストアインターフェースとの対話を可能にすることによって、2つの別個のアプリケーションを実行することに関連付けられた計算オーバーヘッドが回避され得る。プロセッサおよびメモリの使用を低減することは、モバイルデバイスの文脈に限定されるバッテリー消費量も低減し、それによって、バッテリー寿命を延ばし、1回の充電でより多くの動作が実施されることを可能にする。
さらに、本明細書で説明される技法は、たとえば、アプリケーション用の第1のユーザインターフェースからアプリケーションストア用の第2のユーザインターフェースに切り替えることを示す、ユーザデバイス用のディスプレイ上で提示されるアニメーションを低減することができ、このことは、アニメーションの間に必要とされるピクセル色、輝度、またはその両方を変更するのに必要とされるプロセッサ消費および電力も低減することができる。本文書で説明される技法は、たとえば、ユーザデバイスが通常ならばアプリケーションストアユーザインターフェースの提示を生じさせるためのリンクまたは他のメニューオプションの選択を示すデータの受信を必要とするときに、アプリケーションのユーザインターフェースの上のオーバーレイ型ユーザインターフェースとして、またはユーザデバイスがアプリケーションのユーザインターフェースから切り替える先の別個のユーザインターフェースとしてのいずれかで、ユーザデバイスによって受信されるユーザ入力の量を低減することができる。これらの技法は、たとえば、別のアプリケーション内にオーバーレイ型または埋込み型のいずれかのアプリケーションストアユーザインターフェースを提示することによって、クリックまたはユーザインターフェースとの他のユーザ対話の数を低減することができる。これらの技法は、アプリケーションストアにナビゲートするためにユーザデバイスによって必要とされる時間の量を低減することによって、アプリケーションストアから情報をダウンロードすることに対するアクセス可能性を改善することもできる。本文書で説明される技法は、アプリケーションストアアプリケーションの提示を必要とすることなしに、実際のアプリケーションストアデータベースから取り出されたアプリケーションについての詳細情報の提示を可能にすることができる。
これらの技法は、ユーザ入力のより効率的な受信および処理を可能にし、ユーザデバイスのプロセッサによる別のアプリケーションのより効率的なインストールを可能にするグラフィカルショートカットを提供することができる。別のアプリケーションをインストールするために必要とされる対話の数を低減することは、ユーザデバイスがアクティブである必要がある時間の量を低減すること、レンダリングされる必要がある選択可能な入力の数を低減すること、処理される必要がある受信された入力の数を低減すること、またはメモリもしくはリモートサーバから取り出される必要があるデータの量を低減することのうちの1つまたは複数を通じて、計算リソースのより効率的な利用を実現することができる。これらの利益は、利用可能なプロセッサ、メモリ、バッテリーおよび帯域幅のより効率的な使用に寄与することができる。さらに、デジタルコンテンツが所定の時間期間の間にアプリケーションユーザインターフェースにおいて表示された後に、または別の適切なトリガの後に、アプリケーションストアユーザインターフェースがレンダリングされ表示されるとき、説明される技法は、アプリケーションストアユーザインターフェースのレンダリングが、受信された入力の識別または非識別に、たとえば所定の時間期間内に応答できるようにすることによって、すでに起動されたアプリケーションの機能および多用途性を拡張することができる。したがって、この例では、アプリケーションストアユーザインターフェースのレンダリングおよび表示は、ユーザ入力の識別または非識別のみに基づいて実装され、他の場合には回避されて、利用可能な計算リソースのさらなる節約およびより効率的な使用を実現する。
一般に、本明細書で説明される主題の一態様は、ユーザデバイス上で実行されるアプリケーションストアではないアクティブアプリケーションによって、アクティブアプリケーションのユーザインターフェースにおいて表示するために、ユーザデバイス上にインストールされていない第2のアプリケーションを参照するデジタルコンテンツを受信するアクションと、1つまたは複数のサーバから、アプリケーションストアではないアクティブアプリケーションによって、ユーザデバイス上にインストールされていない第2のアプリケーションのためのアプリケーションストアデータを取得するアクションと、アクティブアプリケーションによって、アクティブアプリケーションのユーザインターフェースにおいて、(i)ユーザデバイス上にインストールされていない第2のアプリケーションのためのアプリケーションストアデータと、(ii)アクティブアプリケーション内からのユーザデバイス上での第2のアプリケーションのインストールをトリガするためのインストール要素とを含むアプリケーションストアユーザインターフェースを用いてデジタルコンテンツを提供するアクションと、アクティブアプリケーションのユーザインターフェース内で提供されたインストール要素とのユーザ対話を検出するアクションと、インストール要素とのユーザ対話の検出に応答して、アプリケーションストアのためのアプリケーションを起動することとは無関係に第2のアプリケーションのダウンロードをトリガするアクションとを含む方法において具現化され得る。この態様の他の実施形態は、各々が方法のアクションを実施するように構成された、対応するコンピュータシステム、装置、コンピュータプログラム製品、および1つまたは複数のコンピュータ記憶デバイス上に記録されたコンピュータプログラムを含む。1つまたは複数のコンピュータのシステムは、動作時にシステムにアクションを実施させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをシステム上にインストールすることによって、特定の動作またはアクションを実施するように構成され得る。1つまたは複数のコンピュータプログラムは、データ処理装置によって実行されると、装置にアクションを実施させる命令を含めることによって、特定の動作またはアクションを実施するように構成され得る。
上記および他の実施形態は各々、単独でまたは組み合わせて、以下の特徴のうちの1つまたは複数を任意選択で含むことができる。アプリケーションストアデータを取得することは、アプリケーションストアではないアクティブアプリケーションによって、別のシステムから、ユーザデバイス上にインストールされていない第2のアプリケーションのためのアプリケーションストアデータを受信することを含むことができる。アプリケーションストアユーザインターフェースを用いてデジタルコンテンツを提供することは、別のシステムからのアプリケーションストアデータの受信に応答してアプリケーションストアユーザインターフェースを提供することを含むことができる。アプリケーションストアユーザインターフェースを用いてデジタルコンテンツを提供することは、アプリケーションストアユーザインターフェースを用いてデジタルコンテンツを表示することを含むことができる。アプリケーションストアユーザインターフェースを用いてデジタルコンテンツを提供することは、ディスプレイユニットに、デジタルコンテンツについてのデータと、ディスプレイユニットにデジタルコンテンツおよびアプリケーションストアユーザインターフェースを表示させるためのアプリケーションストアユーザインターフェースとを提供することを含むことができる。
いくつかの実装形態では、アプリケーションストアデータを含むアプリケーションストアユーザインターフェースを用いてデジタルコンテンツを提供することは、アクティブアプリケーションのユーザインターフェースにおいて、アプリケーションストアデータを含む埋込み型アプリケーションストアユーザインターフェースを用いてデジタルコンテンツを提示することを含むことができる。アプリケーションストアデータを含むアプリケーションストアユーザインターフェースを用いてデジタルコンテンツを提供することは、アプリケーションストアデータを含むオーバーレイ型アプリケーションストアユーザインターフェースを用いてデジタルコンテンツを提示することを含むことができる。方法は、アクティブアプリケーションによって、アプリケーションストアデータなしにユーザインターフェースにおいてデジタルコンテンツを表示することと、デジタルコンテンツの提示時間期間が満たされていると決定することとを含むことができる。オーバーレイ型アプリケーションストアユーザインターフェースを用いてデジタルコンテンツを表示することは、デジタルコンテンツの提示時間期間が満たされていると決定したことに応答することができる。
いくつかの実装形態では、デジタルコンテンツは、第2のアプリケーション詳細要素を含むことができる。方法は、アクティブアプリケーションによって、アクティブアプリケーションが第2のアプリケーション詳細要素とのユーザ対話を検出していないと決定することを含むことができる。オーバーレイ型アプリケーションストアユーザインターフェースを用いてデジタルコンテンツを表示することは、アクティブアプリケーションが第2のアプリケーション詳細要素とのユーザ対話を検出していないと決定したことと、デジタルコンテンツの提示時間期間が満たされていると決定したこととに応答することができる。
いくつかの実装形態では、アプリケーションストアデータを取得することは、デジタルコンテンツを含むメッセージにおいてアプリケーションストアデータを取得することを含むことができる。方法は、アプリケーションストアユーザインターフェースを用いてデジタルコンテンツを提供するのに先立って、デジタルコンテンツおよびアプリケーションストアデータをキャッシュすることと、提示基準が満たされていると決定することとを含むことができる。アプリケーションストアユーザインターフェースを用いてデジタルコンテンツを提供することは、提示基準が満たされていると決定したことに応答することができる。提示基準が満たされていると決定することは、アクティブアプリケーションによって、デジタルコンテンツの提示を要求するユーザ対話を検出することを含むことができる。アプリケーションストアユーザインターフェースを用いてデジタルコンテンツを提供することは、デジタルコンテンツの提示を要求するユーザ対話を検出したことに応答することができる。
いくつかの実装形態では、デジタルコンテンツの提示を要求するユーザ対話を検出することは、任意のデジタルコンテンツの提示を要求し、任意のアプリケーションストアデータの提示を要求しないユーザ対話を検出することを含むことができる。アプリケーションストアデータを含むアプリケーションストアユーザインターフェースを用いてデジタルコンテンツを提供することは、任意のデジタルコンテンツの提示を要求し、任意のアプリケーションストアデータの提示を要求しないユーザ対話を検出したことに応答することができる。アプリケーションストアデータを取得することは、別のシステムから、第2のアプリケーションがユーザデバイス上にインストールされていないとの決定に基づいて選択されたアプリケーションストアデータを取得することを含むことができる。
本明細書で説明される主題の1つまたは複数の実装形態の詳細は、添付の図面および以下の説明に記載される。主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかとなろう。
ユーザデバイスがアプリケーションストアユーザインターフェースを含むアクティブアプリケーションユーザインターフェースを提示する例示的な環境を示す図である。 埋込み型アプリケーションストアユーザインターフェースを有するユーザインターフェースの一例を示す図である。 埋込み型アプリケーションストアユーザインターフェースを有するユーザインターフェースの一例を示す図である。 オーバーレイ型アプリケーションストアユーザインターフェースを有するユーザインターフェースの一例を示す図である。 アプリケーションストアデータとともにデジタルコンテンツの提示を生じさせるためのプロセスのフロー図である。 本文書で説明されるコンピュータ実装方法に関して使用され得るコンピューティングシステムのブロック図である。
様々な図面における同様の参照番号および名称は、同様の要素を示す。
図1は、ユーザデバイス102がアプリケーションストアユーザインターフェースを含むアクティブアプリケーションユーザインターフェースを提示する例示的な環境100を示す。たとえば、ユーザデバイス102上で実行されるアクティブアプリケーション108は、アクティブアプリケーション108がアプリケーションストアの一部ではなく、アクティブアプリケーション自体がアプリケーションストアユーザインターフェース114を生成するためのコードを含まなくても、それ自体のユーザインターフェース110の一部としてアプリケーションストアユーザインターフェース114を提示することができる。以下でより詳細に説明されるように、アクティブアプリケーション108は、たとえば、ユーザデバイス102上にインストールされていない別のアプリケーションのより効率的なインストールを可能にするために、アプリケーションストアユーザインターフェース114を提示することができる。
本文書で説明されるように、アクティブアプリケーションは、そのインターフェースがたとえばユーザデバイス102用のディスプレイ上で提示されており、最小化されていない、アプリケーションである。たとえば、アクティブアプリケーション108は、ユーザデバイス102に接続された一体型ディスプレイ、外部ディスプレイ、またはその両方の上で提示されるアプリケーションユーザインターフェース110を含むことができる。アクティブアプリケーション108は、受信デバイスにアプリケーションストアユーザインターフェース114を含むアプリケーションユーザインターフェース110をディスプレイ上に提示させる、アプリケーションユーザインターフェース110の提示のための命令を、ディスプレイにまたはグラフィックス処理ユニットに提供することができる。
ユーザデバイス102は、アプリケーションストア104を含むか、またはアプリケーションストア104にアクセスすることが可能である。アプリケーションストア104は、ユーザデバイス102がユーザデバイス102上にアプリケーションをインストールすることを可能にするアプリケーションである。たとえば、アプリケーションストア104は、たとえば、アプリケーションストアサーバから、アプリケーションのためのアプリケーションストアデータを受信することができる。アプリケーションは、ユーザデバイス102上でのインストールのために利用可能な任意の適切なタイプのアプリケーションであり得る。
アプリケーションストア104は、アプリケーションストアユーザインターフェースにおいてアプリケーションストアデータを提示することができる。アプリケーションストアユーザインターフェースは、ユーザ入力が、アプリケーションを検索すること、アプリケーションについてのより多くの情報を得ること、アプリケーションをインストールすること、またはこれらの組合せを行うことを可能にする、1つまたは複数の要素を含むことができる。いくつかの例では、アプリケーションストア104は、アプリケーションの検索を示すユーザ入力の受信に応答して、アプリケーションのためのアプリケーションストアデータを取り出す。
アプリケーションストア104とは別に、ユーザデバイス102は、アクティブアプリケーション108などの、ユーザデバイス102上にインストールされた1つまたは複数のアプリケーションを含む。1つまたは複数のアプリケーションは、バンキングアプリケーション、生産性アプリケーション、音楽プレーヤ、ソーシャルメディアアプリケーション、またはゲームなどの、任意の適切なタイプのアプリケーションであり得る。これらの1つまたは複数のアプリケーションは一般に、以下でより詳細に説明されるように、それぞれのアプリケーションが外部ソースからデータを受信することなしにアプリケーションストアユーザインターフェースを生成することを可能にするコードを含まない。
アクティブアプリケーション108はアプリケーションストアユーザインターフェースを生成するコードを含まないが、アクティブアプリケーション108は、アプリケーションストアユーザインターフェース114を提供する、そのアプリケーションユーザインターフェース110内で直接、デジタルコンテンツを提示するように構成される。アプリケーションストアユーザインターフェース114は、別のアプリケーションのインストールを可能にするインストール要素118を含む。たとえば、インストール要素118とのユーザ対話は、たとえば、ユーザデバイス102がアクティブアプリケーション108を離れるかまたは他の方法で最小化することを必要とすることなしに、アクティブアプリケーション内から別のアプリケーションのダウンロードをトリガするかまたは他の方法で開始することができる。アプリケーションユーザインターフェース110におけるアプリケーションストアユーザインターフェース114の提示は、たとえば、ユーザデバイス102がアプリケーションストア104を起動し提示することを必要としないことによって、ユーザデバイス102上に別のアプリケーションをインストールするために使用されるコンピュータリソースを低減することができる。
アプリケーションユーザインターフェース110は、アクティブアプリケーション108のためのコンテンツを提示する。コンテンツは、ユーザデバイス102上にローカルに記憶されたコンテンツ、たとえば、アクティブアプリケーション108とともにインストールされたコンテンツを含むことができる。コンテンツは、コンテンツサーバ120、たとえば、サードパーティシステムから取り出されたコンテンツを含むことができる。たとえば、アクティブアプリケーション108がアプリケーションユーザインターフェース110において動的コンテンツを提示するとき、アクティブアプリケーション108はコンテンツサーバ120からのコンテンツを要求することができる。動的コンテンツは、画像、ビデオ、埋込みファイルについてのコンテンツ、または広告コンテンツを含むことができる他の適切なタイプの動的コンテンツを含むことができる。
要求の受信に応答して、コンテンツサーバ120はアプリケーションユーザインターフェース110において提示するためのコンテンツを選択する。コンテンツサーバ120は、アクティブアプリケーション108、アクティブアプリケーション108のアプリケーションタイプ、ユーザデバイス102のプロファイル、ユーザデバイス102上にインストールされたアプリケーションを示すデータ、または他の適切なデータに基づいて、コンテンツを選択することができる。
たとえば、アクティブアプリケーション108としての文書エディタは、アプリケーションユーザインターフェース110において文書を提示することができる。文書は、文書に埋め込まれた、文書エディタが提示することができない、ワークシートまたは音楽ファイルなどの、サポートされていないコンテンツを含むことができる。ユーザデバイス102がサポートされていないコンテンツの機能を提供するアプリケーションを含まないとき、文書エディタは、サポートされていないコンテンツの機能を提供する別のアプリケーションのインストールを可能にするアプリケーションコンテンツを要求することができる。
コンテンツサーバ120が文書エディタからのアプリケーションコンテンツ要求を受信するとき、コンテンツサーバ120は、サポートされていないコンテンツのタイプに応じてワークシートアプリケーションまたは音楽アプリケーションのためのアプリケーションコンテンツを選択するために、ユーザデバイス102、文書エディタ、サポートされていないコンテンツ、またはこれらのうちの2つ以上の組合せについてのデータを使用することができる。選択されたアプリケーションコンテンツは、たとえば、ユーザデバイス102がコンテンツ要求をコンテンツサーバ120に送った時点でユーザデバイス102上にインストールされていないアプリケーションのためのものである。コンテンツサーバ120は、選択されたアプリケーションコンテンツをアクティブアプリケーション108に提供する。
選択されたアプリケーションコンテンツは、デジタルコンテンツ112、アプリケーションストアデータ116、またはその両方を含むことができる。たとえば、デジタルコンテンツ112は、たとえば、サポートされていないコンテンツの機能を提供する別のアプリケーションを参照することができる。デジタルコンテンツ112は、別のアプリケーションの名前、画像、ロゴ、または他のデータを含むことができる。アプリケーションストアデータ116は、アプリケーションストアサーバからの別のアプリケーションについてのデータを含む。アプリケーションストアデータ116は、別のアプリケーションの説明、別のアプリケーションについてのレビューデータ、別のアプリケーションのためのインターフェースのスクリーンショット、別のアプリケーションの使用法のビデオ、または他の適切なアプリケーションストアデータを含むことができる。
デジタルコンテンツ112は、アプリケーションストアデータ116とは異なるデータである。たとえば、デジタルコンテンツ112は、たとえば、別のアプリケーションのための埋込み型ユーザインターフェースまたはオーバーレイ型ユーザインターフェースなしで、アプリケーション自体のユーザインターフェース110によって直接提示され得るが、アプリケーションストアデータ116は、アプリケーションストアによる提示、またはアプリケーション自体のユーザインターフェース110の一部として提示されるアプリケーションストアユーザインターフェース114における提示のために構成される。
アクティブアプリケーション108は、デジタルコンテンツ112とアプリケーションストアデータ116とを含むコンテンツ応答をコンテンツサーバ120から受信する。いくつかの例では、アクティブアプリケーション108は、第1のサーバ、たとえば、コンテンツサーバ120からのデジタルコンテンツ112を含む第1の応答と、第2のサーバ、たとえば、アプリケーションストアサーバからのアプリケーションストアデータ116を含む第2の応答とを受信することができる。
コンテンツ応答を受信した後、アクティブアプリケーション108は、アプリケーションユーザインターフェース110においてデジタルコンテンツ112およびアプリケーションストアユーザインターフェース114を提示する。アプリケーションストアユーザインターフェース114は、アプリケーションストアデータ116およびインストール要素118を含む。
アクティブアプリケーション108は、そのアプリケーションユーザインターフェース110内のコンテンツスロットにおいてデジタルコンテンツ112を提示することができる。アクティブアプリケーション108は、その同じスロットにおいてアプリケーションストアユーザインターフェース114を提示することができる。スロットにおいて、またはそうでない場合はアプリケーションユーザインターフェース110においてアプリケーションストアユーザインターフェース114を提示するために、アクティブアプリケーション108は、たとえば、ユーザデバイス102のオペレーティングシステムまたは別のアプリケーションによって提供されるアプリケーションプログラミングインターフェース(「API」)を使用することができる。たとえば、アクティブアプリケーション108は、AndroidにおけるGoogle PlayまたはiOSにおけるAppleのいずれかによって提供されるAPIを使用することができる。
アクティブアプリケーション108がアクティブアプリケーション108内のインストール要素118とのユーザ対話を検出したとき、アクティブアプリケーション108は、アクティブアプリケーション108がアクティブなままである間に、別のアプリケーションのインストールをトリガするか、開始するか、または他の方法で引き起こす。たとえば、インストール要素118との対話は、アクティブアプリケーション108に、別のアプリケーションのためのインストールファイルを求める要求をアプリケーションストアサーバに送ること、ユーザデバイス102のオペレーティングシステムに別のアプリケーションをインストールさせるための要求をそのオペレーティングシステムに送ること、またはその両方を行わせることができる。
上記の例を続けると、文書エディタは、デジタルコンテンツ112として、ワークシートアプリケーションの名前を示すテキストおよびワークシートアプリケーションのロゴを受信することができる。アプリケーションストアデータ116として、文書エディタは、ワークシートアプリケーションのスクリーンショット、ワークシートアプリケーションについてのレビューデータ、および、たとえば何回ワークシートアプリケーションがインストールされたかを示すアプリケーションインストール品質を取得することができる。
文書エディタは、アプリケーションユーザインターフェース110において、ワークシートアプリケーション名および対応するロゴを、両方ともデジタルコンテンツ112として提示する。デジタルコンテンツ112の提示と同時に、文書エディタは、アプリケーションストアユーザインターフェース114においてアプリケーションストアデータ116を提示する。文書エディタは、たとえば、ワークシートアプリケーションのインストール、次いで以前のサポートされていないコンテンツの提示を可能にするために、デジタルコンテンツ112およびアプリケーションストアユーザインターフェース114をサポートされていないコンテンツとともに提示することができる。
いくつかの実装形態では、アクティブアプリケーション108は、受信時に直ちに提示されないコンテンツを要求すること、そのコンテンツを受信すること、またはその両方を行うことができる。これらの実装形態では、アクティブアプリケーション108は、デジタルコンテンツ112、アプリケーションストアデータ116、またはその両方をコンテンツキャッシュ106に記憶することができる。たとえば、アクティブアプリケーション108が動的ユーザインターフェースを有するとき、アクティブアプリケーション108は、動的コンテンツを提示する前に、アクティブアプリケーション108が提示するための動的コンテンツをすでに有しており、コンテンツサーバ120または別のサーバからの応答を待つ必要がないように、提示に先立ってコンテンツをキャッシュすることができる。
いくつかの例では、動的コンテンツは、たとえば、ゲームの一部として提示されるビデオであり得る。アクティブアプリケーション108は、デジタルコンテンツとして、別のアプリケーションを参照するビデオを受信することができる。アクティブアプリケーション108は、別のアプリケーションのための対応するアプリケーションストアデータを受信することができる。アクティブアプリケーション108は、後で使用するためにビデオおよびアプリケーションストアデータをコンテンツキャッシュ106に記憶することができる。
アクティブアプリケーション108が後で提示するためにデータをコンテンツキャッシュ106に記憶するとき、アクティブアプリケーション108はデータの受信、記憶、またはその両方の間にアクティブである必要はない。たとえば、バックグラウンドで動作している、たとえば、最小化されたアプリケーションは、デジタルコンテンツ112およびアプリケーションストアデータ116を受信することができる。アプリケーションは、受信されたデータをコンテンツキャッシュ106に記憶することができる。アプリケーションがアクティブである、たとえば、アクティブアプリケーション108であるとき、アプリケーションはアプリケーションユーザインターフェース110においてデジタルコンテンツ112およびアプリケーションストアユーザインターフェース114を提示することができる。
アプリケーションユーザインターフェース110に含まれるアプリケーションストアユーザインターフェース114は、アプリケーションストア104のユーザインターフェースのフォーマットと同じまたは同様のフォーマットを有することができる。たとえば、アクティブアプリケーション108は、アクティブアプリケーション108内で提示されていても、アプリケーションストア104のユーザインターフェースと同じフォーマット、たとえば、同じルックアンドフィールを有するアプリケーションストアユーザインターフェース114を提示することができる。
いくつかの例では、アプリケーションストアユーザインターフェース114は、1つまたは複数のパラメータに基づいてカスタマイズされ得る。パラメータは、ユーザデバイス102についてのデータ、ユーザデバイス102のアカウント、アクティブアプリケーション108、デジタルコンテンツ112、アプリケーションストアユーザインターフェース114がアプリケーションユーザインターフェース110において提示されることになるエリアのサイズ、アプリケーションストアユーザインターフェース114がアプリケーションユーザインターフェース110において提示されることになるエリアのロケーション、またはこれらのうちの2つ以上の組合せを含むことができる。これは、たとえば、アプリケーションストアユーザインターフェース114がユーザデバイス102用のディスプレイ全体の上で提示されないことを考慮すると、カスタマイズされた提示を可能にしながら、アプリケーションストアユーザインターフェース114がアプリケーションストア104のユーザインターフェースのルックアンドフィールと同様のルックアンドフィールを有することを可能にすることができる。
アプリケーションストアユーザインターフェース114が提示されることになるエリアのロケーションは、ディスプレイ上のロケーション、たとえば、上もしくは下もしくは左もしくは右であるか、ユーザインターフェース内のロケーションであるか、またはその両方であり得る。ユーザインターフェース内のロケーションは、アクティブアプリケーション108がアプリケーションユーザインターフェース110のスクロールアクションを示すユーザ入力を受信したかまたは他の方法でアプリケーションユーザインターフェース110の提示の中を移動した後にアプリケーションユーザインターフェース110において提示され得る、第1のコンテンツロケーション、第2のコンテンツロケーション、または第3のコンテンツロケーションなどであり得る。
いくつかの実装形態では、アプリケーションストアデータは、1つまたは複数のパラメータに基づいて選択され得る。たとえば、パラメータがアクティブアプリケーション108を表すデータ、たとえば、アクティブアプリケーション108の識別子を含むとき、コンテンツサーバ120は、第1のアクティブアプリケーションの第1の識別子のための第1のアプリケーションストアデータまたは第2のアクティブアプリケーションの第2の識別子のための第2のアプリケーションストアデータを選択することができる。第1のアクティブアプリケーションは文書エディタであり得、第2のアクティブアプリケーションはワークシートアプリケーションであり得る。第1のアプリケーションストアデータと第2のアプリケーションストアデータの両方によって表されるアプリケーションは、音楽アプリケーションであり得る。この例では、第1のアプリケーションストアデータは、どのように音楽アプリケーションが文書エディタと連携して使用され得るかを示すことができ、第2のアプリケーションストアデータは、どのように音楽アプリケーションがワークシートアプリケーションと連携して使用され得るかを示すことができる。これは、コンテンツサーバ120が、異なるユーザデバイス102から受信されたコンテンツ要求に応答して、アプリケーションストアデータ116が提示されることになる文脈に基づいて異なるアプリケーションストアデータ116を提供することを可能にすることができる。
アプリケーションストアデータ116が提示されることになる文脈に基づいたアプリケーションストアデータ116の動的な選択を可能にするために、ユーザデバイス102は、コンテンツ要求において1つまたは複数のパラメータをコンテンツサーバ120に送ることができる。たとえば、ユーザデバイス102、たとえば、アクティブアプリケーション108は、上述のパラメータについてのデータを送ることができる。パラメータは、提示されるビュー、アプリケーションストアユーザインターフェース114が提示されることになるデジタルコンテンツスロット、または他の適切なパラメータを含むことができる。
いくつかの例では、コンテンツサーバ120は、特定のデータタイプのための複数のデータセット、たとえば、複数のロゴまたはビューを含むアプリケーションストアデータ116を提供することができる。ビューは、アプリケーションストアデータ116によって表されるアプリケーションのスクリーンショットであり得る。次いで、アクティブアプリケーション108、またはユーザデバイス102上の別のコンポーネントは、デジタルコンテンツ112とともに提示するためのデータを特定のデータタイプのための複数のデータセットから選択することができる。たとえば、アプリケーションストアデータ116が第1のロゴおよび第2のロゴを含むとき、アクティブアプリケーション108は、2つのロゴのサイズおよびアプリケーションストアユーザインターフェース114が提示されることになるエリアのサイズに基づいて、デジタルコンテンツおよびアプリケーションストアユーザインターフェース114の配色に基づいて、たとえば、配色と最もぴったり整合するロゴを選択することによって、または別の適切な選択に基づいて、第1のロゴを選択することができる。これは、デジタルコンテンツ112、アプリケーションユーザインターフェース110、アクティブアプリケーション108および/またはユーザデバイス102とのアプリケーションストアデータ116およびアプリケーションストアユーザインターフェース114の互換性を保証することができる。さらに、複数のデータセットはたとえば単一のメッセージにおいて同時に提供され得、このことは、アクティブアプリケーション108の多用途性をさらに改善することができ、データのより効率的なプロビジョンを可能にすることができる。具体的には、複数のメッセージを送信することに関連付けられた計算要件および帯域幅要件の増加が回避され得る。さらに、複数のデータセットを前もって提供することによって、非互換性を識別することおよび追加のデータセットを要求することに関連付けられたレイテンシが回避され得、このことはネットワーク状態が劣悪であるときに特に重要であり得る。
アプリケーションストアユーザインターフェース114は、デジタルコンテンツ112の上にオーバーレイされるかまたはデジタルコンテンツ112内に埋め込まれ得る。アクティブアプリケーション108がオーバーレイ型アプリケーションストアユーザインターフェース114を提示するとき、アクティブアプリケーション108は、2つのグラフィカルユーザインターフェース(「GUI」)コンポーネント、すなわち、デジタルコンテンツ112を提示するための第1のGUIコンポーネントおよびアプリケーションストアユーザインターフェース114を提示するための第2のGUIコンポーネントを生成することができる。
次いで、アクティブアプリケーション108は、アプリケーションストアユーザインターフェース114を提示するための第2のGUIコンポーネントがデジタルコンテンツ112を提示するための第1のGUIコンポーネントの上にオーバーレイされるように、2つのGUIコンポーネントの提示のための命令を生成することができる。この提示は、たとえば、アプリケーションストアユーザインターフェース114を提示する第2のGUIコンポーネントがアプリケーションユーザインターフェース110の中心であることおよび第1のGUIコンポーネントとのユーザ対話が無効化されることを示すためのグレーオーバーレイを含めるために、提示されるデジタルコンテンツの色を変更することを含むことができる。アクティブアプリケーション108は、以下でより詳細に説明されるように、所定の時間期間の間にデジタルコンテンツ112を提示した後に、または別の提示基準が満たされたときに、オーバーレイ型アプリケーションストアユーザインターフェース114を提示することができる。アプリケーションストアユーザインターフェース114がオーバーレイされるアプリケーションユーザインターフェース110、たとえば、デジタルコンテンツ112のエリアは、ユーザデバイス102によってレンダリングされなくてもよい。これは、他のコンテンツによってカバーされることになっているコンテンツのレンダリングを回避することによって処理要件を低減することができる。
アクティブアプリケーション108が埋込み型アプリケーションストアユーザインターフェース114を提示するとき、アクティブアプリケーション108は、デジタルコンテンツ112とアプリケーションストアユーザインターフェース114の両方を提示するための単一のGUIコンポーネントを生成することができる。次いで、単一のGUIコンポーネントは、以下でより詳細に説明されるように、デジタルコンテンツ112とアプリケーションストアユーザインターフェース114の両方を提示する。
コンテンツサーバ120は、本文書で説明されるシステム、コンポーネント、および技法が実装される、1つまたは複数のロケーションにおける1つまたは複数のコンピュータ上のコンピュータプログラムとして実装されるシステムの一例である。ユーザデバイス102は、パーソナルコンピュータ、モバイル通信デバイス、およびネットワーク122を介してデータを送り、受信することができる他のデバイスを含み得る。ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、またはそれらの組合せなどのネットワーク122は、ユーザデバイス102およびコンテンツサーバ120を接続する。コンテンツサーバ120は、単一のサーバコンピュータまたは、たとえば、クラウドコンピューティングサービスとして展開されるリモートコンピュータのセットを含む、互いと連携して動作する複数のサーバコンピュータを使用し得る。
図2A~図2Bは、埋込み型アプリケーションストアユーザインターフェース202を有するユーザインターフェース200の一例を示す。ユーザインターフェース200は、デジタルコンテンツ204と同時に提示される、埋込み型アプリケーションストアユーザインターフェース202を含む。デジタルコンテンツ204は、画像またはビデオなどの、任意の適切なタイプのデジタルコンテンツを含むことができる。ここでは、デジタルコンテンツ204は、ディスプレイ上にユーザインターフェース200を提示しているアクティブアプリケーション、たとえば、アクティブアプリケーション108に追加の機能を提供することができる別のアプリケーションについての情報を提示するビデオである。たとえば、別のアプリケーションは、アクティブアプリケーション108であるかまたはアクティブアプリケーション108にまったく関係しない第1のゲームのための環境上で展開する第2のゲームであり得る。
埋込み型アプリケーションストアユーザインターフェース202は、ユーザインターフェース200の任意の適切な部分の中に埋め込まれ得る。たとえば、埋込み型アプリケーションストアユーザインターフェース202は、デジタルコンテンツ204に埋め込まれ得る。いくつかの例では、埋込み型アプリケーションストアユーザインターフェース202は、ユーザインターフェース200自体に直接埋め込まれ得る。
埋込み型アプリケーションストアユーザインターフェース202は、コンテンツサイズ要素206a~bを含むことができる。コンテンツサイズ要素206a~bは、埋込み型アプリケーションストアユーザインターフェース202が埋込み型アプリケーションストアユーザインターフェース202において提示されるコンテンツの量、ユーザインターフェース200において示されるデジタルコンテンツ204の量、またはその両方を調整することを可能にする。
たとえば、埋込み型アプリケーションストアユーザインターフェース202は、コンテンツサイズ要素206aが第1の位置にある時間期間T1の間に別のアプリケーションのためのアプリケーションストアデータ208aの第1の量を提示することができる。アクティブアプリケーションが、時間期間T2の間に第1の位置からコンテンツサイズ要素206bによって表される第2の位置にコンテンツサイズ要素を移動する、コンテンツサイズ要素206aとのユーザ対話を検出したとき、アクティブアプリケーション、たとえば、埋込み型アプリケーションストアユーザインターフェース202は、提示されるアプリケーションストアデータ208bの量を調整することができる。たとえば、埋込み型アプリケーションストアユーザインターフェース202は、コンテンツサイズ要素206aを第2の位置206bにスライドするユーザ対話に応答して追加のアプリケーションストアデータを提示することができる。これは、別のアプリケーションについての追加のデータ212、たとえば、アプリケーションストアデータの提示を可能にすることができる。追加のデータ212は、アプリケーションストアデータ208bの残りと一体的にユーザデバイス102によって受信されていてもよい。これは、複数のメッセージを送信することに関連付けられた計算要件および帯域幅要件の増加を回避することによってデータのより効率的なプロビジョンを可能にすることができる。さらに、ユーザ対話を受信すること、ユーザ対話を処理すること、追加のデータを要求すること、および追加のデータを受信することに関連付けられたレイテンシが回避され得、このことはネットワーク状態が劣悪であるときに特に重要であり得る。
埋込み型アプリケーションストアユーザインターフェース202は、インストール要素210を含む。インストール要素210は、アクティブアプリケーションを提示することからアプリケーションストアを提示することに切り替えることをユーザデバイスに行わせることなしに、アクティブアプリケーションを実行しているユーザデバイス上での別のアプリケーションのインストールを可能にする。たとえば、埋込み型アプリケーションストアユーザインターフェース202が時間期間T1の間にインストール要素210とのユーザ対話を検出したとき、アクティブアプリケーションはユーザデバイス上での別のアプリケーションのインストールを生じさせることができる。インストールプロセスは、アクティブアプリケーションがユーザデバイスに別のアプリケーションについての情報、たとえば、ユーザデバイスが別のアプリケーションをダウンロードしインストールするために使用する別のアプリケーションの識別子またはリンクを提供することを含むことができる。
図2Bに示されるように、ユーザデバイスが別のアプリケーションをダウンロードしている、別のアプリケーションをインストールしている、またはその両方を行っている時間期間T3の間に、埋込み型アプリケーションストアユーザインターフェース202は、ダウンロードプロセス、インストールプロセス、またはその両方の進捗を示す進捗要素214を提示することができる。たとえば、インストール要素210を選択するユーザ対話に応答して、埋込み型アプリケーションストアユーザインターフェース202は進捗要素214を提示することができる。インストール要素210を選択するユーザ対話は、任意の適切なタイプのユーザ対話であり得る。ユーザ対話は、音声入力、たとえば、「インストール」、タッチスクリーン入力、トラックボール入力、またはマウス入力であり得る。
埋込み型アプリケーションストアユーザインターフェース202は、ダウンロードプロセス、インストールプロセス、またはその両方の間にキャンセル要素216を提示することができる。たとえば、ユーザデバイスがダウンロードプロセスまたはインストールプロセスを開始したとき、埋込み型アプリケーションストアユーザインターフェース202は、ダウンロード、インストール、またはその両方のプロセスのキャンセルを可能にするキャンセル要素216を含むことができる。
デジタルコンテンツ204がビデオであるとき、アクティブアプリケーションは、ダウンロードプロセス、インストールプロセス、またはその両方の間にビデオを再生することができる。たとえば、アクティブアプリケーションは、時間期間T1の間にビデオの再生を開始し、ユーザデバイスが別のアプリケーションをインストールする時間期間T3の間にビデオを再生し続けることができる。これは、ユーザデバイスがビデオの再生と別のアプリケーションのインストールの両方を行うのに必要な時間の量を低減することができる。これらの実装形態では、ユーザインターフェース200は、ビデオの再生を停止する停止要素を含むことができる。たとえば、停止要素はデジタルコンテンツ204とともに提示され得る。ビデオの再生および別のアプリケーションのインストールは同時に同じアプリケーションによって実施され得るので、これらのプロセスはより時間効率の良いおよびより計算リソース効率の良い方式で実施され得る。
時間期間T4の間に、別のアプリケーションがインストールされた後に、埋込み型アプリケーションストアユーザインターフェース202は、開く要素218を提示するか、または、たとえば閉じる要素とのユーザ対話に応答して、ユーザがアクティブアプリケーションを使用し続けることを可能にすることができる。開く要素は、たとえば、別のアプリケーションのためのユーザインターフェースに切り替えるために、ユーザ入力がユーザデバイスに別のアプリケーションを開かせることを可能にする。別のアプリケーションが現在ユーザデバイス上で実行されておらず、埋込み型アプリケーションストアユーザインターフェース202が開く要素218とのユーザ対話を検出したとき、ユーザデバイスは別のアプリケーションを起動することができる。アクティブアプリケーションは、ユーザデバイスに別のアプリケーションを開かせるデータをユーザデバイスに提供することができる。このデータは、別のアプリケーションの識別子または他の適切なデータを示すことができる。
埋込み型アプリケーションストアユーザインターフェース202を有するユーザインターフェース200の使用は、ユーザデバイスが別個のアプリケーションストアアプリケーションの提示に切り替えることなしに、アプリケーションストアではないアクティブアプリケーションが別のアプリケーションを参照するデジタルコンテンツおよび別のアプリケーションのためのアプリケーションストアデータを提示することを可能にする。これは、情報を提示するために必要とされるコンピュータリソースを低減しながら、アクティブアプリケーションが補完的アプリケーションについての情報を提供することを可能にすることができる。
図3は、オーバーレイ型アプリケーションストアユーザインターフェースを有するユーザインターフェース300の一例を示す。時間期間T1の間に、ユーザインターフェース300は、アクティブアプリケーション、たとえば、アクティブアプリケーション108のためのデジタルコンテンツ302を示す。デジタルコンテンツ302は、アクティブアプリケーションとは異なるアプリケーションである別のアプリケーションについての情報を提供する、たとえば、その別のアプリケーションを参照することができる。たとえば、アクティブアプリケーションがゲームであるとき、デジタルコンテンツは、そのゲームの開発者と同じ開発者による別のゲームのためのビデオ、画像、またはその両方を含むことができる。
デジタルコンテンツ302は、アプリケーション詳細要素304、たとえば、第1のインストール要素304を含むことができる。アクティブアプリケーションがアプリケーション詳細要素304とのユーザ対話を検出したとき、アクティブアプリケーションはオーバーレイ型アプリケーションストアユーザインターフェース308を提示することができる。
アクティブアプリケーションがアプリケーション詳細要素304とのユーザ対話、閉じる要素306とのユーザ対話、またはその両方を検出しなかったとき、アクティブアプリケーションは時間期間T2の間にオーバーレイ型アプリケーションストアユーザインターフェース308を提示することができる。オーバーレイ型アプリケーションストアユーザインターフェース308は、別のアプリケーションのためのアプリケーションストアデータ310を提示する。たとえば、アプリケーションストアデータ310は、別のアプリケーションの名前、ロゴ、レーティングデータ、データのインストール回数、別のアプリケーションのスクリーンショット、またはこれらのうちの2つ以上の組合せを含むことができる。
オーバーレイ型アプリケーションストアユーザインターフェース308は、第2のインストール要素312を含む。オーバーレイ型アプリケーションストアユーザインターフェース308の提示を可能にするアプリケーション詳細要素304とは対照的に、第2のインストール要素312は、アクティブアプリケーションを実行しているユーザデバイス上での別のアプリケーションのインストールを可能にすることができる。たとえば、アクティブアプリケーションが第2のインストール要素312とのユーザ対話を検出したとき、アクティブアプリケーションは、ユーザデバイスに、別のアプリケーションの識別子またはダウンロードリンクなどの別のアプリケーションについての情報を提供することができる。ユーザデバイスは、別のアプリケーションについてのデータ、たとえば、インストールデータを取り出すために、受信された情報を使用することができる。ユーザデバイスは、アプリケーションストアサーバまたは別のアプリケーションについてのデータをメモリに維持する別の適切なシステムからデータを取り出すことができる。次いで、ユーザデバイスは、たとえば、取り出されたデータを使用して、別のアプリケーションをインストールすることができる。オーバーレイ型アプリケーションストアユーザインターフェース308は、別のアプリケーションがインストールされていることを示す1つまたは複数の要素、たとえば、進捗要素、キャンセル要素、またはその両方を含むことができる。
オーバーレイ型アプリケーションストアユーザインターフェース308は、コンテンツサイズ要素または示されたアプリケーションストアデータ310とのユーザ対話を可能にする別の要素を含むことができる。たとえば、この要素は、ユーザが別のアプリケーションのスクリーンショット、別のアプリケーションについてのレビュー、または別のアプリケーションの説明などの別のアプリケーションについての情報をスクロールすることを可能にすることができる。
提示基準が満たされたとき、アクティブアプリケーションはオーバーレイ型アプリケーションストアユーザインターフェース308を提示することができる。たとえば、アクティブアプリケーションは、所定の時間期間、たとえば、10秒が満了したと決定した後に、オーバーレイ型アプリケーションストアユーザインターフェース308を提示することができる。所定の時間期間は、アクティブアプリケーションがデジタルコンテンツ302を提示した持続時間を示すことができる。いくつかの実装形態では、アクティブアプリケーションは、デジタルコンテンツ302に含まれるビデオが再生を終了した後に、オーバーレイ型アプリケーションストアユーザインターフェース308を提示することができる。
アクティブアプリケーションがオーバーレイ型アプリケーションストアユーザインターフェース308を提示するとき、オーバーレイ型アプリケーションストアユーザインターフェース308は、デジタルコンテンツ302とのユーザ対話、デジタルコンテンツ302のためのユーザインターフェース要素、またはその両方を無効化することができる。たとえば、デジタルコンテンツ302がアプリケーション詳細要素304、閉じる要素306、またはその両方を含むとき、オーバーレイ型アプリケーションストアユーザインターフェース308の提示は、それらの要素とのユーザ対話を無効化することができる。
アクティブアプリケーションは、オーバーレイ型アプリケーションストアユーザインターフェース308がもはや提示されないことを要求するユーザ対話を検出することができる。検出されるユーザ対話は、オーバーレイ型アプリケーションストアユーザインターフェース308のための終了要素の選択、オーバーレイ型アプリケーションストアユーザインターフェース308の上方の、たとえば、対話可能ではないデジタルコンテンツ302が提示されるエリア、または別の適切なユーザ対話であり得る。
埋込み型アプリケーションストアユーザインターフェース202を参照しながら上記で説明されたように、オーバーレイ型アプリケーションストアユーザインターフェース308は、別のアプリケーションがインストールされた後に別のアプリケーションを開くことを可能にすることができる。たとえば、オーバーレイ型アプリケーションストアユーザインターフェース308は、別のアプリケーションのインストールの段階に応じて、インストール要素312、キャンセル要素、または開く要素を含むことができる。別のアプリケーションがインストールされていないとき、オーバーレイ型アプリケーションストアユーザインターフェース308はインストール要素312を示すことができる。別のアプリケーションのダウンロード、インストール、またはその両方の間に、オーバーレイ型アプリケーションストアユーザインターフェース308は、ダウンロードプロセス、インストールプロセス、またはその両方のキャンセルを可能にするキャンセル要素を含むことができる。別のアプリケーションがインストールされると、オーバーレイ型アプリケーションストアユーザインターフェース308は、ユーザデバイスに別のアプリケーションを開かせる開く要素を示すことができる。
図4は、アプリケーションストアデータとともにデジタルコンテンツの提示(たとえば、同時提示)を生じさせるためのプロセス400のフロー図である。たとえば、プロセス400は、環境100からのアクティブアプリケーション108によって使用され得る。
ユーザデバイス上で実行されるアクティブアプリケーションは、アクティブアプリケーションのユーザインターフェースにおいて提示するために、ユーザデバイス上にインストールされていない第2のアプリケーションを参照するデジタルコンテンツを受信する(402)。アクティブアプリケーションは、アプリケーションストアアプリケーションではない。代わりに、アクティブアプリケーションは、以下でより詳細に説明されるように、アプリケーションストアデータを提示する。
アクティブアプリケーションは、コンテンツサーバからデジタルコンテンツを受信することができる。コンテンツサーバは、第2のアプリケーションがアクティブアプリケーションが実行されているユーザデバイス上にインストールされていないとの決定に応答して、デジタルコンテンツを選択することができる。たとえば、コンテンツサーバは、ユーザデバイス上にインストールされた1つまたは複数のアプリケーションを識別するデータをユーザデバイスから受信し、たとえば、データがコンテンツサーバに送られた時点でユーザデバイス上にインストールされていないアプリケーションを参照するデジタルコンテンツを選択することができる。
アクティブアプリケーションは、ユーザデバイス上にインストールされていない第2のアプリケーションのためのアプリケーションストアデータを取得する(404)。アクティブアプリケーションは、アプリケーションストアではない。アクティブアプリケーションは、別のシステムからの別のアプリケーションのためのアプリケーションストアデータの受信に応答してのみアプリケーションストアユーザインターフェースを提供するように構成され得る。いくつかの例では、アクティブアプリケーションは、アプリケーションストアデータを要求するユーザ対話に応答してアプリケーションストアデータを提供するように構成されない。
アクティブアプリケーションは、任意の適切なシステムからアプリケーションストアデータを取得する。たとえば、アクティブアプリケーションは、コンテンツサーバからアプリケーションストアデータを取得することができる。アクティブアプリケーションは、アクティブアプリケーションがデジタルコンテンツを受信するコンテンツサーバとは異なる別のサーバ、たとえば、アプリケーションストアサーバからアプリケーションストアデータを取得することができる。
システムは、第2のアプリケーションがユーザデバイス上にインストールされていないとの決定に基づいて、アプリケーションストアデータを選択することができる。たとえば、第2のアプリケーションがユーザデバイス上にインストールされていないとシステムが決定したとき、システムは、第2のアプリケーションのためのアプリケーションストアデータを選択し、選択されたアプリケーションストアデータをアクティブアプリケーションに提供することができる。システムは、別のシステム、たとえば、コンテンツサーバがデジタルコンテンツをアクティブアプリケーションに提供するとき、第2のアプリケーションの識別子を別のシステムに提供することができる。
いくつかの例では、システムは、別のシステムから第2のアプリケーションの識別子を受信することができる。たとえば、第2のアプリケーションがアクティブアプリケーションを実行しているユーザデバイス上にインストールされていないと別のシステムが決定したとき、別のシステムは、第2のアプリケーションの識別子をシステムに提供することができる。システムは、アプリケーションストアデータを選択し、アプリケーションストアデータをアクティブアプリケーションに提供するために、その識別子を使用することができる。
アプリケーションストアデータは、任意の適切なアプリケーションストアデータであり得る。たとえば、アプリケーションストアデータは、アプリケーションレビューデータ、アプリケーションレーティングデータ、スクリーンショット、アプリケーション説明、またはこれらのうちの2つ以上の組合せを含むことができる。
アクティブアプリケーションは、提示基準が満たされたかどうかを決定する(406)。たとえば、アクティブアプリケーションは、デジタルコンテンツおよびアプリケーションストアデータを提示するためのユーザインターフェース要素スロットがあるかどうかを決定することができる。アクティブアプリケーションは、アクティブアプリケーションがデジタルコンテンツの提示を求める要求を示すユーザ対話を検出したかどうかを決定することができる。
ユーザ対話は、アプリケーションストアデータの提示を要求しない、デジタルコンテンツの提示を求める要求を示すことができる。これらの例では、アクティブアプリケーションは、受信されたデジタルコンテンツのタイプに応じてアプリケーションストアデータを提示するかどうかを決定し、アプリケーションストアデータを取得する必要をなくすことができる。たとえば、アクティブアプリケーションは、第2のアプリケーションを参照しないデジタルコンテンツを決定することができる。アクティブアプリケーションが第2のアプリケーションを参照しないデジタルコンテンツを決定するので、アクティブアプリケーションはアプリケーションストアデータを取得しない。次いで、アクティブアプリケーションは、たとえば、いかなるアプリケーションストアデータもなしに、デジタルコンテンツを単独で提示することができる。しかしながら、アクティブアプリケーションが第2のアプリケーションを参照するデジタルコンテンツを決定するとき、アクティブアプリケーションはアプリケーションストアデータを取得することができる。
提示基準が満たされていないとの決定に応答して、アクティブアプリケーションはキャッシュ内のデジタルコンテンツおよびアプリケーションストアデータを維持する(408)。たとえば、デジタルコンテンツを受信し、アプリケーションストアデータを取得した後、ユーザデバイスはキャッシュにデジタルコンテンツおよびアプリケーションストアデータを記憶する。アクティブアプリケーションがデジタルコンテンツおよびアプリケーションストアデータを提示すると、アクティブアプリケーションはキャッシュ内のデジタルコンテンツおよびアプリケーションストアデータを除去するかまたは維持することができる。デジタルコンテンツおよびアプリケーションストアデータの提示に先立って、提示基準が満たされていないとき、アクティブアプリケーションはキャッシュ内のデジタルコンテンツおよびアプリケーションストアデータを維持することができ、たとえば、デジタルコンテンツおよびアプリケーションストアデータをキャッシュから削除させない。
いくつかの実装形態では、アクティブアプリケーションは、デジタルコンテンツおよびアプリケーションストアデータが同時に提示されるべきかどうかを示す提示基準を有することができる。たとえば、提示基準は、たとえば、デジタルコンテンツがビデオであるときはビデオ終了イベントを、たとえば、デジタルコンテンツが画像であるときは時間期間を、またはその両方を示すことができる。提示基準がビデオ終了イベントであるとき、アクティブアプリケーションは、デジタルコンテンツとしてのビデオが再生を終了したかどうかを決定することができる。ビデオが再生を終了したとき、アクティブアプリケーションは、提示基準が満たされていると決定することができる。提示基準が時間期間であるとき、アクティブアプリケーションは、デジタルコンテンツ、たとえば、画像が、時間期間を満たす、たとえば時間期間に等しい持続時間の間提示されていたかどうかを決定することができる。デジタルコンテンツが時間期間を満たす持続時間の間提示されていたとアクティブアプリケーションが決定したとき、アクティブアプリケーションは、提示基準が満たされていると決定することができる。
アクティブアプリケーションがアプリケーションストアデータなしにデジタルコンテンツを提示するとき、提示基準は、アクティブアプリケーションがデジタルコンテンツとのユーザ対話、たとえば、デジタルコンテンツに提示されるインストール要素または第2のアプリケーション詳細要素の選択を検出していないことを示す基準を含むことができる。たとえば、アクティブアプリケーションは、アクティブアプリケーションが第2のアプリケーション詳細要素とのユーザ対話を検出していないと決定することができる。それに応答して、アクティブアプリケーションは、オーバーレイ型または埋込み型アプリケーションストアユーザインターフェースを提示し、たとえば、以下のステップ410に進むことができる。
提示基準が満たされていないとアクティブアプリケーションが決定しても、アクティブアプリケーションは、たとえばアプリケーションストアデータを提示することなしに、デジタルコンテンツを提示し続けることができる。これは、提示基準が満たされているとアクティブアプリケーションが決定するまで続けることができる。
提示基準が満たされているとの決定に応答して、アクティブアプリケーションは、(i)ユーザデバイス上にインストールされていない第2のアプリケーションのためのアプリケーションストアデータと、(ii)アクティブアプリケーション内からのユーザデバイス上での第2のアプリケーションのインストールをトリガするインストール要素とを含むアプリケーションストアユーザインターフェースと同時に提示するためのデジタルコンテンツを提供する(410)。アクティブアプリケーションは、アプリケーションストアユーザインターフェースと同時に提示するためのデジタルコンテンツを提供することができる。たとえば、アクティブアプリケーションは、埋込み型アプリケーションストアユーザインターフェースまたはオーバーレイ型アプリケーションストアユーザインターフェースと同時に提示するためのデジタルコンテンツを提供することができる。
いくつかの実装形態では、アクティブアプリケーションがアプリケーションストアデータおよびアプリケーションストアユーザインターフェースを提示することなしにデジタルコンテンツを提示するとき、アクティブアプリケーションは、アプリケーションストアデータまたはアプリケーションストアユーザインターフェースの提示を要求するユーザ対話を検出する必要がない。代わりに、アクティブアプリケーションは自動的に、ユーザ入力なしで、たとえば、オーバーレイ型アプリケーションストアユーザインターフェースにおいてデジタルコンテンツと同時にアプリケーションストアユーザインターフェースを提示する。
アクティブアプリケーションは、アプリケーションストアユーザインターフェースと同時に提示するためのデジタルコンテンツを任意の適切な方式で提供することができる。たとえば、アクティブアプリケーションは、ディスプレイ上にアプリケーションストアユーザインターフェースと同時にデジタルコンテンツを提供することができる。いくつかの例では、アクティブアプリケーションは、ディスプレイまたはグラフィックス処理ユニットに、デジタルコンテンツについてのデータおよびアプリケーションストアユーザインターフェースを提供して、ディスプレイまたはグラフィックス処理ユニットにデジタルコンテンツおよびアプリケーションストアユーザインターフェースを同時に提示させることができる。
アクティブアプリケーションは、アクティブアプリケーションのユーザインターフェース内で提示されたインストール要素とのユーザ対話を検出する(412)。たとえば、アクティブアプリケーションは、インストール要素を選択するユーザ入力を検出する。いくつかの例では、アクティブアプリケーションは、音声コマンド、たとえば「インストール」を検出するか、または、たとえばユーザデバイス上の別のアプリケーションが音声コマンドを検出したときにその音声コマンドを識別するデータを受信することができる。
アクティブアプリケーションは、アプリケーションストアのためのアプリケーションを起動することとは無関係に第2のアプリケーションのダウンロードをトリガする(414)。たとえば、アクティブアプリケーションは、ユーザデバイスに第2のアプリケーションをダウンロードさせるデータをユーザデバイスに提供する。ユーザデバイスは、ユーザデバイス上に第2のアプリケーションをインストールするために、ダウンロードされたデータを使用することができる。いくつかの例では、第2のアプリケーションをインストールした後、たとえば、アクティブアプリケーションが第2のアプリケーションのインストール後にアプリケーションストアユーザインターフェースに提示された開く要素とのユーザ対話を検出したとき、ユーザデバイスは第2のアプリケーションを起動することができる。ユーザデバイスは、アプリケーションストアのためのアプリケーションを起動することなしに、これらのアクションのうちのいずれかを実施することができる。
上記で説明されたプロセス400におけるステップの順序は例示的なものにすぎず、アプリケーションストアデータとともにデジタルコンテンツを提示させることは異なる順序で実施され得る。たとえば、アクティブアプリケーションは、デジタルコンテンツの受信に先立ってまたはそれと同時にアプリケーションストアデータを取得することができる。いくつかの例では、アクティブアプリケーションは、アクティブアプリケーションがデジタルコンテンツを受信する同じメッセージまたはメッセージのグループにおいてアプリケーションストアデータを取得する。たとえば、アクティブアプリケーションは、各々が同じメッセージ識別子を含み、合成され、デジタルコンテンツについてのデータとアプリケーションストアデータの両方を含むメッセージのセットをサーバ、たとえばコンテンツサーバから受信することができる。
いくつかの実装形態では、プロセス400は追加のステップ、より少ないステップを含むことができ、またはステップのうちのいくつかは複数のステップに分割され得る。たとえば、アクティブアプリケーションは、プロセス400におけるその他のステップを実施することなしに、ステップ402~406および410を実施することができる。いくつかの例では、アクティブアプリケーションは、プロセス400におけるその他のステップを実施することなしに、ステップ404および410を実施することができる。いくつかの例では、アクティブアプリケーションは、プロセス400におけるその他のステップを実施することなしに、ステップ402、404、および410を実施することができる。いくつかの例では、アクティブアプリケーションは、プロセス400におけるその他のステップを実施することなしに、ステップ402、404、410、412、および414を実施することができる。
いくつかの実装形態では、アクティブアプリケーションは、デジタルコンテンツを受信するのに先立ってデジタルコンテンツを要求することができる。要求は、アプリケーションストアデータを要求することなしにデジタルコンテンツを求める要求であり得る。
デジタルコンテンツは任意の適切なデジタルコンテンツであり得る。たとえば、デジタルコンテンツはゲームの一部として提示されるビデオであり得る。いくつかの例では、デジタルコンテンツは広告であり得る。たとえば、ゲームが仮想現実ゲームであるとき、デジタルコンテンツは、3次元仮想環境において、たとえば、その仮想環境の一部である掲示板上に提示されることになる広告の一部であり得る。
いくつかの実装形態では、アクティブアプリケーションは、アプリケーションストアデータの代わりに、埋込み型またはオーバーレイ型アプリケーションについての任意の適切なデータを提示することができる。たとえば、アクティブアプリケーションは、第2のアプリケーションまたは製品を参照するデジタルコンテンツを受信することができる。アクティブアプリケーションは、アプリケーションストアデータの代わりに、やはり第2のアプリケーションまたは製品を参照するアプリケーションデータを取得することができる。次いで、アクティブアプリケーションは、そのユーザインターフェースにおいて、デジタルコンテンツおよび別のアプリケーションのユーザインターフェースを提示することができ、別のアプリケーションのユーザインターフェースは、アプリケーションデータを示す。このようにして、アクティブアプリケーションは、たとえば、オーバーレイ型か埋込み型かにかかわらず、別のアプリケーションのためのユーザインターフェースにおいて、第2のアプリケーションまたは製品を参照するデータを同じ第2のアプリケーションまたは製品を参照するデジタルコンテンツとともに提示することができる。
いくつかの実装形態では、アクティブアプリケーションまたはユーザデバイスは、各々が同じ第2のアプリケーションを参照するデジタルコンテンツの複数のセットを受信することができる。アクティブアプリケーションまたはユーザデバイス、たとえば、ユーザデバイス上で実行される2つの異なるアプリケーションがデジタルコンテンツの異なるセットの各々を提示するとき、アクティブアプリケーションは、第2のアプリケーションのための同じアプリケーションストアデータを提示することができる。たとえば、アクティブアプリケーションは、第1のユーザインターフェーススロットにおいて、第2のアプリケーションのためのアプリケーションストアデータを示すアプリケーションストアユーザインターフェースと同時に、第2のアプリケーションを参照する第1のデジタルコンテンツ、たとえば、画像を提示することができる。アクティブアプリケーションは、第2のユーザインターフェーススロットにおいて、第2のデジタルコンテンツ、たとえば、ビデオを後で提示することができる。第2のデジタルコンテンツの提示と同時に、アクティブアプリケーションは、第1のデジタルコンテンツとともに提示された同じアプリケーションストアデータを含むアプリケーションストアユーザインターフェースを提示することができる。アクティブアプリケーションは、アプリケーションストアユーザインターフェースと同じユーザインターフェーススロットにおいて、第2のデジタルコンテンツを提示することができる。
ここで説明されるシステムが個人情報またはデバイス情報を利用する状況の場合、ユーザは、プログラムまたは機能が個人情報(たとえば、ユーザのソーシャルネットワーク、社会的行為もしくは活動、職業、ユーザの選好、またはユーザの現在のロケーションについての情報)を収集するかどうかを制御する機会、または、ユーザにより関連があり得るコンテンツをコンテンツサーバから受信するかどうかおよび/もしくはどのように受信するかを制御する機会を与えられ得る。加えて、いくつかのデータは、個人を識別できる情報が除去されるように、記憶または使用される前に1つまたは複数の方法で匿名化され得る。たとえば、ユーザのアイデンティティまたはデバイスのアイデンティティは、ユーザまたはデバイスについて個人を識別できる情報が決定され得ないように、匿名化され得る。いくつかの例では、アイデンティティが使用される必要はなく、代わりに、システムは、デバイスの識別子を使用または受信することなしに、デバイス上にインストールされたアプリケーションについてのデータを使用することができる。したがって、ユーザは、情報がどのようにユーザについて収集されコンテンツサーバによって使用されるかを制御することができる。
いくつかの実装形態が説明されてきた。それでも、本開示の趣旨および範囲から逸脱することなしに様々な修正が行われ得ることが理解されよう。たとえば、ステップを並べ替えた、ステップを追加した、またはステップを除去した、上記で示したフローの様々な形態が使用され得る。
本明細書で説明される主題および機能的動作の実施形態は、デジタル電子回路において、有形に具現化されたコンピュータソフトウェアもしくはファームウェアにおいて、本明細書で開示される構造およびそれらの構造的均等物を含むコンピュータハードウェアにおいて、またはそれらのうちの1つもしくは複数の組合せにおいて実装され得る。本明細書で説明される主題の実施形態は、データ処理装置による実行のために、またはデータ処理装置の動作を制御するために、1つまたは複数のコンピュータプログラム、すなわち、有形の非一時的プログラムキャリア上で符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装され得る。代替または追加として、プログラム命令は、データ処理装置による実行のために好適な受信機装置に送信するための情報を符号化するために生成された、人工的に生成された伝搬信号、たとえば、機械で生成された電気信号、光信号、または電磁信号上で符号化され得る。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらのうちの1つもしくは複数の組合せであり得る。
「データ処理装置」という用語は、データ処理ハードウェアを指し、例として、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのすべての種類の装置、デバイス、および機械を包含する。装置は、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)でもあり得るか、またはそれらをさらに含むことができる。装置は、ハードウェアに加えて、コンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つもしくは複数の組合せを構成するコードを任意選択で含むことができる。
プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、またはコードと呼ばれるかまたはそれらとして説明されることもあるコンピュータプログラムは、コンパイラ型言語もしくはインタープリタ型言語または宣言型言語もしくは手続き型言語を含む任意の形態のプログラミング言語で書かれ得、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境において使用するのに適した他のユニットとしてを含む任意の形態で展開され得る。コンピュータプログラムは、ファイルシステムにおけるファイルに対応し得るが、そうである必要はない。プログラムは、他のプログラムもしくはデータ、たとえば、マークアップ言語文書に記憶された1つもしくは複数のスクリプトを保持するファイルの一部分に、当該のプログラムに専用の単一のファイルに、または複数の協調ファイル、たとえば、1つもしくは複数のモジュール、サブプログラム、もしくはコードの部分を記憶するファイルに記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、または、1つのサイトに配置されるかもしくは複数のサイトにわたって分散され、通信ネットワークによって相互接続される複数のコンピュータ上で実行されるように展開され得る。
本明細書で説明されるプロセスおよび論理フローは、入力データを操作し出力を生成することによって機能を実施するために1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルコンピュータによって実施され得る。プロセスおよび論理フローは、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によっても実施され得、装置はそれらとしても実装され得る。
コンピュータプログラムの実行に適したコンピュータは、例として、汎用マイクロプロセッサもしくは専用マイクロプロセッサまたはその両方、あるいは任意の他の種類の中央処理ユニットを含む。一般に、中央処理ユニットは、読取り専用メモリもしくはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの必須要素は、命令を実施または実行するための中央処理ユニット、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータは、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば、磁気ディスク、光磁気ディスク、または光ディスクも含むか、あるいは、それらからデータを受信することもしくはそれらにデータを転送することまたはその両方を行うために動作可能に結合される。しかしながら、コンピュータはそのようなデバイスを有する必要はない。さらに、コンピュータは、別のデバイス、たとえば、ほんの数例を挙げると、モバイル電話、スマートフォン、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブル記憶デバイス、たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブに埋め込まれ得る。
コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイスと、磁気ディスク、たとえば、内部ハードディスクまたはリムーバブルディスクと、光磁気ディスクと、CD-ROMディスクおよびDVD-ROMディスクとを含む、すべての形態の不揮発性メモリ、媒体およびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路によって補完され得るか、専用論理回路に組み込まれ得る。
ユーザとの対話を提供するために、本明細書で説明される主題の実施形態は、情報をユーザに表示するためのディスプレイデバイス、たとえば、LCD(液晶ディスプレイ)、OLED(有機発光ダイオード)または他のモニタと、ユーザが入力をコンピュータに提供することができるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールとを有するコンピュータ上で実装され得る。他の種類のデバイスも、ユーザとの対話を提供するために使用され得、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであり得、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む任意の形態で受信され得る。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送り、そのデバイスから文書を受信することによって、たとえば、ユーザのデバイス上のウェブブラウザから受信された要求に応答してそのウェブブラウザにウェブページを送ることによって、ユーザと対話することができる。
本明細書で説明される主題の実施形態は、たとえば、データサーバとしてのバックエンドコンポーネントを含むか、またはミドルウェアコンポーネント、たとえば、アプリケーションサーバを含むか、またはフロントエンドコンポーネント、たとえば、ユーザが本明細書で説明される主題の一実装形態と対話することができるグラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータを含むか、または1つもしくは複数のそのようなバックエンドコンポーネント、ミドルウェアコンポーネント、もしくはフロントエンドコンポーネントの任意の組合せを含む、コンピューティングシステムにおいて実装され得る。システムのコンポーネントは、デジタルデータ通信の任意の形態の媒体、たとえば、通信ネットワークによって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(LAN)およびワイドエリアネットワーク(WAN)、たとえば、インターネットを含む。
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に互いから離れており、典型的には通信ネットワークを通じて対話する。クライアントとサーバの関係は、それぞれのコンピュータ上で動作し、互いとのクライアント-サーバ関係を有するコンピュータプログラムによって生じる。いくつかの実施形態では、サーバは、たとえば、データを表示し、クライアントとして働くユーザデバイスと対話するユーザからユーザ入力を受信する目的で、データ、たとえば、ハイパーテキストマークアップ言語(HTML)ページをユーザデバイスに送信する。ユーザデバイスにおいて生成されたデータ、たとえば、ユーザ対話の結果は、サーバにおいてユーザデバイスから受信され得る。
図5は、クライアントとしてまたは1つのサーバもしくは複数のサーバとしてのいずれかの、本文書で説明されるシステムおよび方法を実装するために使用され得るコンピューティングデバイス500、550のブロック図である。コンピューティングデバイス500は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなどの、様々な形態のデジタルコンピュータを表すことが意図されている。コンピューティングデバイス550は、携帯情報端末、セルラー電話、スマートフォン、スマートウォッチ、頭部装着型デバイス、および他の同様のコンピューティングデバイスなどの、様々な形態のモバイルデバイスを表すことが意図されている。ここで示されるコンポーネント、それらの接続および関係、ならびにそれらの機能は、例示的なものにすぎないことが意図されており、本文書で説明および/または特許請求される実装形態を限定することは意図されていない。
コンピューティングデバイス500は、プロセッサ502と、メモリ504と、記憶デバイス506と、メモリ504および高速拡張ポート510に接続する高速インターフェース508と、低速バス514および記憶デバイス506に接続する低速インターフェース512とを含む。コンポーネント502、504、506、508、510、および512の各々は、様々なバスを使用して相互接続され、共通マザーボード上にまたは適宜に他の方式で搭載され得る。プロセッサ502は、高速インターフェース508に結合されたディスプレイ516などの外部入力/出力デバイス上にGUI用のグラフィカル情報を表示するための、メモリ504にまたは記憶デバイス506上に記憶された命令を含む、コンピューティングデバイス500内での実行のための命令を処理することができる。他の実装形態では、適宜に、複数のメモリおよび複数のタイプのメモリとともに、複数のプロセッサおよび/または複数のバスが使用されてもよい。また、複数のコンピューティングデバイス500が接続されてもよく、各デバイスは、必要な動作の部分を(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)提供する。
メモリ504は、情報をコンピューティングデバイス500内に記憶する。一実装形態では、メモリ504はコンピュータ可読媒体である。一実装形態では、メモリ504は1つまたは複数の揮発性メモリユニットである。別の実装形態では、メモリ504は1つまたは複数の不揮発性メモリユニットである。
記憶デバイス506は、コンピューティングデバイス500用の大容量記憶を提供することが可能である。一実装形態では、記憶デバイス506はコンピュータ可読媒体である。様々な異なる実装形態では、記憶デバイス506は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、あるいは、ストレージエリアネットワークまたは他の構成におけるデバイスを含むデバイスのアレイであり得る。一実装形態では、コンピュータプログラム製品は、情報キャリアにおいて有形に具現化される。コンピュータプログラム製品は、実行されると、上記で説明された方法などの1つまたは複数の方法を実施する命令を含む。情報キャリアは、メモリ504、記憶デバイス506、またはプロセッサ502上のメモリなどの、コンピュータ可読媒体または機械可読媒体である。
高速コントローラ508は、コンピューティングデバイス500のための帯域幅集約的な動作を管理するが、低速コントローラ512は、帯域幅低集約的な動作を管理する。義務のそのような割振りは、例示的なものにすぎない。一実装形態では、高速コントローラ508は、メモリ504、ディスプレイ516に(たとえば、グラフィックスプロセッサまたはアクセラレータを通じて)、および様々な拡張ポート(図示せず)を受け入れることができる高速拡張ポート510に結合される。実装形態では、低速コントローラ512は、記憶デバイス506および低速拡張ポート514に結合される。様々な通信ポート(たとえば、USB、Bluetooth、イーサネット、ワイヤレスイーサネット)を含み得る低速拡張ポートは、たとえば、ネットワークアダプタを通じて、キーボード、ポインティングデバイス、スキャナ、またはスイッチもしくはルータなどのネットワーキングデバイスなどの、1つまたは複数の入力/出力デバイスに結合され得る。
コンピューティングデバイス500は、図に示されるように、いくつかの異なる形態で実装され得る。たとえば、コンピューティングデバイス500は、標準サーバ520として、またはそのようなサーバのグループにおいて複数回、実装され得る。コンピューティングデバイス500はまた、ラックサーバシステム524の一部として実装され得る。加えて、コンピューティングデバイス500は、ラップトップコンピュータ522などのパーソナルコンピュータにおいて実装され得る。代替として、コンピューティングデバイス500からのコンポーネントは、デバイス550などのモバイルデバイス内の他のコンポーネント(図示せず)と組み合わされ得る。そのようなデバイスの各々は、コンピューティングデバイス500、550のうちの1つまたは複数を含んでもよく、システム全体は、互いと通信する複数のコンピューティングデバイス500、550で構成されてもよい。
コンピューティングデバイス550は、数あるコンポーネントの中でも、プロセッサ552と、メモリ564と、ディスプレイ554などの入力/出力デバイスと、通信インターフェース566と、トランシーバ568とを含む。デバイス550はまた、追加のストレージを提供するために、マイクロドライブまたは他のデバイスなどの記憶デバイスを提供され得る。コンポーネント550、552、564、554、566、および568の各々は、様々なバスを使用して相互接続され、コンポーネントのうちのいくつかは、共通マザーボード上にまたは適宜に他の方式で搭載され得る。
プロセッサ552は、メモリ564に記憶された命令を含む、コンピューティングデバイス550内での実行のための命令を処理することができる。プロセッサはまた、別個のアナログプロセッサおよびデジタルプロセッサを含み得る。プロセッサは、たとえば、ユーザインターフェース、デバイス550によって実行されるアプリケーション、およびデバイス550によるワイヤレス通信の制御などの、デバイス550のその他のコンポーネントの協調を行い得る。
プロセッサ552は、ディスプレイ554に結合された制御インターフェース558およびディスプレイインターフェース556を通じてユーザと通信し得る。ディスプレイ554は、たとえば、TFT LCDディスプレイもしくはOLEDディスプレイ、または他の適切なディスプレイ技術であり得る。ディスプレイインターフェース556は、グラフィカル情報および他の情報をユーザに提示するようにディスプレイ554を駆動するための適切な回路を備え得る。制御インターフェース558は、ユーザからコマンドを受信し、プロセッサ552へのサブミッションのためにコマンドを変換し得る。加えて、他のデバイスとのデバイス550の近距離通信を可能にするために、プロセッサ552と通信している外部インターフェース562が提供され得る。外部インターフェース562は、たとえば、ワイヤード通信を(たとえば、ドッキング手順を介して)、またはワイヤレス通信を(たとえば、Bluetoothもしくは他のそのような技術を介して)提供し得る。
メモリ564は、情報をコンピューティングデバイス550内に記憶する。一実装形態では、メモリ564はコンピュータ可読媒体である。一実装形態では、メモリ564は1つまたは複数の揮発性メモリユニットである。別の実装形態では、メモリ564は1つまたは複数の不揮発性メモリユニットである。拡張メモリ574も提供され、たとえば、SIMMカードインターフェースを含み得る拡張インターフェース572を通じてデバイス550に接続され得る。そのような拡張メモリ574は、デバイス550用の追加の記憶空間を提供することができ、またはデバイス550用のアプリケーションもしくは他の情報も記憶することができる。具体的には、拡張メモリ574は、上記で説明されたプロセスを実施または補足するための命令を含んでもよく、セキュア情報も含んでもよい。したがって、たとえば、拡張メモリ574はデバイス550用のセキュリティモジュールとして提供されてもよく、デバイス550のセキュアな使用を許可する命令でプログラムされてもよい。加えて、ハッキングできない方式でSIMMカード上に識別情報を乗せるなど、追加の情報とともに、SIMMカードを介してセキュアアプリケーションが提供され得る。
メモリは、たとえば、以下で説明されるように、フラッシュメモリおよび/またはMRAMメモリを含み得る。一実装形態では、コンピュータプログラム製品は、情報キャリアにおいて有形に具現化される。コンピュータプログラム製品は、実行されると、上記で説明された方法などの1つまたは複数の方法を実施する命令を含む。情報キャリアは、メモリ564、拡張メモリ574、またはプロセッサ552上のメモリなどの、コンピュータ可読媒体または機械可読媒体である。
デバイス550は、必要な場合にデジタル信号処理回路を含み得る通信インターフェース566を通じてワイヤレス通信し得る。通信インターフェース566は、数ある中でも、GSM音声呼、SMS、EMS、もしくはMMSメッセージング、CDMA、TDMA、PDC、WCDMA(登録商標)、CDMA2000、またはGPRSなどの様々なモードまたはプロトコルの下での通信を提供し得る。そのような通信は、たとえば、無線周波数トランシーバ568を通じて行われ得る。加えて、単距離通信は、Bluetooth、WiFi、または他のそのようなトランシーバ(図示せず)などを使用して行われ得る。加えて、GPS受信機モジュール570は、デバイス550上で動作するアプリケーションによって適宜に使用され得る追加のワイヤレスデータをデバイス550に提供し得る。
デバイス550はまた、オーディオコーデック560を使用して可聴的に通信してもよく、オーディオコーデック560は、ユーザからの発話情報を受信し、その情報を使用可能なデジタル情報に変換し得る。オーディオコーデック560は同様に、たとえば、デバイス550のヘッドセット内のスピーカーなどを通じて、ユーザのための可聴音を生成し得る。そのような音は、音声電話呼からの音を含んでもよく、録音された音(たとえば、音声メッセージ、音楽ファイルなど)を含んでもよく、デバイス550上で動作するアプリケーションによって生成された音も含んでもよい。
コンピューティングデバイス550は、図に示されるように、いくつかの異なる形態で実装され得る。たとえば、コンピューティングデバイス550は、セルラー電話580として実装され得る。コンピューティングデバイス550はまた、スマートフォン582、携帯情報端末、または他の同様のモバイルデバイスの一部として実装され得る。
ここで説明されるシステムおよび技法の様々な実装形態は、デジタル電子回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合せにおいて実現され得る。これらの様々な実装形態は、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または解釈可能な1つまたは複数のコンピュータプログラムにおける実装形態を含むことができ、プログラマブルプロセッサは、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信するように、かつそれらにデータおよび命令を送信するように結合された、専用または汎用であってもよい。
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られている)は、プログラマブルプロセッサ用の機械命令を含み、高水準手続き型および/もしくはオブジェクト指向プログラミング言語で、ならびに/またはアセンブリ/機械言語で実装され得る。本明細書で使用される「機械可読媒体」「コンピュータ可読媒体」という用語は、機械可読信号としての機械命令を受信する機械可読媒体を含むプログラマブルプロセッサに機械命令および/またはデータを提供するために使用される、任意のコンピュータプログラム製品、装置および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブル論理デバイス(PLD))を指す。「機械可読信号」という用語は、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意の信号を指す。
本明細書は多くの具体的な実装形態の詳細を含むが、これらは、特許請求され得るものの範囲に対する限定として解釈されるべきではなく、むしろ特定の実施形態に固有であり得る特徴の説明として解釈されるべきである。別個の実施形態の文脈で本明細書で説明されるいくつかの特徴はまた、単一の実施形態において組み合わせて実装され得る。逆に、単一の実施形態の文脈で説明される様々な特徴はまた、複数の実施形態において別々にまたは任意の好適な部分組合せにおいて実装され得る。さらに、特徴はいくつかの組合せにおいて働くものとして上記で説明され、そのようなものとして最初に特許請求されることさえあるが、特許請求される組合せからの1つまたは複数の特徴は、場合によってはその組合せから削除されることがあり、特許請求される組合せは、部分組合せまたは部分組合せの変形形態を対象としてもよい。
同様に、動作は、特定の順序で図面に示されるが、これは、望ましい結果を達成するために、そのような動作が示された特定の順序でもしくは逐次的順序で実施されること、またはすべての例示された動作が実施されることを必要とするものとして理解されるべきではない。いくつかの状況では、マルチタスキングおよび並列処理が有利であり得る。さらに、上記で説明された実施形態における様々なシステムモジュールおよびコンポーネントの分離は、すべての実施形態においてそのような分離を必要とするものとして理解されるべきではなく、説明されたプログラムコンポーネントおよびシステムは一般に、単一のソフトウェア製品に一緒に統合され得るか、または複数のソフトウェア製品にパッケージ化され得ることを理解されたい。
HTMLファイルが言及される各事例では、他のファイルタイプまたはフォーマットが代用され得る。たとえば、HTMLファイルは、XML、JSON、プレーンテキスト、または他のタイプのファイルに置き換えられ得る。さらに、テーブルまたはハッシュテーブルが言及される場合、(スプレッドシート、リレーショナルデータベース、または構造化ファイルなどの)他のデータ構造が使用され得る。
本発明の特定の実施形態が説明されてきた。他の実施形態は、以下の特許請求の範囲の範囲内にある。たとえば、特許請求の範囲に列挙される、本明細書で説明される、または図に示されるステップは、異なる順序で実施され得、依然として望ましい結果を達成することができる。場合によっては、マルチタスキングおよび並列処理が有利であり得る。
100 環境
102 ユーザデバイス
104 アプリケーションストア
106 コンテンツキャッシュ
108 アクティブアプリケーション
110 ユーザインターフェース、アプリケーションユーザインターフェース
112 デジタルコンテンツ
114 アプリケーションストアユーザインターフェース
116 アプリケーションストアデータ
118 インストール要素
120 コンテンツサーバ
122 ネットワーク
200 ユーザインターフェース
202 埋込み型アプリケーションストアユーザインターフェース
204 デジタルコンテンツ
206a コンテンツサイズ要素
206b コンテンツサイズ要素、第2の位置
208a アプリケーションストアデータ
208b アプリケーションストアデータ
210 インストール要素
212 追加のデータ
214 進捗要素
216 キャンセル要素
218 開く要素
300 ユーザインターフェース
302 デジタルコンテンツ
304 アプリケーション詳細要素、第1のインストール要素
306 閉じる要素
308 オーバーレイ型アプリケーションストアユーザインターフェース
310 アプリケーションストアデータ
312 第2のインストール要素、インストール要素
400 プロセス
500 コンピューティングデバイス
502 プロセッサ、コンポーネント
504 メモリ、コンポーネント
506 記憶デバイス、コンポーネント
508 高速インターフェース、高速コントローラ、コンポーネント
510 高速拡張ポート、コンポーネント
512 低速インターフェース、低速コントローラ、コンポーネント
514 低速バス、低速拡張ポート
516 ディスプレイ
520 標準サーバ
522 ラップトップコンピュータ
524 ラックサーバシステム
550 コンピューティングデバイス、デバイス、コンポーネント
552 プロセッサ、コンポーネント
554 ディスプレイ、コンポーネント
556 ディスプレイインターフェース、コンポーネント
558 制御インターフェース、コンポーネント
560 オーディオコーデック
562 外部インターフェース
564 メモリ、コンポーネント
566 通信インターフェース、コンポーネント
568 トランシーバ、コンポーネント
570 GPS受信機モジュール
572 拡張インターフェース
574 拡張メモリ
580 セルラー電話
582 スマートフォン

Claims (15)

  1. ユーザデバイス上で実行されるアプリケーションストアではないアクティブアプリケーションによって、前記アクティブアプリケーションのユーザインターフェースにおいて表示するために、デジタルコンテンツを第1のサーバから受信するステップと、
    前記ユーザデバイス上にインストールされていない第2のアプリケーションを前記デジタルコンテンツが参照すると決定することに応じて、前記第1のサーバと異なる第2のサーバから、前記アプリケーションストアではない前記アクティブアプリケーションによって、前記ユーザデバイス上にインストールされていない前記第2のアプリケーションのためのアプリケーションストアデータを取得するステップと、
    前記第2のアプリケーションのための前記アプリケーションストアデータを取得することに応じて、前記アクティブアプリケーションによって、前記アクティブアプリケーションの前記ユーザインターフェースにおいて、(i)前記ユーザデバイス上にインストールされていない前記第2のアプリケーションのための前記アプリケーションストアデータと、(ii)前記アクティブアプリケーション内からの前記ユーザデバイス上での前記第2のアプリケーションのインストールをトリガするためのインストール要素とを含むアプリケーションストアユーザインターフェースとともに前記デジタルコンテンツを提供するステップと、
    前記アクティブアプリケーションの前記ユーザインターフェース内で提供された前記インストール要素とのユーザ対話を検出するステップと、
    前記インストール要素との前記ユーザ対話の検出に応答して、前記アプリケーションストアのためのアプリケーションを起動することとは無関係に前記第2のアプリケーションのダウンロードをトリガするステップと
    を含むコンピュータ実装方法。
  2. 前記アプリケーションストアデータを取得するステップが、前記アプリケーションストアではない前記アクティブアプリケーションによって、別のシステムから、前記ユーザデバイス上にインストールされていない前記第2のアプリケーションのための前記アプリケーションストアデータを受信するステップを含み、
    前記アプリケーションストアユーザインターフェースとともに前記デジタルコンテンツを提供するステップが、前記別のシステムからの前記アプリケーションストアデータの受信に応答して前記アプリケーションストアユーザインターフェースを提供するステップを含む、
    請求項1に記載の方法。
  3. 前記アプリケーションストアユーザインターフェースとともに前記デジタルコンテンツを提供するステップが、前記アプリケーションストアユーザインターフェースとともに前記デジタルコンテンツを表示するステップを含む、請求項1または2に記載の方法。
  4. 前記アプリケーションストアユーザインターフェースとともに前記デジタルコンテンツを提供するステップが、ディスプレイユニットに、前記デジタルコンテンツについてのデータと、前記ディスプレイユニットに前記デジタルコンテンツおよび前記アプリケーションストアユーザインターフェースを表示させるための前記アプリケーションストアユーザインターフェースとを提供するステップを含む、請求項1から3のいずれか一項に記載の方法。
  5. 前記アプリケーションストアデータを含む前記アプリケーションストアユーザインターフェースとともに前記デジタルコンテンツを提供するステップが、前記アクティブアプリケーションの前記ユーザインターフェースにおいて、前記アプリケーションストアデータを含む埋込み型アプリケーションストアユーザインターフェースとともに前記デジタルコンテンツを提示するステップを含む、請求項1から4のいずれか一項に記載の方法。
  6. 前記アプリケーションストアデータを含む前記アプリケーションストアユーザインターフェースとともに前記デジタルコンテンツを提供するステップが、前記アプリケーションストアデータを含むオーバーレイ型アプリケーションストアユーザインターフェースとともに前記デジタルコンテンツを提示するステップを含む、請求項1から5のいずれか一項に記載の方法。
  7. 前記アクティブアプリケーションによって、前記アプリケーションストアデータなしに前記ユーザインターフェースにおいて前記デジタルコンテンツを表示するステップと、
    前記デジタルコンテンツの提示時間期間が満たされていると決定するステップであって、前記アプリケーションストアユーザインターフェースとともに前記デジタルコンテンツを表示するステップが、前記デジタルコンテンツの前記提示時間期間が満たされていると決定したことに応答する、ステップと
    を含む、請求項1から6のいずれか一項に記載の方法。
  8. 前記デジタルコンテンツが、第2のインストール要素を含み、前記方法が、
    前記アクティブアプリケーションによって、前記アクティブアプリケーションが前記第2のインストール要素とのユーザ対話を検出していないと決定するステップであって、前記アプリケーションストアユーザインターフェースとともに前記デジタルコンテンツを表示するステップが、
    前記アクティブアプリケーションが前記第2のインストール要素とのユーザ対話を検出していないと決定したことと、
    前記デジタルコンテンツの提示時間期間が満たされていると決定したことと
    に応答する、ステップ
    を含む、請求項1から7のいずれか一項に記載の方法。
  9. 前記アプリケーションストアデータを取得するステップが、前記デジタルコンテンツを含むメッセージにおいて前記アプリケーションストアデータを取得するステップを含む、請求項1から8のいずれか一項に記載の方法。
  10. 前記アプリケーションストアユーザインターフェースとともに前記デジタルコンテンツを提供するのに先立って、前記デジタルコンテンツおよび前記アプリケーションストアデータをキャッシュするステップと、
    提示基準が満たされていると決定するステップであって、前記アプリケーションストアユーザインターフェースとともに前記デジタルコンテンツを提供するステップが、前記提示基準が満たされていると決定したことに応答する、ステップと
    を含む、請求項1から9のいずれか一項に記載の方法。
  11. 前記提示基準が満たされていると決定するステップが、前記アクティブアプリケーションによって、前記デジタルコンテンツの提示を要求するユーザ対話を検出するステップを含み、
    前記アプリケーションストアユーザインターフェースとともに前記デジタルコンテンツを提供するステップが、前記デジタルコンテンツの提示を要求する前記ユーザ対話を検出したことに応答する、
    請求項10に記載の方法。
  12. 前記デジタルコンテンツの提示を要求する前記ユーザ対話を検出するステップが、任意のデジタルコンテンツの提示を要求し、任意のアプリケーションストアデータの提示を要求しない前記ユーザ対話を検出するステップを含み、
    前記アプリケーションストアデータを含む前記アプリケーションストアユーザインターフェースとともに前記デジタルコンテンツを提供するステップが、任意のデジタルコンテンツの提示を要求し、任意のアプリケーションストアデータの提示を要求しない前記ユーザ対話を検出したことに応答する、
    請求項11に記載の方法。
  13. 前記アプリケーションストアデータを取得するステップが、別のシステムから、前記第2のアプリケーションが前記ユーザデバイス上にインストールされていないとの決定に基づいて選択された前記アプリケーションストアデータを取得するステップを含む、
    請求項1から12のいずれか一項に記載の方法。
  14. 1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに請求項1から13のいずれか一項に記載の方法を実施させる命令で符号化された非一時的コンピュータ記憶媒体。
  15. 1つまたは複数のコンピュータと、前記1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに請求項1から13のいずれか一項に記載の方法を実施させるように動作可能な命令が記憶される1つまたは複数の記憶デバイスとを備えるシステム。
JP2022529356A 2020-07-17 2020-07-17 アプリケーション内ストアユーザインターフェース Active JP7418573B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/102625 WO2022011668A1 (en) 2020-07-17 2020-07-17 In-application store user interface

Publications (2)

Publication Number Publication Date
JP2023509820A JP2023509820A (ja) 2023-03-10
JP7418573B2 true JP7418573B2 (ja) 2024-01-19

Family

ID=79554453

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022529356A Active JP7418573B2 (ja) 2020-07-17 2020-07-17 アプリケーション内ストアユーザインターフェース

Country Status (6)

Country Link
US (1) US20220398079A1 (ja)
EP (1) EP4046006A4 (ja)
JP (1) JP7418573B2 (ja)
KR (1) KR102644130B1 (ja)
CN (1) CN114730236B (ja)
WO (1) WO2022011668A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013025592A (ja) 2011-07-21 2013-02-04 Canon Inc 情報処理装置およびその制御方法およびプログラム
US20160162939A1 (en) 2014-12-08 2016-06-09 Vungle, Inc. Systems and methods for providing advertising services to devices with a customized adaptive user experience
JP2018116632A (ja) 2017-01-20 2018-07-26 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
WO2018223071A1 (en) 2017-06-02 2018-12-06 Apple Inc. User interfaces for downloading applications on an electronic device

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8484100B2 (en) * 2010-10-19 2013-07-09 Apple Inc. Method, medium, and system for an integrated application store for a user device
US9858174B2 (en) * 2014-09-26 2018-01-02 Oracle International Corporation Updatable native mobile application for testing new features
US11205193B2 (en) * 2014-12-08 2021-12-21 Vungle, Inc. Systems and methods for communicating with devices with a customized adaptive user experience
US10699309B2 (en) * 2014-12-08 2020-06-30 Vungle, Inc. Systems and methods for providing advertising services to devices with a customized adaptive user experience based on adaptive advertisement format building
US11100536B2 (en) * 2014-12-08 2021-08-24 Vungle, Inc. Systems and methods for providing advertising services to devices with a customized adaptive user experience based on adaptive algorithms
US9818134B2 (en) * 2015-04-02 2017-11-14 Vungle, Inc. Systems and methods for dynamic ad selection of multiple ads or ad campaigns on devices
CN106162238A (zh) * 2015-04-02 2016-11-23 万歌有限公司 用于将软件应用程序传送至使用广告的设备的系统和方法
US10318112B2 (en) * 2016-05-27 2019-06-11 Rovi Guides, Inc. Systems and methods for enabling quick multi-application menu access to media options
US10853057B1 (en) * 2017-03-29 2020-12-01 Amazon Technologies, Inc. Software library versioning with caching
DK201870354A1 (en) * 2018-06-03 2019-12-20 Apple Inc. SETUP PROCEDURES FOR AN ELECTRONIC DEVICE

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013025592A (ja) 2011-07-21 2013-02-04 Canon Inc 情報処理装置およびその制御方法およびプログラム
US20160162939A1 (en) 2014-12-08 2016-06-09 Vungle, Inc. Systems and methods for providing advertising services to devices with a customized adaptive user experience
JP2018116632A (ja) 2017-01-20 2018-07-26 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
WO2018223071A1 (en) 2017-06-02 2018-12-06 Apple Inc. User interfaces for downloading applications on an electronic device

Also Published As

Publication number Publication date
EP4046006A4 (en) 2022-11-09
JP2023509820A (ja) 2023-03-10
EP4046006A1 (en) 2022-08-24
WO2022011668A1 (en) 2022-01-20
CN114730236B (zh) 2024-04-09
KR102644130B1 (ko) 2024-03-07
CN114730236A (zh) 2022-07-08
KR20220084132A (ko) 2022-06-21
US20220398079A1 (en) 2022-12-15

Similar Documents

Publication Publication Date Title
US11778430B2 (en) Layers in messaging applications
US11137876B2 (en) Information display method, device and terminal for displaying progress on application icon
US10180767B2 (en) Portable device and method facilitating execution of multiple applications simultaneously
CN113885762B (zh) 在非浏览器应用中集成内容
JP5171968B2 (ja) ウェブベースコンテンツのレンダリングの加速
US20220059091A1 (en) Voice assistant-enabled web application or web page
US10558698B2 (en) Lyric page generation method and lyric page generation apparatus
CN107430514B (zh) 使用多服务器的低延迟应用
US20130318449A2 (en) Presenting context information in a computing device
KR20170099903A (ko) 장치들에 걸쳐 디지털 개인 비서 에이전트를 스케일링하기 위한 기법
JP6440828B2 (ja) デジタルコンテンツの可視性の検出
KR20160141838A (ko) 확장가능한 애플리케이션 표시
US20150058770A1 (en) Method and appratus for providing always-on-top user interface for mobile application
KR20160140932A (ko) 확장 가능한 애플리케이션 표시 및 콘텐트 전송
US20180196584A1 (en) Execution of multiple applications on a device
JP6033752B2 (ja) ファイル位置のショートカットおよびウィンドウの配置構成
US20020154124A1 (en) System and method of enhanced computer user interaction
CN118414612A (zh) 用于浏览器内的相关搜索的方法和设备
JP7418573B2 (ja) アプリケーション内ストアユーザインターフェース
KR101755403B1 (ko) 애플리케이션을 생성 및 제공하기 위한 방법, 서버 및 컴퓨터 프로그램
KR20220040646A (ko) 특수 효과를 갖는 웹툰 및 웹툰 제공 시스템
KR20140089888A (ko) 화면 제어 방법, 이를 위한 시스템 및 장치

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220707

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220707

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230731

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231031

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: 20231211

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240109

R150 Certificate of patent or registration of utility model

Ref document number: 7418573

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150