(57)【特許請求の範囲】
【請求項１】
少なくとも1つのデータ処理装置によって実施される方法であって、
特定の資源に対する複数のネイティブアプリケーションを指定するデータを取得するステップであって、
前記特定の資源は、前記複数のネイティブアプリケーションの各ネイティブアプリケーションによりアドレスされ、かつアクセス可能であるコンテンツを含み、前記コンテンツは、前記複数のネイティブアプリケーションの各ネイティブアプリケーションにより提示可能であり、
前記特定の資源に対する前記複数のネイティブアプリケーションの各ネイティブアプリケーションは、前記特定の資源のための表示環境のインスタンスを作成し、前記表示環境が前記ネイティブアプリケーションに固有であり、前記各ネイティブアプリケーションは、前記複数のネイティブアプリケーションの他の各ネイティブアプリケーションとは異なる、取得するステップと、
前記特定の資源に対する前記複数のネイティブアプリケーションを指定するデータに応答して、前記ネイティブアプリケーションのそれぞれに対して、前記ネイティブアプリケーションに対するそれぞれの対応するディープリンクを生成するステップであって、前記それぞれのディープリンクの選択により、前記ネイティブアプリケーションが、前記特定の資源のコンテンツが提示される表示環境を表示する、生成するステップと、
前記特定の資源の前記コンテンツを提示するための前記ネイティブアプリケーションの優先順位を定めるために、前記それぞれのディープリンクが対応する各ネイティブアプリケーションに対するそれぞれのランクスコアに基づいて前記それぞれのディープリンクをランク付けするステップであって、前記ネイティブアプリケーションは、ユーザデバイスにおける前記特定の資源の選択に応答して前記ユーザデバイスにおいて前記特定の資源の前記コンテンツを提示するために、前記優先順位に基づきユーザデバイスにより選択される、ステップと、
前記それぞれのディープリンクおよびそれらの対応するランキングを前記特定の資源に関連付けるメタデータを生成するステップとを含む、方法。
【請求項２】
前記特定の資源がユーザクエリーに応答するものとして検索結果において識別される前記クエリーに応答して前記特定の資源に関連付けられた前記メタデータを提供するステップをさらに含む、請求項1に記載の方法。
【請求項３】
ユーザデバイスにおいて、特定の資源を参照するリンクと相互作用する第1のユーザ入力を受け取るステップであって、
前記特定の資源は、複数のネイティブアプリケーションの各ネイティブアプリケーションによりアドレスされ、かつアクセス可能であるコンテンツを含み、前記コンテンツは、前記複数のネイティブアプリケーションの各ネイティブアプリケーションにより提示可能であり、
前記特定の資源に対する前記複数のネイティブアプリケーションの各ネイティブアプリケーションは、前記特定の資源のための表示環境のインスタンスを作成し、前記表示環境が前記ネイティブアプリケーションに固有であり、前記各ネイティブアプリケーションは、前記複数のネイティブアプリケーションの他の各ネイティブアプリケーションとは異なる、受け取るステップと、
前記第1のユーザ入力に応答して、前記リンクに関連付けられたメタデータを取得するステップであって、
前記メタデータが、ディープリンクのランク付けされたリストを含み、
各ディープリンクが、前記複数のネイティブアプリケーションのうちの１つのネイティブアプリケーションを指定し、前記ネイティブアプリケーションに、前記資源の前記コンテンツが提示される表示環境を表示させ、
ディープリンクの前記ランク付けされたリストが、前記特定の資源の前記コンテンツを提示するための前記ネイティブアプリケーションの優先順位を定めるために、前記ランク付けされたリスト内の各ネイティブアプリケーションに対するそれぞれのランキングを指定し、
前記ネイティブアプリケーションは、前記ユーザデバイスにおける前記特定の資源の選択に応答して前記ユーザデバイスにおいて前記特定の資源の前記コンテンツを提示するために、前記優先順位に基づきユーザデバイスにより選択される、取得するステップと、
ディープリンクの前記ランク付けされたリストから、前記ディープリンクによって指定された2以上のネイティブアプリケーションが前記ユーザデバイス上にインストールされていると判定するステップと、
前記ユーザデバイス上にインストールされていると判定された前記2以上のネイティブアプリケーションから、前記優先順位の最も高いネイティブアプリケーションに、表示環境のインスタンスを作成させ、前記表示環境を表示させ、前記表示環境内で前記資源の前記コンテンツを提示させるステップとを含む、方法。
【請求項４】
前記第1のユーザ入力を受け取る前に、サーバにおいて、前記資源を参照する前記リンクを指定するユーザ入力を受け取るステップと、
前記サーバにおいて、前記資源の前記メタデータを識別するために前記リンクをクロールするステップと、
前記サーバにおいて、前記資源の前記メタデータをキャッシュするステップとをさらに含む、請求項3に記載の方法。
【請求項５】
ネイティブアプリケーションが前記ユーザデバイス上にインストールされていると判定するステップが、特定のネイティブアプリケーションに対する識別子を所与として前記特定のネイティブアプリケーションがインストールされているかどうかを判定するオペレーティングシステム機能を実行するステップを含む、請求項3または4に記載の方法。
【請求項６】
前記リンクに関連付けられた前記メタデータが、前記資源が表示される第1の資源のヘッダデータから取得される、請求項3から5のいずれか一項に記載の方法。
【請求項７】
少なくとも1つのコンピューティング装置によって実行されたとき、前記コンピューティング装置に、請求項1から6のいずれか一項に記載の方法を実施させる命令を含む、コンピュータプログラム。
【請求項８】
プロセッサと、
前記プロセッサに結合され、前記プロセッサによって実行されたときに、前記プロセッサに動作を実施させる命令を記憶するコンピュータ可読媒体と
を備え、前記動作が、
特定の資源に対する複数のネイティブアプリケーションを指定するデータを取得するステップであって、
前記特定の資源は、複数のネイティブアプリケーションの各ネイティブアプリケーションによりアドレスされ、かつアクセス可能であるコンテンツを含み、前記コンテンツは、前記複数のネイティブアプリケーションの各ネイティブアプリケーションにより提示可能であり、
前記特定の資源に対する前記複数のネイティブアプリケーションの各ネイティブアプリケーションは、前記特定の資源のための表示環境のインスタンスを作成し、前記表示環境が前記ネイティブアプリケーションに固有であり、前記各ネイティブアプリケーションは、前記複数のネイティブアプリケーションの他の各ネイティブアプリケーションとは異なる、取得するステップと、
前記特定の資源に対する前記複数のネイティブアプリケーションを指定するデータに応答して、前記ネイティブアプリケーションのそれぞれに対して、前記ネイティブアプリケーションに対するそれぞれの対応するディープリンクを生成するステップであって、前記それぞれのディープリンクの選択により、前記ネイティブアプリケーションが、前記特定の資源のコンテンツが提示される表示環境を表示する、生成するステップと、
前記特定の資源の前記コンテンツを提示するための前記ネイティブアプリケーションの優先順位を定めるために、前記それぞれのディープリンクが対応する各ネイティブアプリケーションに対するそれぞれのランクスコアに基づいて前記それぞれのディープリンクをランク付けするステップであって、前記ネイティブアプリケーションは、ユーザデバイスにおける前記特定の資源の選択に応答して前記ユーザデバイスにおいて前記特定の資源の前記コンテンツを提示するために、前記優先順位に基づきユーザデバイスにより選択される、ステップと、
前記それぞれのディープリンクおよびそれらの対応するランキングを前記特定の資源に関連付けるメタデータを生成するステップとを含む、システム。
【請求項９】
プロセッサと、
前記プロセッサに結合され、前記プロセッサによって実行されたときに、前記プロセッサに動作を実施させる命令を記憶するコンピュータ可読媒体と
を備え、前記動作が、
ユーザデバイスにおいて、特定の資源を参照するリンクと相互作用する第1のユーザ入力を受け取るステップであって、
前記特定の資源は、複数のネイティブアプリケーションの各ネイティブアプリケーションによりアドレスされ、かつアクセス可能であるコンテンツを含み、前記コンテンツは、前記複数のネイティブアプリケーションの各ネイティブアプリケーションにより提示可能であり、
前記特定の資源に対する前記複数のネイティブアプリケーションの各ネイティブアプリケーションは、前記特定の資源のための表示環境のインスタンスを作成し、前記表示環境が前記ネイティブアプリケーションに固有であり、前記各ネイティブアプリケーションは、前記複数のネイティブアプリケーションの他の各ネイティブアプリケーションとは異なる、受け取るステップと、
前記第1のユーザ入力に応答して、前記リンクに関連付けられたメタデータを取得するステップであって、前記メタデータが、ディープリンクのランク付けされたリストを含み、各ディープリンクが、前記複数のネイティブアプリケーションのうちの１つのネイティブアプリケーションを指定し、前記ネイティブアプリケーションに、前記資源の前記コンテンツが提示される表示環境を表示させ、ディープリンクの前記ランク付けされたリストが、前記特定の資源の前記コンテンツを提示するための前記ネイティブアプリケーションの優先順位を定めるために、前記ランク付けされたリスト内の各ネイティブアプリケーションに対するそれぞれのランキングを指定し、前記ネイティブアプリケーションは、前記ユーザデバイスにおける前記特定の資源の選択に応答して前記ユーザデバイスにおいて前記特定の資源の前記コンテンツを提示するために、前記優先順位に基づきユーザデバイスにより選択される、取得するステップと、
ディープリンクの前記ランク付けされたリストから、前記ディープリンクによって指定された2以上のネイティブアプリケーションが前記ユーザデバイス上にインストールされていると判定するステップと、
前記ユーザデバイス上にインストールされていると判定された前記2以上のネイティブアプリケーションから、前記優先順位の最も高いネイティブアプリケーションに、表示環境のインスタンスを作成させ、前記表示環境を表示させ、前記表示環境内で前記資源の前記コンテンツを提示させるステップとを含む、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のネイティブアプリケーションへのディープリンクの設定に関する。
【背景技術】
【０００２】
インターネットは種々様々な情報へのアクセスを提供する。例えば、特定の主題または特定のニュース記事に対するデジタル画像ファイル、動画および/または音声ファイル、ならびにウェブページ資源(Web Page Resource)が、インターネットを介してアクセス可能である。ウェブページ資源に関して、これらの資源の多くは、銀行取引、ホテルの部屋の予約、買い物などの特定の機能の実施を容易にするように、またはオンライン百科事典、映画データベースなどの構造化情報を提供するように設計される。検索エンジンは、資源の検索を容易にするためにこれらの資源をクロールし、インデックスする。
【０００３】
さらに、タブレット型コンピュータおよびスマートフォンの出現とともに、ウェブページ資源の使用によって容易にされた同じ機能の実施を容易にするネイティブアプリケーションが、今や大量に提供されている。さらに、ゲームなどの同様のコンテンツをもつ対応するウェブサイトを有しないネイティブアプリケーションが、やはり、タブレット型コンピュータおよびスマートフォン上で非常に人気がある。したがって、検索エンジンが、今やこれらのネイティブアプリケーションの検索も容易にしている。
【０００４】
検索エンジンがネイティブアプリケーションに対する情報を収集する1つのプロセスは、ネイティブアプリケーションに対する「ディープリンク」にアクセスすることによるものである。ディープリンクは、ネイティブアプリケーションの特定の環境インスタンスを指定する命令であり、ユーザデバイスにおいて選択されたとき、ネイティブアプリケーションに、指定されたネイティブアプリケーションの環境インスタンスを作成させるように構成される。ネイティブアプリケーションは、ユーザデバイス上のネイティブアプリケーション内の表示のために環境インスタンスを生成する。例えば、ディープリンクは、特定のネイティブアプリケーション、ネイティブアプリケーションがアクセスする資源コンテンツ、およびネイティブアプリケーションがディープリンクの使用によって起動されたとき、インスタンスを作成すべきである特定のユーザインターフェースを指定するURLでよい。例えば、ディープリンクは、ゲーム環境に対する選択メニュー、または音楽アプリケーションに対する歌の特定の選択、または調理アプリケーションに対する特定のレシピなどを指定することができる。
【０００５】
コンテンツのパブリッシャーは、今やそれらのコンテンツを使用する手段としてネイティブアプリケーションを提供する。パブリッシャーによっては、同じコンテンツを提示するために複数の異なるネイティブアプリケーションを提供するものもあり、コンテンツによっては、複数の異なるパブリッシャーによって発行されたネイティブアプリケーションによって提示することができるものもある。
【発明の概要】
【課題を解決するための手段】
【０００６】
概して、本明細書は、複数のネイティブアプリケーションへのディープリンクを設定するためのシステムを説明する。
【０００７】
概して、本明細書に説明する主題の一革新的態様は、特定の資源に対する複数のネイティブアプリケーションを指定するデータを取得するステップと、ネイティブアプリケーションのそれぞれに対して、ネイティブアプリケーションに対するそれぞれの対応するディープリンクを生成するステップであって、それぞれのディープリンクの選択により、ネイティブアプリケーションが特定の資源を含む表示環境を表示する、生成するステップと、それぞれのディープリンクが対応する各ネイティブアプリケーションに対するそれぞれのランクスコアに基づいてそれぞれのディープリンクをランク付けするステップと、それぞれのディープリンクおよびそれらの対応するランキングを特定の資源に関連付けるメタデータを生成するステップとの動作を含む方法において具現化することができる。
【０００８】
別の革新的態様は、ユーザデバイスにおいて、資源を参照するリンクと相互作用する第1のユーザ入力を受け取るステップと、第1のユーザ入力に応答して、リンクに関連付けられたメタデータを取得するステップであって、メタデータが、ディープリンクのランク付けされたリストを含み、各ディープリンクが、ネイティブアプリケーションを指定し、対応するネイティブアプリケーションに、資源を含む表示環境を表示させ、ディープリンクのランク付けされたリストが、ランク付けされたリスト内の各ネイティブアプリケーションに対するそれぞれのランキングを指定する、取得するステップと、ディープリンクのランク付けされたリストから、ディープリンクによって指定された1つまたは複数のネイティブアプリケーションがユーザデバイス上にインストールされると判定するステップと、1つまたは複数のネイティブアプリケーションから、ユーザデバイス上にインストールされると判定され、かつ1つまたは複数のネイティブアプリケーションの中で最高のランクを有するネイティブアプリケーションに、資源を含む表示環境を表示させるステップとを含む。
【０００９】
本明細書に説明する主題の特定の実施形態は、以下の利点のうちの1つまたは複数を実現するように実装することができる。ネイティブアプリケーションによっては、ネイティブアプリケーションに提示される資源の種類に基づいて、他のものよりも良好なユーザ体験をもたらすものもある。これは、しばしば、コンテンツを特定のネイティブアプリケーションに合わせるコンテンツのパブリッシャーによる。例えば、動画配信ウェブサイトが、動画を使用するための複数のネイティブアプリケーションを提供することもできる。各ネイティブアプリケーションは、例えば、子供向けに1つのネイティブアプリケーション、スポーツファン向けに別のネイティブアプリケーション、および一般使用向けにさらに別のネイティブアプリケーションなど、特定の視聴者に合わせることができる。同じ動画コンテンツをネイティブアプリケーションのそれぞれにおいて表示することができるが、パブリッシャーは、例えば、子供向けコンテンツは子供向けネイティブアプリケーションにおいて表示し、スポーツ向けコンテンツは、スポーツ向けネイティブアプリケーションにおいて表示することなどを選ぶことができる。特定の資源では、システムは、複数のディープリンクを提供し、それぞれがそれぞれのネイティブアプリケーションにリンクし、したがって、ユーザがデバイス上で特定の資源を参照するリンクと相互作用するとき、特定の資源は、デバイス上にインストールされ、かつ特定の資源を提示するための最高にランク付けされたユーザ体験を提供するネイティブアプリケーションにおいて提示される。したがって、システムは、資源を提示する特定のアプリケーションをユーザが手動で判定し、ロードすることを必要とすることなく、ネイティブアプリケーション内の資源を閲覧し、または相互作用するように自動的にユーザに再指示する。これにより、ユーザ体験が簡略化される。例えば、特定の資源を提示するのに必要なユーザ入力の数を低減することができる。
【００１０】
本明細書の主題の1つまたは複数の実施形態の詳細を添付の図面および以下の説明に記載する。主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかとなるであろう。
【図面の簡単な説明】
【００１１】
【図１】特定の資源に対する複数のネイティブアプリケーションへの複数のディープリンクを生成するためのシステムの例を示す図である。
【図２】特定の資源に対する複数のディープリンクを生成するための方法の例の流れ図である。
【図３】ネイティブアプリケーションにおいて資源を表示するために複数のディープリンクを処理するための方法の例の流れ図である。
【発明を実施するための形態】
【００１２】
様々な図面における同じ参照番号および名称は同様の要素を示す。
【００１３】
図1は、特定の資源(Resource)に対する複数のディープリンク(Deeplink)を生成するためのシステム100の例を示す。各ディープリンクは、ネイティブアプリケーションにリンクする。本明細書では、例えばネイティブアプリケーション110であるネイティブアプリケーションは、例えばユーザデバイス104であるユーザデバイス上の表示のためのアプリケーションページを、ユーザデバイス上でネイティブアプリケーションの環境内に生成し、ブラウザアプリケーションと独立して動作する。ネイティブアプリケーションは、特定のユーザデバイスのオペレーティングシステムおよびマシンファームウェア上で起動するように特別に設計されたアプリケーションであり、ウェブブラウザアプリケーションが必ずしも特定のハイパーテキストマークアップ言語標準に適合した複数の異なる資源を処理するように設計されていないという点で、ウェブブラウザアプリケーションとは異なる。
【００１４】
資源は、複数のディープリンクに関連付けることができる。すなわち、ディープリンクのそれぞれにより、資源は、それぞれのネイティブアプリケーション表示環境において表示することができる。各ネイティブアプリケーション表示環境(Display Environment)は、資源を閲覧し、または資源と相互作用するための固有のユーザ体験を提供することができる。複数のディープリンクは、コンテンツのパブリッシャーによって提供され、および指定され得、または代替として、ネイティブアプリケーションをインデックスする検索エンジンによって判定され得る。
【００１５】
資源は、デバイスによってアドレス可能およびアクセス可能であるコンテンツである。資源は、ウェブページ、または動画ファイルもしくはストリーム、音声ファイルもしくはストリーム、文書、データベース、または統一資源位置指定子(URL: Uniform Resource Locator)によってアクセス可能な他のエンティティでよい。資源はインデックス106においてインデックスすることができる。インデックス106は、例えば、ウェブサイトおよびネイティブアプリケーションをクロールすることから構築された資源のインデックスである。したがって、インデックスは、ウェブページおよびネイティブアプリケーションをインデックスし、ウェブページおよびディープリンクに対するURLをネイティブアプリケーションのコンテンツに対するURLの形で含むことができる。
【００１６】
資源は、メタデータに関連付けることもできる。メタデータは、資源が分類されるジャンルの種類を含むことができる。資源は、ジャンル分類システムによって分類することができる。ジャンルの例には、子供、映画、またはゲームが含まれる。典型的には、ジャンルまたはある資源に対するジャンルは、資源のパブリッシャーによって指定される。しかし、ジャンルは、サードパーティによって決定することもできる。いくつかの実装形態において、資源に対するメタデータは、資源にアクセスし、または資源を表示することができるネイティブアプリケーションを指定する。ネイティブアプリケーションの例には、「YouTube Kids」(「YouTube」は登録商標である)、「YouTube Games」、または「YouTube Music」が含まれる。メタデータは、メタデータデータベース108に記憶することができる。この場合も、メタデータは、パブリッシャーによって指定し、またはサードパーティによって判定することができる。
【００１７】
システム100は、資源に対する複数のディープリンクを生成するディープリンク生成器102を含む。いくつかの実装形態において、生成されたディープリンクは、資源に関連付けられたメタデータ、すなわち、メタデータデータベース108に記憶される。ディープリンク生成器102は、メタデータをメタデータデータベース108から受け取り、資源に対するメタデータを処理して、複数のディープリンクを生成する。ディープリンク生成器102を、図2を参照してさらに以下に説明する。
【００１８】
インデックス106は、検索エンジン111によって検索可能である。検索エンジンは、ユーザデバイス上でブラウザアプリケーションにおいてレンダリングすることができるウェブ資源を参照するウェブ資源検索結果と、ネイティブアプリケーションを指定するネイティブアプリケーション検索結果とを組み合わせることができる。ネイティブアプリケーション検索結果は、部分的に、インデックス106の検索に応答して生成される。
【００１９】
ユーザデバイス104は、検索クエリーを検索エンジン111に提出する。クエリーに応答して、検索エンジン111は、クエリーに関連した資源のコンテンツおよびアプリケーションを識別するためにインデックス106にアクセスする。検索エンジン111は、例えば、資源およびアプリケーションを、それぞれ、ウェブ資源検索結果およびネイティブアプリケーション検索結果の形で識別することができる。生成されると、検索結果は、クエリーをそこから受け取ったユーザデバイス104に提供される。
【００２０】
ウェブ資源検索結果は、ウェブ資源を識別し、特定の検索クエリーを満足させる情報を提供する、検索エンジン111によって生成されるデータである。資源に対するウェブ資源検索結果は、ウェブページタイトル、資源から抽出されたテキストの抜粋、および資源に対する資源位置指定子、例えば、ウェブページのURLを含むことができる。ネイティブアプリケーション検索結果は、ネイティブアプリケーションを指定する。様々な機能をアプリケーション検索結果の選択によって呼び出すことができる。例えば、ネイティブアプリケーション検索結果の選択により、ネイティブアプリケーションが起動し(ユーザデバイス104上にインストールされた場合)、アプリケーション検索結果において参照され、かつ検索クエリーに関連したコンテンツを含むアプリケーションページのインスタンスを生成することができる。そのような機能は、アプリケーション検索結果内の「ディープリンクの設定」と呼ばれる。
【００２１】
ネイティブアプリケーション検索結果を供給するとき、検索エンジン111は、コンテンツに対する生成されたディープリンクを含むメタデータを含むことができる。ディープリンクは、コンテンツを提示するのに使用することができるネイティブアプリケーションの優先順位を記述する。例えば、特定のコンテンツを提示するのにA1、A2およびA3の3つの特定のネイティブアプリケーションを使用できる場合、メタデータは、アプリケーションA2がアプリケーションA3よりも優先され、次いで、アプリケーションA3がアプリケーションA1よりも優先されることを記述することができる。したがって、3つのすべてのアプリケーションを有するユーザデバイスは、ディープリンクがユーザデバイスにおいて選択された場合、アプリケーションA2を起動する。反対に、アプリケーションA1およびA3だけをインストールさせたユーザデバイスは、ディープリンクがユーザデバイスにおいて選択された場合、アプリケーションA3を起動する。
【００２２】
さらに、ウェブサーバ112は、資源を供給することができ、メタデータを資源とともに受け取り、提供するために検索エンジン111と通信することができる。資源を供給するとき、ウェブサーバ112は、生成されたディープリンクを含むメタデータを、検索エンジン111を介してメタデータデータベース108から取得し、メタデータとともに資源をユーザデバイス104に供給することができる。
【００２３】
例えば、動画資源を含むウェブページをユーザデバイス104が要求した場合、ウェブサーバ112は、動画資源を供給し、生成されたディープリンクを含む、動画資源に関連付けられたメタデータを取得することができる。ウェブサーバ112は、ウェブページを供給し、ウェブページのヘッダにメタデータを添付することができる。例えば、ウェブページがハイパーテキストマークアップ言語(HTML)形式を有する場合、ウェブサーバ112は、ウェブページの<HEAD>タグ内にメタデータを含むことができる。
【００２４】
さらに他の実装形態において、ウェブサーバ112は、パブリッシャーがネイティブアプリケーションに対してすでに指定されたディープリンクの選好(Preference)を有する場合、インデックス106にアクセスする必要がない。したがって、例えば、ユーザデバイスがウェブページを受け取り、動画資源へのリンクを選択したとき、動画を提示するために起動されるネイティブアプリケーションは、ウェブページとともに提供されるメタデータおよびユーザデバイス上にインストールされるネイティブアプリケーションにより、選択される。
【００２５】
図2は、特定の資源に対する複数のディープリンクを生成するための方法200の例の流れ図である。便宜上、方法200は、システムに対して、例えば、方法200を実装するためにソフトウェアを実行する、1つまたは複数のコンピューティングデバイスを有する図1のディープリンク生成器102に対して、説明する。
【００２６】
システムは、特定の資源に対して複数のネイティブアプリケーションを指定するデータを取得する(ステップ202)。データは、例えば、図1のメタデータデータベース108、または資源のパブリッシャーによって提供されるメタデータデータベースから取得することができる。指定されたネイティブアプリケーションは、それぞれがネイティブアプリケーションに固有であり、かつ互いのネイティブアプリケーションとは異なる提示環境(Presentation Environment)のインスタンスを作成するネイティブアプリケーションであり得る。
【００２７】
システムは、ネイティブアプリケーションのそれぞれに対して、ネイティブアプリケーションに対するそれぞれのディープリンクを生成する(ステップ204)。ネイティブアプリケーションは、スキーム名に関連付けることができる。スキーム名は、ネイティブアプリケーションの構成ファイルに提供することができる。それぞれのディープリンクは、ネイティブアプリケーションに対するスキーム名をURLの形で含むことができる。URLは、ネイティブアプリケーションに取り込むカスタム動作を表す、経路指定パラメータ、例えば、経路およびクエリーの文字列を含むことができる。ディープリンクがユーザデバイスにおいて選択されたとき、ユーザデバイスのオペレーティングシステムは、ネイティブアプリケーションに対する表示環境のインスタンスを作成するためにURLを処理することができる。経路指定パラメータは、資源の識別子を含むことができ、したがって、ネイティブアプリケーションに対する表示環境が、起動次第、資源を表示する。
【００２８】
システムは、それぞれのディープリンクを、それぞれのディープリンクが対応する各ネイティブアプリケーションに対するそれぞれのランクスコアに基づいてランク付けする(ステップ206)。各ネイティブアプリケーションは、それぞれのランクスコアを有することができる。いくつかの実装形態において、ランクスコアは、あらかじめ定める、例えば、ランクスコアデータベースに記憶することができる。他の実装形態において、ランクスコアは、資源のパブリッシャーの選好リストを反映することができる。例えば、A1、A2およびA3の3つの特定のネイティブアプリケーションに対して、アプリケーションA2がアプリケーションA3よりも優先され、次いで、アプリケーションA3が、アプリケーションA1よりも優先される場合、アプリケーションA1、A2およびA3に対するランクスコアは、3、1、および2であり得る。システムは、ネイティブアプリケーションのそれぞれのランクスコアをそれぞれのディープリンクに割り当てることができる。いくつかの実装形態において、システムは、降順のランクスコアで順序付けされたディープリンクのリストを生成する。
【００２９】
システムは、それぞれのディープリンクおよびそれらの対応するランキングを特定の資源に関連付けるメタデータを生成する(ステップ208)。すなわち、ディープリンクのランク付けされたリストを生成した後、システムは、ディープリンクのランク付けされたリストをメタデータに記憶することができる。次いで、メタデータをメタデータデータベースに記憶することができる。
【００３０】
上に説明したように、メタデータが生成されると、メタデータは、資源に関連付けられ、資源を参照し、または資源へのリンクを含むウェブページが提供される検索結果が提供され得る。
【００３１】
他の実装形態において、メタデータは、ユーザが資源へのリンクと相互作用するとき提供され得る。
【００３２】
図3は、資源を表示するためにユーザデバイスにおいて複数のディープリンクを処理するための方法300の例の流れ図である。便宜上、方法300は、システムに対して、例えば、方法300を実装するためにソフトウェアを実行する1つまたは複数のコンピューティングデバイスを有する図1のユーザデバイス104に対して説明する。
【００３３】
システムは、資源を参照するリンクと相互作用する第1のユーザ入力を受け取る(ステップ302)。第1のユーザ入力は、ユーザがユーザデバイスのディスプレイにおいてリンク上をタップすることであり得る。リンクは、ネイティブアプリケーション、例えば、サードパーティアプリケーションまたはブラウザアプリケーション上に表示することができる。アプリケーションは、サードパーティサーバと通信することによってリンクを受け取ることができる。サードパーティサーバは、コンテンツを用いて応答することができ、コンテンツはアプリケーション上に表示すべき資源を参照するリンクを含む。例えば、アプリケーションは、ネイティブソーシャルネットワーキングアプリケーションであり得、コンテンツは、ニュースフィードの項目を含むことができる。ニュースフィードにおける項目のうちの1つは、資源を参照するリンクであり得る。
【００３４】
第1のユーザ入力に応答して、システムは、リンクに関連付けられたメタデータを取得する(ステップ304)。メタデータは、資源に対するディープリンクのランク付けされたリスト、例えば、図2を参照して上に説明したディープリンクのリストを含む。メタデータは、ネイティブアプリケーションによって記憶されたキャッシュから取得することができ、または資源をホストするウェブサーバへのネットワーク呼出しにより取得することができる。
【００３５】
いくつかの実装形態において、メタデータは、サードパーティサーバによってキャッシュされる。例えば、第1のユーザ入力を受け取る前に、別のユーザデバイスが、資源を参照するリンクをサードパーティサーバに提出することができる。サードパーティサーバは、資源を参照するリンクを今後の他のユーザデバイス上でのアクセスまたは表示のために記憶することができる。サードパーティサーバは、資源のメタデータを識別するためにリンクをクロールすることもできる。例えば、サードパーティサーバは、資源を含むウェブページの<HEAD>タグからメタデータを識別することができる。メタデータは、ディープリンクのランク付けされたリストを含むことができる。サードパーティサーバは、資源のメタデータをキャッシュすることができる。
【００３６】
メタデータがキャッシュされた後、サードパーティサーバは、ネイティブアプリケーションにおいて資源を参照するリンクを表示するために、システム、すなわち、ユーザデバイスから要求を受け取ることができる。サードパーティサーバは、リンクと、キャッシュされた資源のメタデータとを含む応答を用いてシステムに応答することができ、メタデータは、ディープリンクのランク付けされたリストを含む。
【００３７】
システム、すなわち、ユーザデバイスは、メタデータ内のディープリンクのランク付けされたリストから、ディープリンクによって指定された1つまたは複数のネイティブアプリケーションがシステム上にインストールされると判定する(ステップ306)。システムは、ネイティブアプリケーションの識別子を引数として用いて、ディープリンクによって指定されたネイティブアプリケーションが、特定のオペレーティングシステム機能を実行することによってインストールされるかどうかを判定することができる。オペレーティングシステム機能は、ネイティブアプリケーションがインストールされるかどうかを指定するブーリアンを返すことができる。
【００３８】
システムにより、ユーザデバイス上にインストールされると判定され、かつユーザデバイス上にインストールされると判定されたネイティブアプリケーションの中で最高のランクを有するネイティブアプリケーションが、資源を含む表示環境を表示する(ステップ308)。図2を参照して上に説明したように、最高のランクを有するネイティブアプリケーションは、最高のランクスコアを有する。したがって、1つの相互作用において、ユーザは、第1のアプリケーションにおいて、特定の資源に対するディープリンクを選択することができ、それにより、システムは、第2のアプリケーション、例えば、資源を表示するネイティブアプリケーションにおいて、環境のインスタンスを作成する。
【００３９】
本明細書に説明する主題の実施形態および機能動作は、本明細書に開示される構造およびそれらの構造的同等物を含む、デジタル電子回路に、有形に具現化されたコンピュータソフトウェアまたはファームウェアに、コンピュータハードウェアに、またはそれらのうちの1つまたは複数の組合せに実装することができる。本明細書に説明する主題の実施形態は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置による実行のための、またはデータ処理装置の動作を制御するために有形非一時的コンピュータ記憶媒体上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装することができる。コンピュータ記憶媒体は、マシン可読記憶デバイス、マシン可読記憶基板、ランダムまたはシリアルアクセスメモリデバイス、またはそれらのうちの1つまたは複数の組合せであり得る。コンピュータプログラムは、複数のファイルを含むことができ、1つまたは複数のデータ処理装置を実行するようにデプロイすることができる。
【００４０】
「データ処理装置」という用語は、例としてプログラマブルプロセッサ、コンピュータ、専用回路、または複数のプロセッサもしくはコンピュータを含めて、すべての種類の、データを処理するための装置、デバイス、およびマシンを包含する。装置は、ハードウェアに加えて、当該コンピュータプログラム、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つまたは複数の組合せを構成する符号のための実行環境を作り出す符号を含むこともできる。
【００４１】
本明細書に説明するプロセスおよび論理の流れは、入力データにより動作し、出力を生成することによって、または1つまたは複数の専用論理回路によって機能を実施するために、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルコンピュータによって実施することができる。
【００４２】
本明細書は、多くの具体的な実装形態の詳細を含むが、これらは、任意の発明の、または特許請求することができることの範囲に対する限定と解釈すべきではなく、むしろ、特定の発明の特定の実施形態に特有であり得る特徴の説明と解釈すべきである。別々の実施形態の文脈で本明細書に説明したある特徴は、単一の実施形態において組み合わせて実装することもできる。反対に、単一の実施形態の文脈で説明した様々な特徴は、複数の実施形態において別々に、または任意の適切な部分的組合せで実装することもできる。さらに、特徴は、ある組合せで動作すると上に説明した可能性があるが、当初そのようなものとして特許請求しても、特許請求された組合せから1つまたは複数の特徴は、場合により、組合せから削除することがあり、特許請求された組合せは、部分的組合せまたは部分的組合せの変形を対象とすることがある。
【００４３】
同様に、動作が図面において特定の順序で示されるが、これは、所望の結果を達成するために、そのような動作が、図示する特定の順序でまたは順次に実施されることを、またはすべての例示された動作が実施されることを要求していると理解すべきではない。ある状況においては、マルチタスクおよび並列処理が有利であり得る。さらに、上に説明した実施形態において様々なシステムモジュールおよび構成要素の分離は、すべての実施形態においてそのような分離を要求していると理解すべではなく、説明したプログラム構成要素およびシステムを、一般に、単一のソフトウェア製品に一緒に統合し、または複数のソフトウェア製品に実装することができると理解すべきである。
【００４４】
主題の特定の実施形態を説明してきた。他の実施形態は、以下の特許請求の範囲内にある。例えば、特許請求の範囲に列挙される動作は、異なる順序で実施し、依然として所望の結果を達成することができる。一例として、添付の図に示すプロセスは、所望の結果を達成するのに必ずしも図示する特定の順序または順次を必要としない。ある実装形態においては、マルチタスクおよび並列処理が、有利であり得る。
【符号の説明】
【００４５】
100  システム
102  ディープリンク生成器
104  ユーザデバイス
106  インデックス
108  メタデータデータベース
110  ネイティブアプリケーション
111  検索エンジン
112  ウェブサーバ
200  方法
300  方法
【図１】
0006600695.tif 000002
【図２】
0006600695.tif 000003
【図３】
0006600695.tif 000004