(57)【要約】【課題】円滑にユーザにコンテンツを提供することが可能な端末装置等を提供する。【解決手段】アプリケーションサーバ２００に接続してアプリケーションを動作させる端末装置１００は、取得部１１１と、提供部１１２と、検知部１１３とを備える。取得部１１１は、ユーザに提供すべきコンテンツのコンテンツ識別情報を取得する。提供部１１２は、取得されたコンテンツ識別情報に係るコンテンツを、アプリケーションに含まれるアプリ内ブラウザを介して、コンテンツサーバ３００から取得して提供する。検知部１１３は、コンテンツサーバ３００がアプリケーションサーバ２００に向けて当該コンテンツの終了状況を示す終了通知を送信したことを検知する。終了状況に応じて、提供部１１２がアプリ内ブラウザを介してコンテンツを再度提供、または、取得部１１１がユーザに提供すべき他のコンテンツのコンテンツ識別情報を新たに取得する。【選択図】図３
2020107106.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションサーバに接続してアプリケーションを動作させる端末装置であって、
ユーザに提供すべきコンテンツの識別情報を取得する取得部と、
前記取得された識別情報に係るコンテンツを、前記アプリケーションに含まれるアプリ内ブラウザを介して、コンテンツサーバから取得して提供する提供部と、
前記コンテンツサーバが前記アプリケーションサーバに向けて当該コンテンツの終了状況を示す終了通知を送信したことを検知する検知部と、
を備え、
前記終了状況に応じて、前記提供部が前記アプリ内ブラウザを介して前記コンテンツを再度提供、または、前記取得部が前記ユーザに提供すべき他のコンテンツの識別情報を新たに取得する、
端末装置。
【請求項２】
前記検知部は、前記コンテンツの提供が開始されて以後、前記識別情報に応じた閾時間が経過しても前記終了通知を未だ受信していなければ、
前記アプリ内ブラウザを介して提供されているコンテンツの状態を取得し、
前記取得された状態から前記終了状況を決定する、
請求項１に記載の端末装置。
【請求項３】
前記検知部は、前記閾時間が経過する前に、所定の時間間隔で間欠的に前記アプリ内ブラウザの状態を監視する、
請求項２に記載の端末装置。
【請求項４】
前記検知部は、前記アプリ内ブラウザを介して最後に提供されたコンテンツの状態に応じて、前記所定の時間間隔を調整する、
請求項３に記載の端末装置。
【請求項５】
前記提供部は、前記アプリ内ブラウザを介して前記コンテンツを再度提供するに先立って、広告コンテンツを提供する、
請求項１に記載の端末装置。
【請求項６】
前記取得部は、前記終了状況に応じて、前記ユーザに提供可能なコンテンツを更新し、当該更新されたコンテンツのうち前記ユーザにより選択されたコンテンツの識別情報を新たに取得する、
請求項１に記載の端末装置。
【請求項７】
前記提供部は、前記取得された識別情報に係るコンテンツを、前記アプリケーションに含まれるＷｅｂＶｉｅｗを介して提供し、
前記検知部は、前記終了状況を、前記ＷｅｂＶｉｅｗに対して当該ＷｅｂＶｉｅｗに表示されている内容を取得するスクリプトプログラムを前記アプリケーションから実行することにより取得する、
請求項１に記載の端末装置。
【請求項８】
アプリケーションサーバに接続してアプリケーションを動作させる端末装置が実行する制御方法であって、
ユーザに提供すべきコンテンツの識別情報を取得する取得ステップと、
前記取得された識別情報に係るコンテンツを、前記アプリケーションに含まれるアプリ内ブラウザを介して、コンテンツサーバから取得して提供する提供ステップと、
前記コンテンツサーバが前記アプリケーションサーバに向けて当該コンテンツの終了状況を示す終了通知を送信したことを検知する検知ステップと、
を備え、
前記終了状況に応じて、前記アプリ内ブラウザを介して前記コンテンツを再度提供、または、前記ユーザに提供すべき他のコンテンツの識別情報を新たに取得する、
制御方法。
【請求項９】
アプリケーションサーバに接続してアプリケーションを動作させるコンピュータを、
ユーザに提供すべきコンテンツの識別情報を取得する取得部、
前記取得された識別情報に係るコンテンツを、前記アプリケーションに含まれるアプリ内ブラウザを介して、コンテンツサーバから取得して提供する提供部、
前記コンテンツサーバが前記アプリケーションサーバに向けて当該コンテンツの終了状況を示す終了通知を送信したことを検知する検知部、
として機能させ、
前記終了状況に応じて、前記提供部が前記アプリ内ブラウザを介して前記コンテンツを再度提供、または、前記取得部が前記ユーザに提供すべき他のコンテンツの識別情報を新たに取得する、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末装置、制御方法、ならびに、プログラムに関する。
【背景技術】
【０００２】
従来から、端末装置のユーザが興味があるゲーム等のコンテンツの終了を知る方法として、コンテンツの状況が変化した際に通知を受信する技術がある（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−７６２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一方で、端末装置で実行中のアプリケーション内のウェブブラウザを介してコンテンツが提供され、そのコンテンツの終了による終了通知を受ける場合、コンテンツを提供するコンテンツサーバからアプリケーションを管理するアプリケーションサーバに通知が行き、その後アプリケーションサーバから端末装置に通知がいくことになる。その場合、コンテンツサーバとアプリケーションサーバとの間、もしくはアプリケーションサーバと端末装置との間の通信失敗などにより終了通知が伝達しない可能性がある。その結果、端末装置におけるコンテンツのユーザへの提供が滞るおそれがある。
【０００５】
本発明は、円滑にユーザにコンテンツを提供することが可能な端末装置、制御方法、ならびに、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１の観点に係る端末装置は、
アプリケーションサーバに接続してアプリケーションを動作させる端末装置であって、
ユーザに提供すべきコンテンツの識別情報を取得する取得部と、
前記取得された識別情報に係るコンテンツを、前記アプリケーションに含まれるアプリ内ブラウザを介して、コンテンツサーバから取得して提供する提供部と、
前記コンテンツサーバが前記アプリケーションサーバに向けて当該コンテンツの終了状況を示す終了通知を送信したことを検知する検知部と、
を備え、
前記終了状況に応じて、前記提供部が前記アプリ内ブラウザを介して前記コンテンツを再度提供、または、前記取得部が前記ユーザに提供すべき他のコンテンツの識別情報を新たに取得する、
ことを特徴とする。
【０００７】
また、上記観点に係る端末装置において、
前記検知部は、前記コンテンツの提供が開始されて以後、前記識別情報に応じた閾時間が経過しても前記終了通知を未だ受信していなければ、
前記アプリ内ブラウザを介して提供されているコンテンツの状態を取得し、
前記取得された状態から前記終了状況を決定してもよい。
【０００８】
また、上記観点に係る端末装置において、
前記検知部は、前記閾時間が経過する前に、所定の時間間隔で間欠的に前記アプリ内ブラウザの状態を監視してもよい。
【０００９】
また、上記観点に係る端末装置において、
前記検知部は、前記アプリ内ブラウザを介して最後に提供されたコンテンツの状態に応じて、前記所定の時間間隔を調整してもよい。
【００１０】
また、上記観点に係る端末装置において、
前記提供部は、前記アプリ内ブラウザを介して前記コンテンツを再度提供するに先立って、広告コンテンツを提供してもよい。
【００１１】
また、上記観点に係る端末装置において、
前記取得部は、前記終了状況に応じて、前記ユーザに提供可能なコンテンツを更新し、当該更新されたコンテンツのうち前記ユーザにより選択されたコンテンツの識別情報を新たに取得してもよい。
【００１２】
また、上記観点に係る端末装置において、
前記提供部は、前記取得された識別情報に係るコンテンツを、前記アプリケーションに含まれるＷｅｂＶｉｅｗを介して提供し、
前記検知部は、前記終了状況を、前記ＷｅｂＶｉｅｗに対して当該ＷｅｂＶｉｅｗに表示されている内容を取得するスクリプトプログラムを前記アプリケーションから実行することにより取得してもよい。
【００１３】
本発明の第２の観点に係る制御方法は、
アプリケーションサーバに接続してアプリケーションを動作させる端末装置が実行する制御方法であって、
ユーザに提供すべきコンテンツの識別情報を取得する取得ステップと、
前記取得された識別情報に係るコンテンツを、前記アプリケーションに含まれるアプリ内ブラウザを介して、コンテンツサーバから取得して提供する提供ステップと、
前記コンテンツサーバが前記アプリケーションサーバに向けて当該コンテンツの終了状況を示す終了通知を送信したことを検知する検知ステップと、
を備え、
前記終了状況に応じて、前記アプリ内ブラウザを介して前記コンテンツを再度提供、または、前記ユーザに提供すべき他のコンテンツの識別情報を新たに取得する、
ことを特徴とする。
【００１４】
本発明の第３の観点に係るプログラムは、
アプリケーションサーバに接続してアプリケーションを動作させるコンピュータを、
ユーザに提供すべきコンテンツの識別情報を取得する取得部、
前記取得された識別情報に係るコンテンツを、前記アプリケーションに含まれるアプリ内ブラウザを介して、コンテンツサーバから取得して提供する提供部、
前記コンテンツサーバが前記アプリケーションサーバに向けて当該コンテンツの終了状況を示す終了通知を送信したことを検知する検知部、
として機能させ、
前記終了状況に応じて、前記提供部が前記アプリ内ブラウザを介して前記コンテンツを再度提供、または、前記取得部が前記ユーザに提供すべき他のコンテンツの識別情報を新たに取得する、
ことを特徴とする。
【００１５】
なお、上記プログラムは、当該プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。更に、上記プログラムを記録する情報記録媒体は、非一時的な（non-transitory）記録媒体であり、コンピュータとは独立して配布・販売することができる。ここで、非一時的な情報記録媒体とは、有形な（tangible）情報記録媒体をいう。非一時的な情報記録媒体は、例えば、コンパクトディスク、フレキシブルディスク、ハードディスク、磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリである。また、一時的な（transitory）情報記録媒体とは、伝送媒体（伝搬信号）それ自体を示す。一時的な記録媒体は、例えば、電気信号、光信号、電磁波である。なお、一時的な（temporary）記憶領域とは、データやプログラムを一時的に記憶するための領域であり、例えばＲＡＭ（Random Access Memory）といった揮発性メモリである。
【発明の効果】
【００１６】
本発明によれば、円滑にユーザにコンテンツを提供することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態に係るコンテンツ提供システムの構成を示す図である。
【図２】実施形態に係る端末装置のハードウェア構成を示す概略ブロック図である。
【図３】実施形態に係る端末装置の機能構成を示す概略ブロック図である。
【図４】実施形態に係る端末装置の表示部に表示されるコンテンツ選択画面の一例を示す図である。
【図５】実施形態に係るアプリ内ブラウザに開始ページが表示されているコンテンツ提供画面の一例を示す図である。
【図６】実施形態に係るアプリ内ブラウザにゲームページが表示されているコンテンツ提供画面の一例を示す図である。
【図７】実施形態に係るアプリ内ブラウザにクリアページが表示されているコンテンツ提供画面の一例を示す図である。
【図８】実施形態に係るアプリ内ブラウザに失敗ページが表示されているコンテンツ提供画面の一例を示す図である。
【図９】（ａ）は実施形態に係るアプリ内ブラウザに広告ページが表示されているコンテンツ提供画面の一例、（ｂ）は広告ページが表示されてから所定時間経過後のコンテンツ提供画面の一例を示す図である。
【図１０】実施形態に係る端末装置により実行されるコンテンツ制御処理の流れを表すフローチャートである。
【図１１】実施形態に係る端末装置により実行されるコンテンツ再提供処理の流れを表すフローチャートである。
【図１２】（ａ）は変形例に係るコンテンツ選択画面の一例、（ｂ）は変形例に係るコンテンツ選択画面の別の一例を示す図である。
【発明を実施するための形態】
【００１８】
以下に本発明の実施形態を説明する。なお、本実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。従って、当業者であればこれらの各要素若しくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。また、本願発明の実施形態を図面を参照して説明するにあたり、図中同一又は相当する部分には同一符号を付す。
【００１９】
図１は、本発明の実施形態に係るコンテンツ提供システム１の構成を示す。コンテンツ提供システム１は、端末装置１００が、アプリケーションサーバ２００によって管理されるアプリケーションを実行中に、アプリケーションに含まれるブラウザ（以下、アプリ内ブラウザと呼ぶ）がコンテンツサーバ３００からコンテンツを取得し、取得したコンテンツをアプリ内ブラウザを介して端末装置１００のユーザに提供するシステムである。端末装置１００、アプリケーションサーバ２００、及びコンテンツサーバ３００は、インターネット４００により互いに通信可能に接続されている。なお、図１において、１つの端末装置１００が図示されているが、コンテンツ提供システム１において適用可能な端末装置１００の数はこれに限られず、複数の端末装置１００が適用されてもよい。
【００２０】
ここで、アプリ内ブラウザは、ＨＴＭＬ（HyperText Markup Language）等のマークアップ言語で記述されたウェブページをアプリケーション内で閲覧するためのブラウザである。アプリ内ブラウザは、例えば、端末装置向けのＯＳ（Operating System）に標準で組み込まれ、ウェブページの読込や描画を行うＷｅｂＶｉｅｗと呼ばれるソフトウェア部品を、アプリケーションのプログラムが呼び出すことにより、実現することができる。
【００２１】
端末装置１００は、コンテンツを利用するユーザが操作するコンピュータである。例えば、端末装置１００には、アプリケーションサーバ２００によって管理されるアプリケーションがインストールされている。端末装置１００は、アプリケーションサーバ２００に接続して、アプリケーションを動作させる。端末装置１００は、アプリケーションを実行し、アプリ内ブラウザを介してコンテンツサーバ３００からコンテンツを取得し、ユーザに提供する。また、端末装置１００は、後述するようにコンテンツの終了状況に応じて、同一のコンテンツをユーザに再度提供、または新たなコンテンツをユーザに提供する。
【００２２】
アプリケーションサーバ２００は、端末装置１００で実行されているアプリケーションを管理するサーバである。本実施形態において、アプリケーションサーバ２００は、端末装置１００のユーザ毎に、提供したコンテンツの終了状況に応じたポイントの付与、広告コンテンツの提示、ポイントの獲得数に応じた特典の付与といった処理を管理する。また、アプリケーションサーバ２００は、コンテンツサーバ３００から端末装置１００におけるコンテンツの終了状況を示す終了通知を受け付けると、端末装置１００に終了通知を送信する。
【００２３】
コンテンツサーバ３００は、アプリ内ブラウザを介して端末装置１００にコンテンツを提供するサーバである。本実施形態において、コンテンツサーバ３００は、端末装置１００のアプリ内ブラウザからコンテンツ要求を受信すると、そのコンテンツ要求に係るコンテンツを端末装置１００に提供する。本実施形態において、コンテンツサーバ３００により提供されるコンテンツは、ウェブブラウザでプレイ可能なブラウザゲーム（以下、単にゲームと呼ぶ）である。
【００２４】
次に、端末装置１００の構成について詳細に説明する。図２は、端末装置１００のハードウェア構成を示す概略ブロック図である。図２に示すように、端末装置１００は、制御部１０１と、ＲＯＭ（Read Only Memory）１０２と、ＲＡＭ１０３と、表示部１０４と、通信部１０５と、操作部１０６とから構成され、各部は、バス１０７により接続されている。
【００２５】
制御部１０１は、例えばＣＰＵ（Central Processing Unit）から構成され、端末装置１００全体を制御する。
【００２６】
ＲＯＭ１０２は、制御部１０１が端末装置１００全体を制御するためのプログラムや各種データを格納する不揮発性メモリである。
【００２７】
ＲＡＭ１０３は、制御部１０１が生成した情報や、その情報の生成に必要なデータを一時的に格納するための揮発性メモリである。
【００２８】
表示部１０４は、ＬＣＤ（Liquid Crystal Display）およびバックライト等を備える表示装置から構成される。表示部１０４は、制御部１０１による制御の下、各種データを表示する。
【００２９】
通信部１０５は、端末装置１００をインターネット４００に接続するための通信インターフェースから構成される。
【００３０】
操作部１０６は、ボタン、キーボード、タッチパネル等の入力装置から構成される。操作部１０６は、端末装置１００のユーザからの操作入力を受け付け、受け付けた操作入力に対応する信号を制御部１０１に出力する。
【００３１】
次に、端末装置１００の機能構成について説明する。図３は、端末装置１００の機能構成を示す概略ブロック図である。図３に示すように、端末装置１００は、取得部１１１、提供部１１２、及び検知部１１３として機能する。これらの機能は、端末装置１００の電源が投入され、ＲＯＭ１０２に格納されたアプリケーションのプログラムが実行されることにより、端末装置１００の各部が協働して実現される。
【００３２】
取得部１１１は、ユーザに提供すべきコンテンツのコンテンツ識別情報を取得する。例えば、取得部１１１は、端末装置１００のユーザから、操作部１０６を介して、ユーザが所望するコンテンツの選択を受け付けることにより、選択されたコンテンツのコンテンツ識別情報を取得する。
【００３３】
図４に端末装置１００の表示部１０４に表示されるコンテンツ選択画面５００の一例を示す。図４に示すコンテンツ選択画面５００は、コンテンツサーバ３００からコンテンツとしてゲームが提供される際に、ユーザがプレイを希望するゲームを選択するための画面である。図４に示すように、コンテンツ選択画面５００は、ユーザに提供可能な４つのゲーム「ゲーム１」〜「ゲーム４」にそれぞれ対応するプレイボタン５０１〜５０４を含む。プレイボタン５０１〜５０４は、「ゲーム１」〜「ゲーム４」のコンテンツ識別情報とそれぞれ対応付けられている。そして、取得部１１１は、ユーザにより選択されたプレイボタン５０１〜５０４に対応する「ゲーム１」〜「ゲーム４」のコンテンツ識別情報を取得する。
【００３４】
取得部１１１は、制御部１０１及び操作部１０６が協働することにより実現される。
【００３５】
提供部１１２は、取得部１１１により取得されたコンテンツ識別情報に係るコンテンツを、アプリ内ブラウザを介して、コンテンツサーバ３００から取得して提供する。本実施形態において、提供部１１２は、取得部１１１により取得されたコンテンツ識別情報と、端末装置１００のユーザを識別するユーザ識別情報とを含むコンテンツ要求をコンテンツサーバ３００に送信する。そして、提供部１１２は、コンテンツサーバ３００からコンテンツを受信すると、アプリ内ブラウザにコンテンツを表示する。
【００３６】
図５〜図８に端末装置１００の表示部１０４に表示されるコンテンツ提供画面６００の一例を示す。図５〜図８に示すように、コンテンツ提供画面６００は、アプリ内ブラウザ６０１を含む。図５は、アプリ内ブラウザ６０１に開始ページ６０２が表示されているコンテンツ提供画面の一例である。図５に示す例では、提供部１１２は、「ゲーム１」のコンテンツ識別情報を含むコンテンツ要求をコンテンツサーバ３００に送信し、アプリ内ブラウザ６０１にコンテンツサーバ３００から受信した、「ゲーム１」を開始するためのウェブページである開始ページ６０２を表示する。開始ページ６０２は、「ゲーム１」をスタートするためのスタートボタン６０３を含む。スタートボタン６０３には、「ゲーム１」の開始ページ６０２の次の展開を表すゲームページ７０２（図６参照）へのリンクが対応付けられている。そのため、ユーザがスタートボタン６０３を選択すると、提供部１１２は、アプリ内ブラウザ６０１を介してコンテンツサーバ３００に、ゲームページ７０２を要求する。
【００３７】
図６は、アプリ内ブラウザ６０１にゲームページ７０２が表示されているコンテンツ提供画面６００の一例である。提供部１１２は、コンテンツサーバ３００からゲームページ７０２を受信すると、図６に示すようにアプリ内ブラウザ６０１に表示する。ゲームページ７０２は、選択肢「Ａ」，「Ｂ」を選択するための選択ボタン７０３，７０４を含む。選択ボタン７０３，７０４には、「ゲーム１」においてそれぞれ選択肢「Ａ」，「Ｂ」を選択した場合の次の展開を表すゲームページ（図示せず）へのリンクが対応付けられている。そのため、ユーザが選択ボタン７０３，７０４のいずれかを選択すると、提供部１１２は、アプリ内ブラウザ６０１を介してコンテンツサーバ３００に、選択された選択ボタン７０３，７０４に対応するゲームページを要求する。このように、端末装置１００のユーザがアプリ内ブラウザ６０１に表示されたウェブページに対して選択等のアクションを行うことにより、コンテンツサーバ３００から次の展開のゲームページが提供され、この繰り返しによりゲームが進行する。そして、コンテンツサーバ３００は、ユーザが選択したアクションに基づいて、ゲームの結果を表すウェブページ、すなわち後述するクリアページ８０２（図７参照）または失敗ページ９０２（図８参照）を端末装置１００に提供する。
【００３８】
図７は、アプリ内ブラウザ６０１にクリアページ８０２が表示されているコンテンツ提供画面６００の一例である。提供部１１２は、コンテンツサーバ３００からクリアページ８０２を受信すると、図７に示すようにアプリ内ブラウザ６０１に表示する。クリアページ８０２は、「ゲーム１」の結果がクリアまたは成功である場合に表示されるウェブページである。
【００３９】
図８は、アプリ内ブラウザ６０１に失敗ページ９０２が表示されているコンテンツ提供画面６００の一例である。提供部１１２は、コンテンツサーバ３００から失敗ページ９０２を受信すると、図８に示すようにアプリ内ブラウザ６０１に表示する。失敗ページ９０２は、「ゲーム１」の結果が失敗である場合に表示されるウェブページである。
【００４０】
提供部１１２は、制御部１０１、表示部１０４、及び通信部１０５が協働することにより実現される。
【００４１】
検知部１１３は、コンテンツサーバ３００がアプリケーションサーバ２００に向けて当該コンテンツの終了状況を示す終了通知を送信したことを検知する。
【００４２】
具体的には、コンテンツサーバ３００は、ユーザがプレイしているゲームの結果を決定したとき、コンテンツの提供が所定の終了条件を満たしたと判定する。そして、コンテンツサーバ３００は、決定したゲームの結果をコンテンツの終了状況として示す終了通知をアプリケーションサーバ２００に送信する。
【００４３】
例えば、コンテンツサーバ３００は、ユーザがプレイしている「ゲーム１」の結果が「クリア」であると決定したとき、ユーザ識別情報と、「ゲーム１」の結果「クリア」とを示す終了通知をアプリケーションサーバ２００に送信する。そして、アプリケーションサーバ２００は、コンテンツサーバ３００から終了通知を受信すると、ユーザ識別情報により識別されるユーザの端末装置１００に、「ゲーム１」の結果「クリア」を示す終了通知を送信する。そして、検知部１１３は、アプリケーションサーバ２００から終了通知を受信することにより、コンテンツサーバ３００が終了通知をアプリケーションサーバ２００に送信したことを検知する。
【００４４】
また、例えば、コンテンツサーバ３００は、ユーザがプレイしている「ゲーム１」の結果が「失敗」であると決定したとき、ユーザ識別情報と、「ゲーム１」の結果「失敗」とを示す終了通知をアプリケーションサーバ２００に送信する。そして、アプリケーションサーバ２００は、コンテンツサーバ３００から終了通知を受信すると、ユーザ識別情報により識別されるユーザの端末装置１００に、「ゲーム１」の結果「失敗」を示す終了通知を送信する。そして、検知部１１３は、アプリケーションサーバ２００から終了通知を受信することにより、コンテンツサーバ３００がアプリケーションサーバ２００に終了通知を送信したことを検知する。
【００４５】
検知部１１３は、制御部１０１及び通信部１０５が協働することにより実現される。
【００４６】
さらに、取得部１１１は、検知部１１３により検知された終了通知が示す終了状況がコンテンツとして提供されたゲームのクリアを示すとき、提供すべき他のコンテンツのコンテンツ識別情報を取得する。本実施形態において、取得部１１１は、検知部１１３により検知された終了通知が示す終了状況が「クリア」を示すとき、図７に示すように、コンテンツ提供画面６００に、コンテンツ選択画面５００に戻るための戻るボタン６０４を表示する。そして、取得部１１１は、端末装置１００のユーザにより、操作部１０６を介して、戻るボタン６０４が選択されると、図４に示すコンテンツ選択画面５００を表示する。そして、取得部１１１は、コンテンツ選択画面５００からユーザが所望する他のコンテンツの選択を受け付けることにより、選択されたコンテンツのコンテンツ識別情報を取得する。
【００４７】
また、提供部１１２は、検知部１１３により検知された終了通知が示す終了状況がコンテンツとして提供されたゲームの失敗を示すとき、アプリ内ブラウザ６０１を介して、同じコンテンツを再度提供する。さらに提供部１１２は、アプリ内ブラウザ６０１を介してコンテンツを再度提供するに先立って、広告コンテンツを提供する。本実施形態において、提供部１１２は、検知部１１３により検知された終了通知が示す終了状況が「失敗」を示すとき、図８に示すように、コンテンツ提供画面６００に、「ゲーム１」を再度プレイするための再プレイボタン６０５を表示する。そして、提供部１１２は、端末装置１００のユーザにより、操作部１０６を介して、再プレイボタン６０５が選択されると、アプリケーションサーバ２００に広告コンテンツのコンテンツ要求を送信し、図９（ａ）に示すようにアプリ内ブラウザ６０１に広告コンテンツの一例として、所定の商品やサービスの広告を表す広告ページ１００２を表示し、再プレイボタン６０５を削除する。そして、提供部１１２は、広告ページ１００２の表示を開始してから所定時間（例えば、１０秒間）経過した後、図９（ｂ）に示すように、戻るボタン６０４及び再プレイボタン６０５を表示する。そして、ユーザにより操作部１０６を介して、再プレイボタン６０５が選択されると、コンテンツサーバ３００に「ゲーム１」のコンテンツ要求を送信し、図５に示すように、アプリ内ブラウザ６０１に「ゲーム１」の開始ページ６０２を再度表示する。また、ユーザにより操作部１０６を介して、戻るボタン６０４が選択されると、図４に示すコンテンツ選択画面５００を表示する。
【００４８】
さらに、検知部１１３は、コンテンツの提供が開始されてから以後、コンテンツ識別情報に応じた閾時間が経過してもアプリケーションサーバ２００から終了通知を未だ受信していないとき、アプリ内ブラウザ６０１を介して提供されているコンテンツの状態を取得する。そして、検知部１１３は、取得されたコンテンツの状態に基づいて、コンテンツの終了状況を決定する。ここで、閾時間は、ユーザがコンテンツを利用する標準的な時間に基づいて、コンテンツ毎に予め定められた時間である。コンテンツがゲームの場合、ゲームのプレイを開始してからクリアまたは失敗といったゲームの結果がでるまでの１プレイにかかる時間が、コンテンツを利用する時間であり、閾時間は、例えば、ユーザがコンテンツを利用する時間の平均値（例えば３分間）に所定時間（例えば１分間）を加えた時間である。本実施形態において、コンテンツ識別情報と対応付けられた閾時間が、予めＲＯＭ１０２等に記憶されている。検知部１１３は、コンテンツの提供が開始されてから以後、そのコンテンツのコンテンツ識別情報に対応する閾時間が経過してもアプリケーションサーバ２００から終了通知を未だ受信していないとき、コンテンツサーバ３００とアプリケーションサーバ２００の間の通信、もしくはアプリケーションサーバ２００と端末装置１００との間の通信に異常があると判定する。そして、検知部１１３は、アプリケーションサーバ２００から受信した終了通知が示す終了状況の代わりに、取得されたコンテンツの状態に基づいて、コンテンツの終了状況を決定する。
【００４９】
具体的には、検知部１１３は、アプリ内ブラウザ６０１により提供されているコンテンツの状態を取得する方法として、例えば、アプリ内ブラウザ６０１を提供するＷｅｂＶｉｅｗにおいて、「evaluateJavaScript("document.body.innerHTML")」、「evaluateJavaScript("document.getElementsByTagName('pre')[0].innerText")」、「evaluateJavaScript("document.URL")」といったスクリプトプログラムを実行することにより、アプリ内ブラウザ６０１に表示されているウェブページのＨＴＭＬ全体、ｐｒｅタグに囲まれた内容、ＵＲＬ（Uniform Resource Locator）をコンテンツの状態として取得することができる。検知部１１３は、このように取得した情報に基づいて、コンテンツの終了状況を決定する。例えば、検知部１１３は、取得されたＨＴＭＬ全体やｐｒｅタグに囲まれた内容に、「クリア」または「失敗」を示すキーワードが含まれている場合、それぞれ終了状況として「クリア」または「失敗」を決定する。また、例えば、コンテンツが終了する際に、図６に示すゲームページ７０２のようなゲームの本体を表すページから、図７及び図８に示すクリアページ８０２及び失敗ページ９０２のようなゲームの結果やゲーム終了の旨を表すページに遷移するようなコンテンツにおいては、検知部１１３は、「document.URL」により、現在アプリ内ブラウザ６０１に表示されているページのＵＲＬを調べれば、コンテンツが終了しているか否かを調べることができ、コンテンツの終了状況を決定することができる。
【００５０】
次に、本発明の実施形態にかかる端末装置１００の動作について説明する。図１０は、端末装置１００により実行されるコンテンツ制御処理の流れを表すフローチャートである。本処理は、例えば、操作部１０６が端末装置１００のユーザからアプリケーションの実行を指示する入力を受け付けたことを契機として開始する。
【００５１】
本処理が開始されると、取得部１１１は、コンテンツ選択画面５００を表示部１０４に表示する（ステップＳ１０１）。
【００５２】
そして、取得部１１１は、操作部１０６を介してコンテンツの選択を受け付けたか否かを判定する（ステップＳ１０２）。取得部１１１は、コンテンツの選択を受け付けるまで待機する（ステップＳ１０２；Ｎｏ）。
【００５３】
取得部１１１が操作部１０６を介してコンテンツの選択を受け付けると（ステップＳ１０２；Ｙｅｓ）、提供部１１２は、選択されたコンテンツのコンテンツ識別情報と、ユーザ識別情報とを含むコンテンツ要求をコンテンツサーバ３００に送信する（ステップＳ１０３）。
【００５４】
次に、提供部１１２は、コンテンツサーバ３００からコンテンツを受信したか否かを判定する（ステップＳ１０４）。提供部１１２は、コンテンツを受信するまで待機する（ステップＳ１０４；Ｎｏ）。
【００５５】
そして、提供部１１２は、コンテンツサーバ３００からコンテンツを受信したと判定すると（ステップＳ１０４；Ｙｅｓ）、アプリ内ブラウザ６０１を介して、受信したコンテンツの提供を開始する（ステップＳ１０５）。
【００５６】
そして、検知部１１３は、ステップＳ１０５においてコンテンツの提供を開始してから閾時間経過したか否かを判定する（ステップＳ１０６）。検知部１１３は、閾時間経過していないと判定したとき（ステップＳ１０６；Ｎｏ）、アプリケーションサーバ２００から終了通知を受信したか否かを判定する（ステップＳ１０７）。検知部１１３は、終了通知を受信していないと判定したとき（ステップＳ１０７；Ｎｏ）、ステップＳ１０６の処理に戻る。また、検知部１１３は、終了通知を受信したと判定したとき（ステップＳ１０７；Ｙｅｓ）、ステップＳ１１０の処理に進む。
【００５７】
一方、検知部１１３は、閾時間経過したと判定したとき（ステップＳ１０６；Ｙｅｓ）、検知部１１３は、アプリ内ブラウザ６０１で提供しているコンテンツの状態を取得する（ステップＳ１０８）。そして、検知部１１３は、ステップＳ１０８において取得されたコンテンツの状態に基づいて、コンテンツの終了状況を決定する（ステップＳ１０９）。
【００５８】
そして、検知部１１３は、ステップＳ１０７において受信した終了通知が示す終了状況、またはステップＳ１０９において決定した終了状況が、「クリア」を示すか否かを判定する（ステップＳ１１０）。
【００５９】
そして、検知部１１３は、終了状況が「クリア」を示すと判定したとき（ステップＳ１１０；Ｙｅｓ）、戻るボタン６０４を表示する（ステップＳ１１１）。
【００６０】
そして、取得部１１１は、操作部１０６を介して戻るボタン６０４の選択を受け付けたか否かを判定する（ステップＳ１１２）。取得部１１１は、戻るボタン６０４の選択を受け付けるまで待機する（ステップＳ１１２；Ｎｏ）。
【００６１】
取得部１１１は、戻るボタン６０４の選択を受け付けたと判定すると（ステップＳ１１２；Ｙｅｓ）、ステップＳ１０１におけるコンテンツ選択画面５００の表示に戻る。
【００６２】
一方、検知部１１３は、終了状況が「クリア」を示さないと判定したとき（ステップＳ１１０；Ｎｏ）、提供部１１２は、コンテンツ再提供処理を実行する（ステップＳ１１３）。
【００６３】
図１１は、端末装置１００により実行されるコンテンツ再提供処理の流れを表すフローチャートである。本処理が開始されると、提供部１１２は、再プレイボタン６０５を表示する（ステップＳ２０１）。
【００６４】
そして、提供部１１２は、操作部１０６を介して再プレイボタン６０５の選択を受け付けたか否かを判定する（ステップＳ２０２）。提供部１１２は、再プレイボタン６０５の選択を受け付けるまで待機する（ステップＳ２０２；Ｎｏ）。
【００６５】
提供部１１２は、再プレイボタン６０５の選択を受け付けたと判定すると（ステップＳ２０２；Ｙｅｓ）、アプリケーションサーバ２００に広告コンテンツのコンテンツ要求を送信する（ステップＳ２０３）。
【００６６】
次に、提供部１１２は、アプリケーションサーバ２００から広告コンテンツを受信したか否かを判定する（ステップＳ２０４）。提供部１１２は、広告コンテンツを受信するまで待機する（ステップＳ２０４；Ｎｏ）。
【００６７】
そして、提供部１１２は、コンテンツサーバ３００から広告コンテンツを受信したと判定すると（ステップＳ２０４；Ｙｅｓ）、アプリ内ブラウザ６０１を介して、受信した広告コンテンツの提供を開始する（ステップＳ２０５）。
【００６８】
そして、提供部１１２は、ステップＳ２０５において広告コンテンツの提供を開始してから所定時間経過したか否かを判定する（ステップＳ２０６）。提供部１１２は、所定時間経過していないと判定したとき（ステップＳ２０６；Ｎｏ）、広告コンテンツを表示したまま待機する。
【００６９】
提供部１１２は、所定時間経過したと判定したとき（ステップＳ２０６；Ｙｅｓ）、戻るボタン６０４及び再プレイボタン６０５を表示する（ステップＳ２０７）。
【００７０】
次に、提供部１１２は、操作部１０６を介して再プレイボタン６０５の選択を受け付けたか否かを判定する（ステップＳ２０８）。提供部１１２は、再プレイボタン６０５の選択を受け付けたと判定すると（ステップＳ２０８；Ｙｅｓ）、同一コンテンツのコンテンツ要求をコンテンツサーバ３００に送信する（ステップＳ２０９）。そして、提供部１１２は、図１０のステップＳ１０４の処理に戻る。
【００７１】
また、提供部１１２は、再プレイボタン６０５の選択を受け付けていないと判定すると（ステップＳ２０８；Ｎｏ）、操作部１０６を介して戻るボタン６０４の選択を受け付けたか否かを判定する（ステップＳ２１０）。提供部１１２は、戻るボタン６０４の選択を受け付けていないと判定すると（ステップＳ２１０；Ｎｏ）、ステップＳ２０８の処理に戻る。一方、提供部１１２は、戻るボタン６０４の選択を受け付けたと判定すると（ステップＳ２１０；Ｙｅｓ）、図１０のステップＳ１０１の処理に戻る。
【００７２】
端末装置１００は、以上のコンテンツ制御処理及びコンテンツ再提供処理を、例えばアプリケーションの実行が終了するまで、繰り返し実行する。
【００７３】
以上説明したように、本発明の実施形態に係る端末装置１００は、アプリ内ブラウザ６０１を介して提供されているコンテンツの終了状況に応じて、コンテンツの再提供、または他のコンテンツのコンテンツ識別情報を取得する。そのため、端末装置１００は、アプリ内ブラウザ６０１を介して提供されているコンテンツの終了状況に応じて、再度同じコンテンツを提供すべきか、または新たなコンテンツを提供すべきかを判断する契機を知ることができる。その結果、端末装置１００は、円滑にユーザにコンテンツを提供することができる。
【００７４】
また、端末装置１００は、コンテンツの提供が開始されて以後、コンテンツ識別情報に応じた閾時間が経過しても終了通知を未だ受信していなければ、アプリ内ブラウザ６０１により提供されているコンテンツの状態を取得し、取得された状態から終了状況を決定する。そのため、端末装置１００は、コンテンツの標準的な利用時間である閾時間を超えても終了通知を受信していないときに、単にタイムアウトとしてエラーを表示する代わりに、アプリ内ブラウザ６０１を介して提供されているコンテンツの状態に基づいて終了状況を決定し、決定した終了状況に応じて、再度同じコンテンツを提供すべきか、または新たなコンテンツを提供すべきかを判断する契機を知ることができる。その結果、端末装置１００は、円滑にユーザにコンテンツを提供することができる。
【００７５】
以上に本発明の実施形態について説明したが、上記実施形態は一例であり、本発明の適用範囲はこれに限られない。即ち、本発明の実施形態は種々の応用が可能であり、あらゆる実施の形態が本発明の範囲に含まれる。
【００７６】
例えば、上記の実施形態において、取得部１１１は、コンテンツ選択画面５００を表示し、操作部１０６を介してユーザにより選択されたコンテンツのコンテンツ識別情報を取得する例について説明した。しかし、取得部１１１がコンテンツ識別情報を取得する方法は、これに限られない。例えば、取得部１１１は、アプリケーションサーバ２００の管理者が端末装置１００のユーザに特定のコンテンツを閲覧させたい場合、アプリケーションサーバ２００がコンテンツ識別情報を指定してもよい。この場合、端末装置１００は、アプリケーションサーバ２００に指定されたコンテンツ識別情報を取得することができる。
【００７７】
また、上記の実施形態において、取得部１１１は、コンテンツの終了状況に応じて、ユーザに提供可能なコンテンツを更新し、当該更新されたコンテンツのうちユーザにより選択されたコンテンツの識別情報を新たに取得してもよい。例えば、図７に示すように「ゲーム１」の終了状況が「クリア」であるとき、図７の戻るボタン６０４が選択されると、取得部１１１は図１２（ａ）に示すように、「ゲーム１」と対応する位置に、終了状況が「クリア」であることを示すクリアアイコン６０６を含むコンテンツ選択画面５００を表示してもよい。また、取得部１１１は、終了状況が「クリア」である「ゲーム１」のプレイボタン５０１を所定期間（例えば、１日）選択できないようにし、例えば図１２（ａ）に示すようにプレイボタン５０１をグレイアウト（灰色表示）にしてもよい。また、例えば、図８に示すように「ゲーム１」の終了状況が「失敗」であるとき、図８の再プレイボタン６０５が選択され、図９（ａ）及び（ｂ）のように広告コンテンツが表示された後、図９（ｂ）の戻るボタン６０４が選択されると、取得部１１１は図１２（ｂ）に示すように、「ゲーム１」と対応する位置に、終了状況が「失敗」であることを示す失敗アイコン６０７を含むコンテンツ選択画面５００を表示してもよい。このように、コンテンツ選択画面５００にコンテンツの終了状況が反映されることにより、ユーザは、自身が現在利用可能なコンテンツや、コンテンツの終了状況を容易に把握することができる。
【００７８】
また、上記の実施形態において、送信された終了通知が示す終了状況が「失敗」を示す場合、提供部１１２は、アプリ内ブラウザ６０１を介して広告コンテンツを提供する例について説明した。しかし、提供部１１２は、広告コンテンツを提供しなくてもよく、図８に示す再プレイボタン６０５が選択された後、アプリ内ブラウザ６０１を介して図５に示すような開始ページ６０２を取得し、すぐにコンテンツを再度提供してもよい。
【００７９】
また、上記の実施形態において、検知部１１３は、コンテンツの提供を開始してからコンテンツ識別情報に応じた閾時間が経過しても終了通知を未だ受信していなければ、アプリ内ブラウザ６０１を介して提供されているコンテンツの状態を取得する例について説明した。しかし、検知部１１３がコンテンツの状態を取得するタイミングはこれに限られない。例えば、検知部１１３は、閾時間が経過する前に、所定の時間間隔（例えば、１０秒間）で間欠的にアプリ内ブラウザ６０１を介して提供されているコンテンツの状態を監視してもよい。さらに、検知部１１３は、通信状況や、アプリ内ブラウザ６０１を介して最後に提供されたコンテンツの状態に応じて、コンテンツの状態を監視する所定の時間間隔を調整してもよい。例えば、検知部１１３は、最後に提供されたコンテンツの終了通知を閾時間が経過する前にアプリケーションサーバ２００から受信した場合、次に提供すべきコンテンツの状態を監視する所定の時間間隔を、最後に提供されたコンテンツの状態を監視する所定の時間間隔よりも長くなるように調整してもよい。また、検知部１１３は、最後に提供されたコンテンツの終了通知を閾時間が経過する前にアプリケーションサーバ２００から受信していない場合、次に提供すべきコンテンツの状態を監視する所定の時間間隔を、最後に提供されたコンテンツの状態を監視する所定の時間間隔よりも短くなるように調整してもよい。これにより、端末装置１００は、間欠的に通信状況を監視し、通信異常によるタイムアウトが生じる前に、端末装置１００のアプリケーション側でユーザへのコンテンツの提供に対する対応を決定し、円滑にコンテンツを提供することができる。
【００８０】
なお、本発明に係る端末装置１００は、上記の機能を実現するための構成を予め備えて提供されることも可能な他、プログラムの適用により、既存のパーソナルコンピュータや情報端末機器等を、本発明に係る端末装置１００として機能させることもできる。即ち、上記実施形態で例示した端末装置１００による各機能構成を実現させるためのプログラムを、既存のパーソナルコンピュータや情報端末機器を制御するＣＰＵ等が実行できるように、既存のパーソナルコンピュータや情報端末機器に適用することで、そのパーソナルコンピュータや情報端末機器を本発明に係る端末装置１００として機能させることができる。また、本発明に係る制御方法は、端末装置１００を用いて実施できる。
【００８１】
また、このようなプログラムは、上記に限られず、任意の方法で適用可能である。プログラムを、例えば、コンピュータが読取可能な記録媒体［ＣＤ−ＲＯＭ（Compact Disc Read-Only Memory）、ＤＶＤ（Digital Versatile Disc）、ＭＯ（Magneto Optical disc）等］に格納して適用できる他、インターネット等のネットワーク上のストレージにプログラムを格納しておき、これをダウンロードさせることにより適用することもできる。
【符号の説明】
【００８２】
１      コンテンツ提供システム
１００  端末装置
１０１  制御部
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  表示部
１０５  通信部
１０６  操作部
１０７  バス
２００  アプリケーションサーバ
３００  コンテンツサーバ
４００  インターネット
５００  コンテンツ選択画面
５０１〜５０４  プレイボタン
６００  コンテンツ提供画面
６０１  アプリ内ブラウザ
６０２  開始ページ
６０３  スタートボタン
６０４  戻るボタン
６０５  再プレイボタン
６０６  クリアアイコン
６０７  失敗アイコン
７０２  ゲームページ
７０３，７０４  選択ボタン
８０２  クリアページ
９０２  失敗ページ
１００２  広告ページ
【図１】
2020107106.tif 000003
【図２】
2020107106.tif 000004
【図３】
2020107106.tif 000005
【図４】
2020107106.tif 000006
【図５】
2020107106.tif 000007
【図６】
2020107106.tif 000008
【図７】
2020107106.tif 000009
【図８】
2020107106.tif 000010
【図９】
2020107106.tif 000011
【図１０】
2020107106.tif 000012
【図１１】
2020107106.tif 000013
【図１２】
2020107106.tif 000014