以下、本発明の一実施形態について、図面を参照して説明する。
<第1の実施形態>
〔相互送客システムの概要〕
まず、本実施形態による相互送客システムの概要を説明する。この相互送客システムは、ユーザ端末に既にインストールされて利用されている元のアプリケーション(以下、「送客元アプリ」とも称する)から、そのユーザ端末にまだインストールされていないアプリケーション(以下、「送客先アプリ」とも称する)をインストールさせるようにアプリケーション間で相互送客するシステムである。しかしながら、アプリケーション毎に登録されるユーザ自身のユーザ情報は異なる場合があるため、アプリケーション間でユーザ情報の整合がとれず、同一のユーザのユーザ端末において送客元アプリから送客先アプリへの送客が行われたか容易に判定できないことがある。そこで、本実施形態では、同一ユーザであっても異なるユーザ情報で管理されているアプリケーション間であっても、相互送客が可能な相互送客システムを提供することを目的とし、アプリケーション間でユーザ情報が異なる場合であっても容易にアプリケーション間の相互送客を行うことができるように構成する。
また、送客先アプリがインストールされた場合に報酬が付与される相互送客システムでは、報酬獲得だけを目的として送客先アプリが利用されない可能性もある。そこで、本発明ではインストールされた送客先アプリが所定の成果地点に到達した場合に報酬が付与されるようにしている。さらに、異なる複数の成果地点を設けるようにすれば、達成した成果地点毎に報酬を得られるようにしている。このような成果達成型の報酬とすることで送客先アプリの利用を高めることが可能となる。
本実施形態では、送客元アプリに基づいて送客先アプリがインストールされた場合の報酬(リワード)の付与を、通常時期と特定の期間(以下、「キャンペーン期間」と称する)とのそれぞれで異なるリワード処理とする。なお、キャンペーンとは、複数のアプリケーションの間で、特定の期間だけ相互送客を高めるために実施する施策(特定の期間を有するイベント)のことである。
具体的には、本実施形態の相互送客システムは、通常時期(即ち、キャンペーン期間以外の時期)では、送客先アプリがインストールされたときに報酬(リワード)が付与され、キャンペーン期間では、送客先アプリにおける成果達成時に報酬(リワード)が付与されるようにした複数のアプリケーションどうしでの相互送客を可能にするシステムを提供する。以下、通常時期に行われるリワードを「通常リワード」と称し、キャンペーン期間に行われるリワード(キャンペーンリワード)を「CPリワード」と称する。
CPリワードは、キャンペーン期間にキャンペーンに参加する特定のアプリケーション間での相互送客であるのに対して、通常リワードは、同システムに対応するアプリケーションの全てを対象とする任意のアプリケーション間での相互送客となる。
図1は、本実施形態の相互送客システムの概要を説明する説明図である。この図では、本実施形態の相互送客システムに対応するアプリケーションとして、「アプリA」、「アプリB」、「アプリC」、及び「アプリD」の4種類のアプリケーションを例としている。「アプリA」は、ユーザ端末にインストールされている送客元アプリである。「アプリB」、「アプリC」、及び「アプリD」は、ユーザ端末にインストールされていないアプリケーションであって、「アプリA」(送客元アプリ)に対して送客先アプリとなり得るアプリケーションである。なお、「アプリB」は、「アプリA」との間でキャンペーン期間中にあり、「アプリC」及び「アプリD」は、「アプリA」との間でキャンペーン期間中ではない通常時期にある。
ユーザ端末は、送客元アプリである「アプリA」に対して送客先アプリとして選択可能なアプリケーションの一覧(アプリケーションリスト)LTを、ユーザ端末の表示画面に表示する。ここでは、「アプリB」、「アプリC」、及び「アプリD」のそれぞれのアプリ名と報酬内容とが表示されたラベルL1、L2、L3が送客先アプリとして選択可能な操作子として並べて表示されている。ラベルL1には、「アプリB」のアプリ名、キャンペーン期間中であることを示す情報、及びCPリワードによる報酬内容が掲載されているサイトのリンク先が表示されている。ラベルL2には、「アプリC」のアプリ名、及び通常リワードによる報酬内容が表示されている。ラベルL3には、「アプリD」のアプリ名、及び通常リワードによる報酬内容が表示されている。
ここでは、通常リワードの場合、送客元アプリで自ユーザが利用可能なポイントの付与が報酬内容として表示されている。一方、CPリワードの場合には、例えば、ゲームにおいて報酬付与条件となる成果地点とその成果地点を達成したときの報酬内容(ポイントの付与やアイテムの付与等)は、アプリケーション側で管理しているため、リンク先のサイトに掲載するようにしている。なお、成果地点は、例えば、ゲームにおけるチュートリアルの終了、またはゲーム進行における所定のステージの終了や所定のポイントの獲得などアプリケーション側で任意に設定することができる。
送客先アプリとして「アプリC」または「アプリD」が選択された場合には、選択された「アプリC」または「アプリD」がインストールされたときに送客元である「アプリA」に対する通常リワードが行われる。一方、送客先アプリとして「アプリB」が選択された場合には、キャンペーン期間中に「アプリB」がユーザ端末にインストールされたことを条件として、「アプリB」が起動した後、そのキャンペーンに対応して予め設定された成果地点を達成(報酬付与条件を充足)した場合、送客元である「アプリA」に対するCPリワードが行われる。なお、例えば、キャンペーン期間の最初又は途中から開始し、キャンペーン期間の最後より後に終了する報酬付与期間が設定されており、この報酬付与期間内に成果地点の達成がなされた場合にCPリワードが行われ、報酬付与期間を過ぎた後では成果地点が達成されてもCPリワードが行われない。成果地点が複数設定されている場合には、成果地点の達成毎にCPリワードが行われる。このように報酬付与期間の終了時点をキャンペーン期間の終了時点より後に設定するようにして、キャンペーン期間の最後の方でインストールしたユーザに対して、成果地点に達成するまでの期間を考慮するようにしている。
また、ユーザ端末にインストールされた複数のアプリケーションの利用者が同一のユーザであっても、アプリケーション毎に登録されるユーザ情報(例えば、ユーザを一意に識別する識別情報であるユーザID)が異なる場合がある。そこで本実施形態の相互送客システムでは、ユーザ端末毎に一意に識別可能な情報である固有識別情報であって、ユーザ端末を特定可能な(当該ユーザ端末を利用しているユーザを特定可能な)固有識別情報(以下、「リワードユーザID」と称する)を用いて管理するようにした。これにより、アプリケーション間でユーザIDが異なる場合であっても、リワードユーザIDを用いてユーザ端末を特定することができ、容易にアプリケーション間の相互送客が可能となる。
さらに、本実施形態の相互送客システムでは、リワードユーザIDと各アプリケーションにおいて登録されたユーザID(以下、「アプリユーザID」と称する)とを関連付けて管理するようにした。これにより、アプリケーション間でユーザIDが異なる場合であっても、アプリケーション間のアプリユーザIDがリワードユーザIDを介して関連付けられるため、送客元アプリのユーザを容易に特定して報酬を付与することも可能である。なお、以下の記述において、アプリケーションを一意に識別する識別情報を「アプリID」と称する。
なお、アプリケーションの状態の一例として、非動作状態(Not running)と、何らかの処理を実行している通常動作状態(Active)と、何らかの処理を実行しているが画面に非表示とするバックグラウンド状態(BackGround)と、いずれの処理も実行せずに中断しているサスペンド状態(Suspended)がある。ここで、「対象アプリケーションの起動」とは、非動作状態(Not running)、サスペンド状態(Suspended)、またはサスペンド状態(Suspended)から通常動作状態(Active)に移行することをいう。また、「対象アプリケーションの終了」とは、通常動作状態(Active)から、非動作状態(Not running)、サスペンド状態(Suspended)、またはサスペンド状態(Suspended)に移行することをいう。また、複数のアプリケーションが同時に通常動作状態に成り得る場合には、「対象アプリケーションの起動」とは、例えば、対象アプリケーションが画面の最前面に表示されるなどして、ユーザに対して操作可能な状態に移行することをいう。
また、アプリケーションのインストールとは、ユーザ端末に導入されていないアプリケーションのプログラムを新規に導入することだけでなく、相互送客システムに対応するようにアプリケーションのプログラムをアップデート(更新)することを含む。すなわち、ユーザ端末に搭載しているアプリケーションに対して、相互送客システムに対応するための更新プログラムをダウンロードして更新することを含む。
〔ネットワークシステムの構成〕
図2は、相互送客システムを実現する本発明の第1の実施形態によるネットワークシステム1の構成の一例を示す概略構成図である。ネットワークシステム1は、複数のユーザ端末100−N(Nは正の整数。ユーザ端末100−1、ユーザ端末100−2、・・・)と、管理サーバ200と、複数のアプリサーバ300(アプリサーバ310、アプリサーバ320、・・・)と、アプリストア400とのコンピュータ装置を備えており、これらのコンピュータ装置はネットワークNWを介して通信可能に接続される。ここで、複数のユーザ端末100−Nは同様の構成であるので、特に区別しない場合には、「−1」、「−2」等の記載を省略してユーザ端末100として説明する。
アプリサーバ300は、ユーザ端末100にインストール可能なアプリケーションに対応するサーバ装置である。ここでは、ユーザ端末100にインストールされるアプリケーションがゲームである場合を例として、ゲームAに対応するアプリサーバ310と、ゲームBに対応するアプリサーバ320とが、ネットワークNWを介してユーザ端末100と接続されることを示している。なお、ネットワークシステム1には、アプリサーバ310及びアプリサーバ320に限らず、ユーザ端末100にインストールされてプレイすることができるゲームに対応して複数のアプリサーバ300が備えられる。ここで、ユーザ端末100にインストールされるアプリケーションとは、アプリケーションのプログラムがユーザ端末100にインストールされることにより、インストールされたプログラムに基づいてユーザ端末100がアプリケーションに関する処理(例えば、ゲームの処理)を行う、所謂ネイティブ型のアプリケーションである。ユーザ端末100は、ゲームをプレイするユーザに対応したユーザ情報をアプリサーバ300に送信したり、ゲームのプレイ中に必要な情報をアプリサーバ300から取得したりする。
アプリストア400は、ユーザ端末100にインストール可能なアプリケーションをダウンロード可能なストアサイト(ダウンロードサービスサイト)を提供するサーバ装置である。ユーザは、自身のユーザ端末100からネットワークNWを介してアプリストア400に接続して所望のアプリケーションを有料または無料で購入することにより、購入したアプリケーションを自身のユーザ端末100にダウンロードしてインストールすることができる。
ここで、アプリケーション(ゲーム)の提供者からすると、提供するアプリケーションをより多くのユーザに購入してもらえるように、購入の動機付けとなるようなサービスの提供が望まれる。
例えば、ユーザ端末100にインストールされているアプリケーションの利用中に表示される表示画面やユーザの操作により遷移した表示画面に、まだインストールされていないアプリケーションの広告(バナー)を表示させ、その広告(バナー)が選択されると上述のストアサイトに誘導され、その後、選択されたアプリケーションがダウンロードされてユーザ端末100にインストールされた場合、ダウンロードのきっかけとなった広告(バナー)が表示された元のアプリケーションのユーザ自身の利用に対して報酬が付与されるようなサービスの提供が考えられる。この場合、元のアプリケーションで利用可能な報酬(例えば、ゲームで利用可能なアイテムやゲームポイント等)がユーザ自身に付与されるため、報酬を得たいユーザにとって新なアプリケーションを購入する動機付けとなる。これにより、アプリケーションの販売の促進に繋げることが可能となる。
管理サーバ200は、本実施形態の相互送客システムに対応するアプリケーションに関する情報や通常リワードまたはCPリワードに関する情報を管理するとともに、ユーザ端末100と通信することにより、アプリケーション間の送客情報の管理やリワードの処理を制御する管理装置である。具体的には、管理サーバ200は、送客元アプリから送客先アプリに対する送客情報として、例えば、送客元アプリのアプリID、送客先アプリのアプリID、及びリワードユーザIDを関連付けて管理する。
ユーザ端末100は、ユーザによって使用される端末装置であり、例えば、携帯電話やスマートフォン、タブレット端末、パーソナルコンピュータ、通信機能付きゲーム機などが用いられる。ここでは、ユーザ端末100はスマートフォンであるとして説明する。
図3は、本実施形態によるユーザ端末100の構成の一例を示す概略構成図である。この図に示すように、ユーザ端末100は、入力部110と、表示部120と、端末通信部130と、端末記憶部140と、端末制御部150とを備えている。
入力部110は、ユーザからの操作に応じてユーザの指示を受付けて、指示内容に応じた入力指示情報を生成する入力デバイスである。入力部110には、例えば、キーボードやボタン、タッチパネル、マウス、マイクロホン等を適用できる。
表示部120は、画像や文字等の情報を表示する表示デバイスであり、例えば、LCD(Liquid Crystal Display)、有機EL(Electro Luminescence)ディスプレイ等を適用できる。入力部110と表示部120とは一体に構成されてユーザからの操作入力を受け付けるタッチパネルとして適用することもできる。
端末通信部130は、ネットワークNWを介して管理サーバ200またはアプリサーバ300と通信する。
端末記憶部140は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュROM、HDD(Hard Disk Drive)等の記録媒体またはこれらの組合せを用いて構成され、ユーザ端末100が備える各部を制御するためのプログラム(例えば、端末制御部150に基本動作を行わせるためのOS(Operating System))、インストールされたアプリケーションのプログラム、各種情報等を記憶する。
端末制御部150は、ユーザ端末100の制御中枢として機能するCPU(Central Processing Unit)等の情報処理装置を備えており、ユーザ端末100が備える各部を制御する。例えば、端末制御部150は、端末記憶部140に記憶されているOSに基づく基本動作の処理を実行するとともに、アプリケーションのプログラム(ゲームのプログラム)に基づく処理を実行する。また、端末制御部150は、OS上で動作可能な各種のアプリケーション(Webブラウザや、アプリストア400が提供するストアサイトのストアページを表示させるアプリケーション等)の機能をOSを介して実行する処理を行う。
ネットワークNWは、例えば、携帯電話網、PHS(Personal Handy-phone System)網、VPN(Virtual Private Network)網、専用通信回線網、WAN(Wide Area Network)、LAN(Local Area Network)、PSTN(Public Switched Telephone Network;公衆交換電話網)など、またはこれらの組み合わせによって構成される情報通信ネットワークである。
〔相互送客システムの構成及び処理〕
次に、図4を参照して、相互送客システムの構成及び処理について説明する。
図4は、本実施形態のネットワークシステム1における相互送客システムの構成及び処理の一例を説明する説明図である。
ここでは、ユーザXが利用するユーザ端末100に送客元アプリ10(ゲームA)がインストールされ、インストールされた送客元アプリ10(ゲームA)におけるユーザXの操作に基づいて、送客先アプリ20(ゲームB)がユーザ端末100にインストールされて利用が開始された場合、送客元アプリ10(ゲームA)におけるユーザXに対して報酬(リワード)が付与される例を説明する。なお、送客元アプリ10(ゲームA)はインストールされた時点では、まだ送客元となっていないが、便宜上送客元アプリ10と称して説明する。
この図では、ユーザ端末100には、端末制御部150の制御により実行されるインストールされた送客元アプリ10(ゲームA)と、送客処理中に起動されるストア30(ストアサイトのストアページを表示するアプリケーション)と、新にインストールされて実行される送客先アプリ20(ゲームB)とを模式的に示している。
送客元アプリ10(ゲームA)は、ゲームAをプレイするユーザXに対応したユーザIDをアプリサーバ310(ゲームA)に送信したり、ゲームAのプレイ中に必要な情報をアプリサーバ310(ゲームA)から取得したりする。同様に、送客先アプリ20(ゲームB)がユーザ端末100にインストールされた場合には、送客先アプリ20(ゲームB)は、ゲームBをプレイするユーザXに対応したユーザIDをアプリサーバ320(ゲームB)に送信したり、ゲームBのプレイ中に必要な情報をアプリサーバ320(ゲームB)から取得したりする。
また、本実施形態の相互送客システムに対応するアプリケーションには、相互送客処理用のソフトウェア(以下、SDK(Software Development Kit)11と称する)が組み込まれている。このSDK11は、例えば、ユーザ端末100にインストールされた相互送客システムに対応する各アプリケーションと管理サーバ200とを仲介するためのAPI(Application Programming Interface)の集合体で構成されている。この図では、送客元アプリ10(ゲームA)にはSDK11Aが組み込まれ、送客先アプリ20(ゲームB)にはSDK11Bが組み込まれている。SDK11AとSDK11Bとのそれぞれは、送客元アプリ10と送客先アプリ20とのそれぞれに対応する機能を実行する構成を備えており、各アプリケーションに応じて必要な機能が実行される。なお、相互送客システムに対応するアプリケーションは、送客元アプリ10と送客先アプリ20のどちらにもなり得るので、SDK11AとSDK11Bの両方の構成を備えたSKD11が組み込まれている。
つまり、上述のSDK11を組み込み可能なようにアプリケーションを構成すれば、当該アプリケーションは、本実施形態の相互送客システムに対応するアプリケーションとなる。なお、上述のSDK11が予め組み込まれているアプリケーションがダウンロード可能に提供されてもよいし、インストールされているアプリケーションに対して後から組込み可能なSDK11が提供されてもよい。
なお、相互送客システムに対応するアプリケーションの中には、送客先アプリ20にのみに対応するアプリケーションがあってもよい。その場合には、SDK11Bのみが組み込まれているようにしてもよいし、SDK11を組み込んでSDK11Aを機能させないようにしてもよい。また、送客先アプリ20にのみに対応するアプリケーションの場合で、通常リワードのみに限定するならば、アプリケーションに対応するアプリケーションサーバを具備する必要がないため、例えばユーザ端末100においてスタンドアローンで動作するアプリケーションを相互送客システムに対応するアプリケーションの対象とすることができる。
上述のSDK11(この図ではSDK11A、SDK11B)と管理サーバ200とを備えた構成が本実施形態の相互送客システムの主要な構成であり(符号500参照)、以下、相互送客システム500と符号を付して記述する。
管理サーバ200は、ユーザ端末100にインストールされた相互送客システム500に対応するアプリケーションに組み込まれたSDK11と通信することにより、相互送客処理を実行する。また、管理サーバ200は、送客元アプリ10(ゲームA)に対応するアプリサーバ310(ゲームA)に対してリワードに関する情報を送信する。これにより、アプリサーバ310(ゲームA)から送客元アプリ10(ゲームA)におけるユーザXに対して報酬が付与される。
この図に示すように管理サーバ200は、通信部210と、管理部220と、記憶部230と、制御部240と、を備えている。通信部210は、ネットワークNWを介してユーザ端末100、アプリサーバ310(ゲームA)、またはアプリサーバ320(ゲームB)と通信する。管理部220は、相互送客システム500に対応するアプリケーションに関する情報、キャンペーンに参加しているアプリケーションの情報、アプリケーション間の送客情報、通常リワード及びCPリワードに関する情報等を記憶部230に記憶させて管理する。記憶部230は、管理部220または制御部240の制御により各種情報を記憶する。制御部240は、ユーザ端末100またはアプリサーバ310(ゲームA)との相互送客処理に関する情報の授受の制御やリワードに関する処理の制御を行う。
なお、以下の記述において、管理部220の管理の対象となる相互送客システム500に対応するアプリケーションのことを「対象アプリケーション」とも称し、この対象アプリケーションのうちのキャンペーンに参加する特定のアプリケーションのことを「特定アプリケーション」とも称する。
続いて、相互送客処理の概略の流れについて説明する。
ここでは、相互送客システム500に対応する対象アプリケーションの情報が、管理サーバ200に予め管理されているものとする。また、ユーザ端末100は、このユーザ端末100に対応する固有識別情報であるユーザXのリワードユーザIDを取得済みで、取得したリワードユーザIDがこのユーザ端末100にインストールされる相互送客システム500に対応するアプリケーションから参照可能なように端末記憶部140の所定の領域(アプリ間共有エリア)に記憶されているものとする。
(1)ユーザ端末100に送客元アプリ10(ゲームA)がインストールされた場合、送客元アプリ10(ゲームA)に組み込まれているSDK11Aは、送客元アプリ(ゲームA)がインストールされたことを示すインストール通知情報を管理サーバ200に対して送信する(REQ11)。ここで、インストール通知情報には、少なくとも送客元アプリ10(ゲームA)のアプリIDと、リワードユーザIDとが含まれる。
(2)管理サーバ200は、ユーザ端末100(SDK11A)から送信されたインストール通知情報を取得すると、取得したことを示す応答情報(通知結果)を、ユーザ端末100(SDK11A)に対して送信する(RES11)。また、管理サーバ200は、取得したインストール通知情報に含まれる送客元アプリ10(ゲームA)のアプリIDと、リワードユーザIDとを関連付けて管理する。
(3)ユーザ端末100(SDK11A)は、相互送客システム500に対応する対象アプリケーションの少なくとも一の対象アプリケーションのアプリケーションリスト(送客先アプリ20の候補となる対象アプリケーションの一覧)を要求するリスト要求通知情報を管理サーバ200に対して送信する(REQ12)。
(4)管理サーバ200は、ユーザ端末100(SDK11A)からリスト要求通知情報を取得すると、管理の対象となる複数の対象アプリケーションのうちのユーザ端末100からインストール通知情報を取得していない(即ち、ユーザ端末100にインストールされたことがない)少なくとも一の対象アプリケーションのアプリケーションリストをユーザ端末100(SDK11A)に対して送信する(RES12)。このとき、管理サーバ200は、キャンペーンに参加している特定アプリケーションにはそのキャンペーンに関する情報を関連付けて送信する。
ユーザ端末100(SDK11A)は、管理サーバ200からアプリケーションリストを取得すると、取得したアプリケーションリストLTを表示部120に表示する。
(5)表示部120に表示されたアプリケーションリストの中からいずれかの対象アプリケーションがユーザXにより選択されると、ユーザ端末100(SDK11A)は、送客元アプリ10(ゲームA)から、選択された対象アプリケーション(ここでは、送客先アプリ20(ゲームB))へ送客されたことを示す送客情報を管理サーバ200に対して送信する(REQ13)。ここで、送客情報には、少なくとも、送客元アプリ10(ゲームA)のアプリIDと、送客先アプリ20(ゲームB)のアプリIDと、リワードユーザIDとが含まれる。
(6)管理サーバ200は、ユーザ端末100(SDK11A)から送客情報を取得すると、取得した送客情報に基づいて、送客先アプリ20(ゲームB)をインストール可能な画面に誘導する指示情報(例えば、当該画面をユーザ端末100の表示部120に表示させる指示情報)をユーザ端末100(SDK11A)に対して送信する(RES13)。また、管理サーバ200は、取得した送客情報に含まれる送客元アプリ10(ゲームA)のアプリIDと、送客先アプリ20(ゲームB)のアプリIDと、リワードユーザIDとを関連付けて管理する。
(7)ユーザ端末100は、管理サーバ200から上述の指示情報を取得すると、送客先アプリ20(ゲームB)をインストール可能(ダウンロード可能)なストアサイトのストアページを表示するアプリケーションであるストア30を起動させる。このストア30は、アプリストア400から、送客先アプリ20(ゲームB)をインストール可能なストアページを取得して表示部120に表示させる。ユーザXの操作により送客先アプリ20(ゲームB)がユーザ端末100にダウンロードされてインストールされた後、引き続きユーザXの操作によりインストールされた送客先アプリ20(ゲームB)が起動される。
(8)ユーザ端末100(SDK11B)は、送客先アプリ20(ゲームB)がインストールされたことを示すインストール通知情報を管理サーバ200に対して送信する(REQ14)。ここで、インストール通知情報には、少なくとも送客先アプリ20(ゲームB)のアプリIDと、リワードユーザIDとが含まれる。
(9)管理サーバ200は、ユーザ端末100(SDK11B)から送信されたインストール通知情報を取得すると、取得したことを示す応答情報を、ユーザ端末100(SDK11B)に対して送信する(RES14)。また、管理サーバ200は、この取得したインストール通知情報と管理している送客情報とに基づいて、この送客先アプリ20(ゲームB)が、ユーザ端末100において送客元アプリ10(ゲームA)から送客されたものであると判定する。
(10)ここで、送客先アプリ20(ゲームB)が特定アプリケーションであって、送客元アプリ10(ゲームA)との間でキャンペーン中であるとする。この場合には、送客先アプリ20(ゲームB)において、キャンペーンに対応して予め設定された報酬付与条件が充足された(成果地点に到達した)ことに基づいて、ユーザ端末100(SDK11B)は、報酬付与条件が充足されたことを示す報酬付与通知情報(成果地点到達を示す情報)を管理サーバ200に対して送信する(REQ15)。成果地点が複数ある場合には、ユーザ端末100(SDK11B)は、各成果地点に到達したことに基づいてその数分の報酬付与通知情報(成果地点到達を示す情報)を管理サーバ200に対して送信する。
(11)管理サーバ200は、ユーザ端末100(SDK11B)から報酬付与通知情報を取得すると、取得した報酬付与通知情報に基づく報酬付与情報であって、送客先アプリ20(ゲームB)において成果地点に到達したことを示す報酬付与情報を、送客元アプリ10(ゲームA)に対応するアプリサーバ310(ゲームA)に対して送信する(CPリワードの処理)。成果地点が複数ある場合には、管理サーバ200は、その数分の報酬付与通知情報に基づく報酬付与情報をアプリサーバ310(ゲームA)に対して送信する。
ここで、管理サーバ200は、送客先アプリ20(ゲームB)での成果地点到達を示す情報を送客元アプリ10(ゲームA)に対応するアプリサーバ310(ゲームA)に対して送信することを仲介するだけであって、送客先アプリ20(ゲームB)での成果地点の設定内容、及びそれぞれの成果地点到達した場合に送客元アプリ10(ゲームA)に付与される報酬内容については関与しない。ユーザ端末100の表示画面にアプリケーションリストLTを表示する場合に、CPリワードによる報酬内容を表示画面に表示せずに、CPリワードによる報酬内容が掲載されているサイトのリンク先を表示しているのは、管理サーバ200が報酬内容について関与しないからである。
なお、送客先アプリ20(ゲームB)が特定アプリケーションではない対象アプリケーションである場合(或いは、特定アプリケーションであってもキャンペーン期間外の場合)には、管理サーバ200は、ユーザ端末100(SDK11B)から送信された送客先アプリ20(ゲームB)がインストールされたことを示すインストール通知情報を取得すると、通常リワードによる成果地点に到達したことを示す報酬付与情報をアプリサーバ310(ゲームA)に対して送信する(通常リワードの処理)。
このような処理の流れにより、送客元アプリ10(ゲームA)から送客先アプリ20(ゲームB)に対して送客がなされる。ここで、相互送客システム500においては、SDK11A及びSDK11Bと管理サーバ200との間で授受される各情報が、ユーザ端末100に対応するリワードユーザIDにより、直接またはいずれかの情報を介して関連付けされている。これにより、相互送客システム500は、送客元アプリ10(ゲームA)と送客先アプリ20(ゲームB)とにおいてアプリユーザIDが異なる場合であっても、アプリケーション間の相互送客処理やリワード処理を容易に行うことができる。
次に、相互送客システム500が備えるSDK11(SDK11A及びSDK11B)と、管理サーバ200との各構成の詳細について説明する。
〔ユーザ端末100(SDK11)の機能構成〕
図5は、本実施形態によるユーザ端末100において、端末制御部150がSDK11に基づいて実行する相互送客処理の機能構成の一例を示す構成図である。この図5を参照して、相互送客システム500においてユーザ端末100(SDK11)が実行する相互送客処理の機能構成について説明する。
SDK11は、初期化処理部101と、リスト要求部104と、表示制御部105と、送客情報通知部106と、報酬付与通知部107とを備えている。
初期化処理部101は、SDK11の組み込み先のアプリケーションがユーザ端末100インストールされると、初回起動時の処理として、当該アプリケーションに関する情報(例えば、アプリID、アプリユーザID等)を取得する。また、初期化処理部101は、固有識別情報取得部102と、インストール通知部103とを備えている。
固有識別情報取得部102は、ユーザ端末100毎に固有に設定される固有識別情報であって、そのユーザ端末100を利用するユーザを一意に識別可能な固有識別情報であるリワードユーザIDを取得する。例えば、固有識別情報取得部102は、擬似乱数列を生成し、生成した擬似乱数列を用いて他のユーザ端末100のリワードユーザIDとは重複しないようにユーザ端末100に対応するリワードユーザIDを生成して取得する。また、固有識別情報取得部102は、取得したリワードユーザIDを、ユーザ端末100にインストールされたいずれの対象アプリケーションからも参照可能なように端末記憶部140のアプリ間共有エリアに記憶させる。
ここで、固有識別情報取得部102は、インストールされた対象アプリケーションが複数の対象アプリケーションのうちの最初にユーザ端末100にインストールされた対象アプリケーションである場合、リワードユーザIDを取得する。つまり、端末記憶部140のアプリ間共有エリアにリワードユーザIDが記憶されていない場合、リワードユーザIDを取得する。そして、この取得されたリワードユーザIDは、それ以降にインストールされた対象アプリケーションにおいても利用される。
インストール通知部103は、ユーザ端末100にインストールされた対象アプリケーションの当該インストールされたことを示すインストール通知情報を管理サーバ200に対して送信する。ここで、上述のインストール通知情報には、当該インストールされた対象アプリケーションのアプリIDと、このユーザ端末100に対応するリワードユーザIDとが含まれる。なお、相互送客システム500による送客処理を介さずにユーザがストアサイトからダウンロードして対象アプリケーションがインストールされた場合と、相互送客システム500による送客処理を介してインストールされた場合(単に対象アプリケーションがインストールされた場合)とのいずれでも、ユーザ端末100からインストール通知情報が送信される。また、インストールされた対象アプリケーションが特定アプリケーションの場合、インストール通知部103は、ユーザ端末100にインストールされた特定アプリケーションの当該インストールされたことを示すインストール通知情報を管理サーバ200に対して送信することとなる。
また、インストール通知部103は、インストールされた対象アプリケーションをインストールしたユーザのインストールされた対象アプリケーションにおけるアプリユーザIDをさらに含めたインストール通知情報を管理サーバ200に対して送信してもよい。これにより、このインストール通知情報を取得した管理サーバ200は、インストールされた対象アプリケーションにおけるアプリユーザIDとリワードユーザIDとを関連付けて管理することができる。なお、アプリユーザIDの送信タイミングは、このインストール通知情報に含ませずに他の情報に含ませるようにしてもよい。
ここで、このインストール通知部103がインストール通知情報を管理サーバ200に対して送信する処理は、送客元アプリ10のSDK11Aであっても、送客先アプリ20のSDK11Bであっても同様に、それぞれのアプリケーションがインストールされた場合に実行される。
リスト要求部104は、送客元アプリ10における所定の操作(第1の操作)に基づいて、複数の対象アプリケーションの少なくとも一の対象アプリケーション(或いは特定アプリケーション)のアプリケーションリストを要求するリスト要求通知情報を管理サーバ200に対して送信する。ここで、上述の所定の操作とは、送客元アプリ10において、対象アプリケーション(或いは特定アプリケーション)のアプリケーションリストを管理サーバ200から取得するための例えば入力部110に対するユーザの操作である。また、上述のリスト要求通知情報には、送客元アプリ10(対象アプリケーション(或いは特定アプリケーション))のアプリID(送客元情報)と、このユーザ端末100に対応するリワードユーザIDとが含まれる。
また、リスト要求部104は、送信したリスト要求通知情報に基づいて管理サーバ200から送信されたアプリケーションリストを取得する。
なお、リスト要求部104は、送客元アプリ10との間でキャンペーンが設定されている特定アプリケーションを含む対象アプリケーションのアプリケーションリストを要求するリスト要求通知情報を管理サーバ200に対して送信してもよいし、当該特定アプリケーションを含まない対象アプリケーションのアプリケーションリストを要求するリスト要求通知情報を管理サーバ200に対して送信してもよい。また、リスト要求部104は、送客元アプリ10との間でキャンペーンが設定されている特定アプリケーションのみのアプリケーションリストを要求するリスト要求通知情報を管理サーバ200に対して送信してもよい。
表示制御部105は、リスト要求部104が取得したアプリケーションリストを表示部120に表示させる。例えば、表示制御部105は、送客元アプリ10により表示部120に表示されていた表示画面に重ねたり切替えたりしてアプリケーションリストを表示させる。
送客情報通知部106は、送客元アプリ10から選択された対象アプリケーション(或いは特定アプリケーション)へ送客されたことを示す送客情報を管理サーバ200に対して送信する。ここで、送客元アプリ10から選択された対象アプリケーション(或いは特定アプリケーション)とは、表示部120に表示されたアプリケーションリストに含まれる一または複数の対象アプリケーション(或いは特定アプリケーション)からユーザの操作(第2の操作)に基づいて選択されたいずれかのアプリケーションのことをいう。
また、上述の送客情報には、送客元アプリ10のアプリID(送客元情報)、選択された対象アプリケーション(或いは特定アプリケーション)即ち送客先アプリ20のアプリID、及びこのユーザ端末100に対応するリワードユーザIDが含まれる。
例えば、キャンペーン期間に上述の第2の操作に基づいて、アプリケーションリストの中から当該キャンペーン期間中の特定アプリケーションが選択された場合には、送客情報通知部106は、送客元アプリ10のアプリID(送客元情報)、選択された特定アプリケーション)即ち送客先アプリ20のアプリID、及びこのユーザ端末100に対応するリワードユーザIDを含む送客情報を管理サーバ200に対して送信する。
報酬付与通知部107は、キャンペーン期間中の特定アプリケーションにおいて、キャンペーンに対応して予め設定された報酬付与条件が充足されたことに基づいて、当該報酬付与条件を充足したことを示す報酬付与通知情報を管理サーバ200に対して送信する。ここで、上述の報酬付与通知情報には、当該キャンペーン期間中の特定アプリケーション(送客先アプリ20)のアプリID(送客先情報)と、このユーザ端末100に対応するリワードユーザIDとが含まれる。
〔管理サーバ200の構成〕
次に、図6を参照して、管理サーバ200の構成の詳細について説明する。
図6は、本実施形態による管理サーバ200の構成の一例を示す構成図である。管理サーバ200は、図4を参照して説明したように、通信部210と、管理部220と、記憶部230と、制御部240とを備えており、ここでは、管理部220と、記憶部230と、制御部240とのそれぞれの構成について詳しく説明する。
管理部220は、アプリケーション管理部221と、インストール情報管理部222と、送客情報管理部223とを備えている。なお、管理部220は、管理する各情報を関連付けて記憶部230に記憶させて管理する。
アプリケーション管理部221は、相互送客システム500に対応する複数の対象アプリケーションに関する情報(対象アプリケーション情報)を管理する。また、アプリケーション管理部221は、複数の特定アプリケーションに対して設定されたキャンペーン期間(第1の期間の一例)を有するキャンペーンに関する情報を管理する。例えば、アプリケーション管理部221は、キャンペーンを示す情報(キャンペーンの名称等)とキャンペーンに関する情報(キャンペーン期間、報酬を示す情報の掲載場所のリンク先を示す情報等)とを関連付けて管理する。
インストール情報管理部222は、ユーザ端末100から取得したインストール通知情報に基づいて、インストール通知情報に含まれるリワードユーザIDと、インストールされた対象アプリケーションのアプリIDとを関連付けてインストール情報として管理する。
なお、インストール情報管理部222は、インストール通知情報に含まれるリワードユーザIDと、対象アプリケーションのアプリIDと、対象アプリケーションのアプリユーザIDとを関連付けてインストール情報として管理してもよい。
送客情報管理部223は、ユーザ端末100から送信されて管理サーバ200が取得した送客情報に含まれるリワードユーザID、送客元アプリ10のアプリID、及び送客先アプリ20のアプリIDを関連付けて送客情報の記録として管理する。
なお、送客情報管理部223は、送客元アプリ10と送客先アプリ20とにキャンペーンが設定されている場合、さらにキャンペーンを示す情報を関連付けた送客情報の記録として管理してもよい。
記憶部230は、管理部220または制御部240により管理される各種情報を記憶する。
記憶部230は、対象アプリ情報記憶部231と、通常リワード情報記憶部232と、アプリ間フィルタ記憶部233と、キャンペーン情報記憶部234と、キャンペーン参加アプリ情報記憶部235と、インストール情報記憶部236と、送客情報記憶部237と、リワード成立情報記憶部238とを備えている。なお、各種情報は、データベースのテーブル形式やJSON(JavaScript(登録商標)Object Notation)形式など、その情報の利用に適した形式で格納されていればよい。
対象アプリ情報記憶部231は、相互送客システム500に対応する対象アプリケーションに関する対象アプリケーション情報を記憶する。図7は、対象アプリ情報記憶部231に記憶される対象アプリケーション情報の一例を示す図である。対象アプリケーション情報には、対象アプリケーションのアプリID(ApID)と、通知先URL(NoticeURL)と、ストアURL(ApStoreURL)と、当該対象アプリケーションの名称を示すアプリ名称(ApNAME)と、当該対象アプリケーションに関する説明情報であるアプリ説明(ApDOC)と、当該対象アプリケーションを示すアイコン画像であるアプリアイコン画像(ApICO)と、アプリ価格(ApPRICE)とが関連付けられている。
通知先URL(NoticeURL)は、リワードの通知先のURL(Uniform Resource Locator)であって、例えば、当該対象アプリケーションに対応するアプリサーバ300のURLが設定される。ストアURL(ApStoreURL)は、当該対象アプリケーションをダウンロード可能な販売サイト(アプリストア400)のページのURLである。アプリ価格(ApPRICE)は、当該対象アプリケーションの販売価格である。これらの対象アプリケーション情報は、例えば、ユーザ端末100に表示される対象アプリケーションのアプリケーションリストLTで利用される。
なお、これらの対象アプリケーション情報は、例えば、アプリストア400からダウンロード可能になる前に予め設定されて対象アプリ情報記憶部231に記憶され、アプリケーション管理部221によって管理される。
通常リワード情報記憶部232は、対象アプリケーション毎の通常リワードに関する情報(通常リワード情報)を記憶する。図8は、通常リワード情報記憶部232に記憶される通常リワード情報の一例を示す図である。通常リワード情報には、対象アプリケーションで通常リワードとして付与されるアイテムを識別するアイテムID(ItemID)と、当該対象アプリケーションのアプリID(ApID)と、最低価格(min_price)と、当該アイテムの名称を示す報酬アイテム名称(ItemName)と、当該アイテムの報酬として付与される数を示す報酬アイテム数(ItemNum)とが関連付けられている。最低価格(min_price)には、通常リワードの対象となる対象アプリケーションの価格が設定される。これらの通常リワード情報は、例えば、ユーザ端末100に表示される対象アプリケーションのアプリケーションリストLTで利用される。
なお、これらの通常リワード情報は、例えば、対象アプリケーション情報が対象アプリ情報記憶部231に記憶される際に設定されて通常リワード情報記憶部232に記憶され、アプリケーション管理部221によって管理される。
アプリ間フィルタ記憶部233は、相互送客可能な対象アプリケーションを制限するためのアプリケーション間におけるフィルタ情報(アプリ間フィルタ情報)を記憶する。この相互送客可能な対象アプリケーションを制限する処理については、第2の実施形態において詳しく説明する。
キャンペーン情報記憶部234は、対象アプリケーションのうちのキャンペーンに参加する特定アプリケーションのキャンペーンに関する情報(キャンペーン情報)を記憶する。図9は、キャンペーン情報記憶部234に記憶されるキャンペーン情報の一例を示す図である。キャンペーン情報には、キャンペーンID(CpID)と、キャンペーン名(CpNAME)と、キャンペーン開始日時(CpStartDATE)と、キャンペーン終了日時(CpEndDATE)と、報酬付与開始日時(RewardStartDATE)と、報酬付与終了日時(RewardEndDATE)とが関連付けられている。
キャンペーンID(CpID)は、キャンペーンを識別する識別情報である。キャンペーン名(CpNAME)はキャンペーンの名前を示す。キャンペーン開始日時(CpStartDATE)及びキャンペーン終了日時(CpEndDATE)のそれぞれは、キャンペーン期間の開始日時及び終了日時をそれぞれ示している。ここで、キャンペーン開始日時とキャンペーン終了日時で規定されるキャンペーン期間に、送客先アプリ20がインストールされた場合に、CPリワード付与の資格が得られる。
また、CPリワードでは、例えば、複数の成果地点が設定され、キャンペーン期間中に送客先アプリ20の利用を開始したユーザが、いつまでに成果地点に到達すべきかを規定するのが、報酬付与開始日時(RewardStartDATE)と報酬付与終了日時(RewardEndDATE)で規定される報酬付与期間である。例えば、キャンペーン期間(第1の期間の一例)に対して、キャンペーン期間の開始又は途中から開始し、キャンペーン期間より後に終了する報酬付与期間(第2の期間の一例)が設定される。一例としては、キャンペーン開始日時と報酬付与開始日時は同日時が設定され、報酬付与終了日時はキャンペーン終了日時の一週間後に設定される。これらのキャンペーン情報は、キャンペーンの開始日時前に予め設定されてキャンペーン情報記憶部234に記憶され、アプリケーション管理部221によって管理される。また、これらのキャンペーン情報は、キャンペーンを実施する各特定アプリケーションに対応するアプリサーバ300と管理サーバ200とにおいて同様の情報が設定される。
なお、キャンペーン期間とは別に報酬付与期間が設定されない構成であってもよく、報酬付与期間がキャンペーン期間と同じ期間である構成であってもよい。
キャンペーン参加アプリ情報記憶部235は、キャンペーン情報記憶部234に設定されたキャンペーンに参加する特定アプリケーションを示す情報(キャンペーン参加アプリ情報)を記憶する。ここで、アプリケーション間の相互送客に対するキャンペーンであるため、一つのキャンペーンには、少なくとも2つのアプリケーションが設定されることになる。図10は、キャンペーン参加アプリ情報記憶部235に記憶されるキャンペーン参加アプリ情報の一例を示す図である。キャンペーン参加アプリ情報には、キャンペーンID(CpID)と、このキャンペーンIDのキャンペーンに参加する特定アプリケーションのアプリID(ApID)と、キャンペーンページURL(CpPageURL)とが関連付けられている。キャンペーンID(CpID)は、キャンペーン情報記憶部234に記憶されるキャンペーン情報に含まれるキャンペーンIDと対応する。
キャンペーンページURL(CpPageURL)は、キャンペーン期間にそのアプリケーションをインストールして利用すると付与されるCPリワードの報酬に関する情報が掲載されたページ(ウェブサイトのページ)を示す情報である。また、このページには、アプリケーションに関する情報(説明や価格)なども掲載される。例えば、送客元アプリ10(ゲームA)と送客先アプリ20(ゲームB)とにキャンペーンが設定されている場合、それぞれのアプリケーションに対応するアプリサーバ310(ゲームA)内のページとアプリサーバ320(ゲームB)内のページとのそれぞれのURLがキャンペーンページURLとして設定されてもよい。また、キャンペーン専用サイトが別に設けられ、送客元アプリ10(ゲームA)と送客先アプリ20(ゲームB)とのいずれに対しても当該キャンペーン専用サイトに対する同一のURLが設定されてもよい。また、このキャンペーン専用サイトが管理サーバ200内に設けられてもよい。
このように、CPリワードの報酬に関する情報は、アプリサーバ300またはキャンペーン専用サイトのページなどに掲載されるように設定されるため、管理サーバ200が管理する必要がない。
上述のキャンペーン参加アプリ情報は、対象アプリケーションが特定アプリケーションとしてキャンペーンに参加する際に設定されてキャンペーン参加アプリ情報記憶部235に記憶され、アプリケーション管理部221によって管理される。
なお、キャンペーン情報及びキャンペーン参加アプリ情報に含まれる情報は、上述したように管理サーバ200において管理されるとともに、キャンペーンに参加している特定アプリケーションに対応するアプリサーバ300においても同様に管理されている。また、当該キャンペーンに参加している特定アプリケーションをインストールしたユーザ端末100は、当該特定アプリケーションに対応するアプリサーバ300から、当該アプリケーションのキャンペーン情報及びキャンペーン参加アプリ情報に含まれる情報を取得することができる。
インストール情報記憶部236は、ユーザ端末100から送信されて管理サーバ200が取得したインストール通知情報に基づいてインストール情報管理部222が管理するインストール情報を記憶する。図11は、インストール情報記憶部236に記憶されるインストール情報の一例を示す図である。インストール情報には、取得したインストール通知情報に含まれるリワードユーザID(RewardUID)と、アプリID(ApID)と、アプリユーザID(ApUID)とが関連付けられている。
ここで、相互送客システム500による送客処理を介さず単に対象アプリケーションがインストールされた場合と、相互送客システム500による送客処理を介してインストールされた場合とのいずれでも、ユーザ端末100からインストール通知情報が送信され、管理サーバ200が取得したインストール通知情報に基づくインストール情報がインストール情報記憶部236に記憶される。即ち、インストール情報記憶部236には、ユーザ端末100にインストールされた全ての対象アプリケーションのインストール情報が記録される。よって、一旦インストールした対象アプリケーションをアンインストールした後に再びインストールしても、当該対象アプリケーションのインストール情報がインストール情報記憶部236に記憶されているので、管理サーバ200は、2重に報酬を付与することを防止できる。
送客情報記憶部237は、ユーザ端末100から送信されて管理サーバ200が取得した送客情報に基づいて送客情報管理部223が管理する送客情報を記憶(記録)する。図12は、送客情報記憶部237に記憶される送客情報の一例を示す図である。送客情報には、リワード管理ID(RewardID)と、リワードユーザID(RewardUID)と、送客元アプリID(ApIDfrom)と、送客先アプリID(ApIDto)と、キャンペーンID(CpID)とが関連付けられている。リワード管理ID(RewardID)は、送客情報毎に識別可能なように各送客情報を取得した順に発行される管理IDである。送客元アプリID(ApIDfrom)は、送客元アプリ10のアプリIDであり、送客先アプリID(ApIDto)は、送客先アプリ20のアプリIDである。このとき送客元アプリ10と送客先アプリ20とが、共に同じキャンペーンのキャンペーン期間中であれば、そのキャンペーンのキャンペーンIDが記憶され、キャンペーン期間でないときにはキャンペーンIDには「null」が設定される。
また、アプリケーションリストには、ユーザ端末100に既にインストールされている対象アプリケーションまたはインストールされていたことのある対象アプリケーション(その後アンインストールされている対象アプリケーション)は含まれないため、新規にインストールする対象アプリケーションへの送客情報が送客情報記憶部237に記憶されることになる。 なお、この送客情報記憶部237に送客情報が記憶された場合であっても、その送客情報の送客先アプリ20が必ずしもダウンロードされてインストールされるとは限らない。
リワード成立情報記憶部238は、送客情報記憶部237が記憶する送客情報が示す送客処理によって通常リワード及びCPリワードの報酬付与条件が成立した場合に、送客元アプリ10(ゲームA)に対応するアプリサーバ310(ゲームA)に対して報酬付与情報を通知したか否かを示すリワード成立情報を記憶する。
通常リワードの場合、このリワード成立情報は、例えば、送客情報記憶部237に記憶された送客情報の送客先アプリIDに対応する対象アプリケーションのインストール情報がインストール情報記憶部236に記憶されたときに、その送客情報に対応する新たなレコード(一つ分のリワード成立情報のデータ)が生成されてリワード成立情報記憶部238に記憶される。
また、CPリワードの場合、このリワード成立情報は、例えば、送客情報記憶部237に記憶された送客情報の送客先アプリIDに対応する報酬付与通知情報をユーザ端末100から取得したときに、その送客情報に対応する新たなレコードが生成されてリワード成立情報記憶部238に記憶される。
図13は、リワード成立情報記憶部238に記憶されるリワード成立情報の一例を示す図である。リワード成立情報は、リワード管理ID(RewardID)と、成果地点ID(RewardSpotID)と、成立状態(RewardStatus)とが関連付けられている。リワード管理ID(RewardID)は、送客情報記憶部237が記憶する送客情報に含まれるリワード管理IDと対応する。
成果地点ID(RewardSpotID)は、報酬付与条件に基づいて設定される送客先アプリ20において報酬が付与される成果地点の識別情報である。
CPリワードの場合、成果地点ID(RewardSpotID)には、キャンペーンに対応して予め設定された成果地点(送客先アプリ20における報酬付与条件)を示す識別情報が設定される。成果地点が複数ある場合には、同一のリワード管理IDに複数の成果地点IDのそれぞれが関連付けられた複数分のレコードが生成されてリワード成立情報記憶部238に記憶される。
通常リワードの場合、即ち、送客情報記憶部237に記憶された送客情報に含まれるキャンペーンIDに「null」が設定されている場合、成果地点(報酬付与条件)は、送客先アプリ20がインストールされたときとなり、成果地点IDには、「null」が設定される。
なお、CPリワードの場合であっても、送客先アプリ20がインストールされたことを条件とした識別情報が成果地点IDに設定されれば、通常リワードの場合と同様に成果地点(報酬付与条件)は、送客先アプリ20がインストールされたときとなる。
成立状態(RewardStatus)は、送客元アプリ10(ゲームA)に対応するアプリサーバ310(ゲームA)に対して報酬付与情報を通知したか否かの状態を示すフラグ情報が設定される。すなわち、送客情報記憶部237に記憶された送客情報に対応するリワード管理IDに関連付けられて新たなレコードが生成される際に、成立状態(RewardStatus)には初期値としてフラグ「0」(未通知)が設定される。その後、アプリサーバ310(ゲームA)に対する報酬付与情報の通知が完了した場合に、成立状態(RewardStatus)にはフラグ「1」(通知済)に更新される。なお、アプリサーバ310(ゲームA)からの報酬付与情報の通知に対する応答を取得した場合に、フラグ「1」(通知済)に更新されるようにしてもよい。
次に図6に戻り、制御部240の構成について説明する。
制御部240は、インストール通知取得部241と、リスト通知部242と、送客情報取得部243と、インストール誘導指示部244と、リワード処理部245と、計時部246とを備えている。
インストール通知取得部241は、複数の対象アプリケーションのうちリワードユーザIDにより特定されるユーザ端末100にインストールされた対象アプリケーションの当該インストールされたことを示すインストール通知情報を当該対象アプリケーション(当該対象アプリケーションのSDK11)から取得する。このインストール通知情報には、前述したように、このユーザ端末100に対応するリワードユーザIDと当該対象アプリケーションのアプリIDとが含まれている。また、このインストール通知情報には、さらに当該対象アプリケーションのアプリユーザIDが含まれてもよい。そして、インストール通知取得部241は、取得したインストール通知情報を、インストール情報管理部222に供給する。
リスト通知部242は、ユーザ端末100にインストールされている送客元アプリ10(送客元アプリ10のSDK11A)から送信されたリスト要求通知情報を取得すると、取得したリスト要求通知情報に基づいて、対象アプリ情報記憶部231とインストール情報記憶部236を参照して、ユーザ端末100からインストール通知情報を取得していない(即ち、ユーザ端末100にインストールされていない)少なくとも一の対象アプリケーション(或いは特定アプリケーション)のアプリケーションリストをユーザ端末100に対して送信する。
また、リスト通知部242は、キャンペーン情報記憶部234またはキャンペーン参加アプリ情報記憶部235を参照して、アプリケーションリストに含まれる一または複数の特定アプリケーションに対応したキャンペーンに関する情報を送信する。
このとき、リスト通知部242は、対象アプリケーションに関する情報(アプリ名称、説明、価格等)、通常リワードの報酬内容に関する情報、またはCPリワードのキャンペーンに関する情報(キャンペーン期間やキャンペーンに対応する報酬を示す情報の掲載場所のリンク先等)を含むアプリケーションリストがユーザ端末100において表示可能なアプリ一覧ページのデータを生成してユーザ端末100に対して送信する。例えば、リスト通知部242は、SDK11が実行可能なブラウザ機能により表示可能なHTML(HyperText Markup Language)形式で記述された当該アプリケーションリストが表示されるアプリ一覧ページのデータを生成し、生成したページのリンク先を示す情報をユーザ端末100に対して送信する。
送客情報取得部243は、送客元アプリ10から送客先アプリ20に対する送客情報であって、リワードユーザID、送客元アプリ10のアプリID、及び送客先アプリ20のアプリIDを含む送客情報をユーザ端末100から取得する。そして、送客情報取得部243は、取得した送客情報を送客情報管理部223に供給する。
インストール誘導指示部244は、送客情報取得部243が取得した送客情報に含まれる送客先アプリ20のアプリIDに基づいて送客先アプリ20をインストール可能な画面に誘導する指示情報をユーザ端末100に送信する。例えば、インストール誘導指示部244は、送客先アプリ20をインストール可能(ダウンロード可能)なストアサイトのストアページを表示するアプリケーションであるストア30を起動させる指示情報をユーザ端末100に送信する。
リワード処理部245は、CPリワードに関する第1の報酬付与処理(CPリワード処理)と、通常リワードに関する第2の報酬付与処理(通常リワード処理)とを実行する。
リワード処理部245は、インストール通知取得部241が送客先アプリ20に対応するインストール通知情報を取得した場合、送客元アプリ10から送客先アプリ20に対する送客情報が送客情報記憶部237に記憶されているか否かを判定する。そして、リワード処理部245は、この送客情報が送客情報記憶部237に記憶されている場合には(即ち、送客先アプリ20に対する送客情報の記録が送客情報管理部223において管理されていることを条件として)、送客先アプリ20が相互送客システム500により送客元アプリ10から送客された対象アプリケーションであると判定し、CPリワード処理または通常リワード処理を実行する。ここで、リワード処理部245は、このCPリワード処理または通常リワード処理において、送客元アプリ10においてユーザに報酬が付与されるように、送客元アプリ10に対応するアプリサーバ310に対して報酬付与情報を送信する。前述したように、相互送客システム500による送客処理を介さず単に対象アプリケーションがインストールされた場合でも、インストール通知情報は管理サーバ200に対して送信される。そのため、送客先アプリ20に対する送客情報の記録が送客情報管理部223において管理されていることを条件することで、単に送客先アプリ20がインストールされた場合にCPリワードまたは通常リワードを付与することを防止することが可能となる。
送客先アプリ20が送客元アプリ10との間でキャンペーンが設定されているとする。この場合には、リワード処理部245は、送客先アプリ20がキャンペーン期間内にインストールされたと判定され、且つ当該キャンペーンに対応して予め設定された報酬付与条件が充足されたことに基づいて送客先アプリ20から報酬付与通知情報を取得したときに、当該取得した報酬付与通知情報に基づくCPリワード処理を実行する。一方、ユーザ端末100で選択された送客先アプリ20が送客元アプリ10との間でキャンペーンが設定されていないとする。この場合には、リワード処理部245は、送客先アプリ20がインストールされたと判定されたときに、通常リワード処理を実行する。
ここで、送客先アプリ20が送客元アプリ10との間でキャンペーンが設定されている特定アプリケーションである場合には、リワード処理部245は、インストール通知取得部241において送客先アプリ20に対応するインストール通知情報を取得したタイミングがキャンペーン期間内である場合に、送客先アプリ20がキャンペーン期間内にユーザ端末100にインストールされたと判定する。なお、リワード処理部245は、送客先アプリ20が送客元アプリ10との間でキャンペーンが設定されていたとしても、送客先アプリ20がキャンペーン期間外にユーザ端末100にインストールされた場合には、CPリワード処理ではなく通常リワード処理を実行する。
通常リワード処理では、リワード処理部245は、インストール通知取得部241が、送客先アプリ20から取得したインストール通知情報に基づいて、取得したインストール通知情報に含まれるリワードユーザIDに関連付けられた送客元アプリ10のアプリユーザIDを、インストール情報記憶部236を参照して取得する。そして当該アプリユーザID含む報酬付与情報を、送客元アプリ10に対応するアプリサーバ310に送信する。
CPリワード処理では、リワード処理部245は、送客先アプリ20から取得した報酬付与通知情報に含まれるリワードユーザIDに関連付けられた送客元アプリ10のアプリユーザIDを、インストール情報記憶部236を参照して取得する。そして、取得した報酬付与通知情報に基づいて当該アプリユーザID含む報酬付与情報を、送客元アプリ10に対応するアプリサーバ310に送信する。また、リワード処理部245は、取得した報酬付与通知情報に含まれるキャンペーンIDや成果地点ID等を上述の報酬付与情報にさらに含めて送客元アプリ10に対応するアプリサーバ310に送信してもよい。
また、リワード処理部245は、通常リワードの場合、送客情報記憶部237に記憶された送客情報の送客先アプリIDに対応する対象アプリケーションのインストール情報がインストール情報記憶部236に記憶されたときに、その送客情報に対応するリワード成立情報の新たなレコードを生成してリワード成立情報記憶部238に記憶させる。このとき、リワード処理部245は、リワード成立情報に含まれる成立状態(RewardStatus)にフラグ「0」(未通知)を設定する。
一方、CPリワードの場合、リワード処理部245は、例えば、送客情報記憶部237に記憶された送客情報の送客先アプリIDに対応する報酬付与通知情報をユーザ端末100から取得したときに、その送客情報に対応するリワード成立情報の新たなレコードを生成してリワード成立情報記憶部238に記憶させる。このとき、リワード処理部245は、リワード成立情報に含まれる成立状態(RewardStatus)にフラグ「0」(未通知)を設定する。
例えば、CPリワードの場合、リワード処理部245は、送客情報記憶部237に記憶された送客情報の送客先アプリIDに対応する報酬付与通知情報を、その送客情報に対応するキャンペーン期間内にユーザ端末100から取得した場合に、その送客情報に対応するリワード成立情報の新たなレコードを生成してリワード成立情報記憶部238に記憶させる。なお、キャンペーンに報酬付与期間が設定されているときには、リワード処理部245は、送客情報記憶部237に記憶された送客情報の送客先アプリIDに対応する報酬付与通知情報を、その報酬付与期間内に送客先アプリ20から報酬付与通知情報を取得した場合に、その送客情報に対応するリワード成立情報の新たなレコードを生成してリワード成立情報記憶部238に記憶させてもよい。
そして、リワード処理部245は、通常リワード処理およびCPリワード処理のいずれにおいても、リワード成立情報に対応する報酬付与情報の通知をアプリサーバ310(ゲームA)に送信したことに応じて、そのリワード成立情報の成立状態(RewardStatus)をフラグ「1」(通知済)に更新する。
計時部246は、時刻を計時して現在日時を取得する。なお、計時部246は、現在日時データを提供する日時情報提供サーバ(不図示)からネットワークNWを介して現在日時を取得してもよい。例えば、リワード処理部245は、計時部246が計時した現在日時を示す情報に基づいて、現在日時がキャンペーン期間内であるか否か、または報酬付与期間内であるか否かなどを判定する。なお、記憶部230に記憶して管理される各種情報記憶部(231〜238)には、レコードが生成された日時を示すデータ登録日時と、生成されたレコードの一部を更新した日時を示すデータ更新日時を各レコードに記憶するようにしてもよい。例えば、インストール情報記憶部236で記憶するデータ登録日時には、計時部246が計時したユーザ端末100から取得したインストール情報を取得した日時が記録され、ユーザ端末100で当該インストール情報に対応したアプリケーションがインストールした日時を示すデータとなる。
〔相互送客処理の動作の詳細〕
次に、図14および図15を参照して、本実施形態による相互送客システム500の相互送客処理の動作の詳細について説明する。図14及び図15は、本実施形態による相互送客処理の動作の一例を示すフローチャートである。この図14及び図15に示す処理は、図4を参照して説明した概略処理の流れの詳細例を示すものである。
まず、図14を参照して、ユーザ端末100にインストールされている送客元アプリ10(ゲームA)側の処理について説明する。すなわち、図4に示す送客元アプリ10(ゲームA)がインストールされた後にSDK11Aが実行する処理((1)の処理)から、管理サーバ200が送客先アプリ20(ゲームB)をインストール可能な画面に誘導する指示情報をユーザ端末100に送信する処理((6)の処理)までの詳細例を説明する。
ユーザ端末100に送客元アプリ10(ゲームA)がインストールされた場合、送客元アプリ10(ゲームA)に組み込まれているSDK11Aの初期化処理部101は、初回起動時のみに実行する処理として、送客元アプリ10のアプリID(ApID)と、送客元アプリ10において登録されたユーザXのアプリユーザID(ApUID)と、キャンペーンが設定されている場合にはキャンペーンID(CpID)とを、送客元アプリ10(ゲームA)から取得する(ステップSA11)。
次に、SDK11Aの初期化処理部101は、SDK11Aの初期化処理を実行する。まず、初期化処理部101は、初期化処理において、初期化処理済みであるか否かを判定する(ステップSA12)。初期化処理済みであると判定された場合(ステップSA12:YES)、初期化処理部101は、その後の初期化処理を実行しないで終了し、ステップSA17に処理を進める。一方、初期化処理済みでないと判定された場合(ステップSA12:NO)、固有識別情報取得部102は、端末記憶部140を参照して、リワードユーザIDが取得済みであるか否かを判定する(ステップSA13)。このリワードユーザIDが取得済みであるか否かを判定は、ユーザ端末100にインストールされたいずれの対象アプリケーションからも参照可能なように端末記憶部140のアプリ間共有エリアにリワードユーザIDが記憶されているか否かで判定される。
リワードユーザIDが取得済みであると判定された場合(ステップSA13:YES)、SDK11Aの固有識別情報取得部102は、端末記憶部140からリワードユーザIDを読み出し、ステップSA15に処理を進める。
一方、リワードユーザIDが取得済みでないと判定された場合(ステップSA13:NO)、固有識別情報取得部102は、ユーザ端末100に対応するリワードユーザID(相互送客システム500においてユニークなID)を生成して取得する(ステップSA14)。
次に、固有識別情報取得部102は、取得したリワードユーザIDを、端末記憶部140のアプリ間共有エリアに記憶させる(ステップSA15)。
続いて、SDK11Aのインストール通知部103は、送客元アプリ10(ゲームA)がユーザ端末100のインストールされたことを示すインストール通知情報を、管理サーバ200に対して送信する(REQ11、ステップSA16)。ここでインストール通知情報には、このユーザ端末100に対応するリワードユーザID(RewardUID)と、インストールされた送客元アプリ10(ゲームA)のアプリID(ApID)と、この送客元アプリ10(ゲームA)において登録されたユーザXのアプリユーザID(ApUID)とが含まれる。
次に、管理サーバ200のインストール通知取得部241は、ユーザ端末100(SDK11A)から送信されたインストール通知情報を取得する。そして、インストール通知取得部241は、インストール通知情報を取得したことを示す応答情報(通知結果)を、当該ユーザ端末100(SDK11A)に対して送信する(RES11)。また、管理サーバ200のインストール情報管理部222は、インストール通知取得部241が取得したインストール通知情報に含まれるリワードユーザID(RewardUID)と、送客元アプリ10(ゲームA)のアプリID(ApID)と、送客元アプリ10(ゲームA)におけるユーザXのアプリユーザID(ApUID)とを関連付けて、インストール情報としてインストール情報記憶部236に記憶させる(ステップSE11)。
SDK11Aの初期化処理部101は、管理サーバ200から送信された応答情報(通知結果)を取得すると、初期化済みを示すフラグを設定して初期化処理を終了する(ステップSA17)。
次に、ユーザ端末100において動作している送客元アプリ10(ゲームA)に対してユーザXが、ユーザ端末100にインストール可能な対象アプリケーションの一覧を取得するための入力部110に対する所定の操作(第1の操作)を行ったとする。
この送客元アプリ10における所定の操作(第1の操作)に基づいて、SDK11Aのリスト要求部104は、端末記憶部140のアプリ間共有エリアからリワードユーザIDを読み出すとともに(ステップSA23)、複数の対象アプリケーションの少なくとも一の対象アプリケーションのアプリケーションリスト(送客先アプリ20の候補となる対象アプリケーションの一覧)を要求するリスト要求通知情報を管理サーバ200に対して送信する(REQ12、ステップSA24)。
ここでリスト要求通知情報には、このユーザ端末100に対応するリワードユーザID(RewardUID)と、送客元アプリ10(ゲームA)のアプリID(ApID)と、キャンペーンID(CpID)とが含まれる。なお、送客元アプリ10(ゲームA)にキャンペーンが設定されていない場合にはキャンペーンID(CpID)には「null」が設定される。また、リスト要求通知情報にキャンペーンID(CpID)を含めなくても、キャンペーン参加アプリ情報記憶部235とキャンペーン情報記憶部234とを参照して、送客元アプリ10(ゲームA)のアプリID(ApID)に基づいて、送客元アプリ10(ゲームA)がキャンペーンを実施しているか否か、及びキャンペーンを実施している場合には対応するキャンペーンID(CpID)を管理サーバ200内で取得することも可能である。
管理サーバ200のリスト通知部242は、ユーザ端末100(送客元アプリ10のSDK11A)から送信されたリスト要求通知情報を取得すると、取得したリスト要求通知情報に基づいて、ユーザ端末100からインストール通知情報を取得していない(即ち、ユーザ端末100にインストールされていない)少なくとも一の対象アプリケーションを抽出する。具体的には、リスト通知部242は、インストール情報記憶部236に記憶されているインストール情報において、取得したリスト要求通知情報に含まれるリワードユーザID(RewardUID)に関連付けられているアプリIDを、対象アプリ情報記憶部231に管理されている対象アプリケーションのアプリIDから除くことにより(フィルタリング)、ユーザ端末100にインストールされていない少なくとも一の対象アプリケーションを抽出する(ステップSE15)。なお、リスト通知部242は、リスト要求通知情報に含まれる送客元アプリ10(ゲームA)のアプリID(ApID)と、キャンペーンID(CpID)とに基づいて、ユーザ端末100にインストールされていない対象アプリケーションの中から、さらに送客元アプリ10(ゲームA)との間でキャンペーンが設定されている特定アプリケーションのみを抽出してもよい。なお、ユーザ端末100にインストールされていない対象アプリケーション(特定アプリケーション)が存在せずに抽出できない場合があり得る。
なお、このリスト要求通知に応じてリスト通知部242がユーザ端末100に対して送信するアプリケーションリストに含める対象アプリケーションをフィルタリングするフィルタ処理はアプリ間フィルタ記憶部233に記憶されている条件(フィルタ情報)に基づいて行うこともできる。このフィルタ処理については、第2の実施形態で説明する。
次に、リスト通知部242は、抽出した対象アプリケーションのアプリケーションリストがユーザ端末100において表示可能なアプリ一覧ページのデータを生成し(ステップSE16)、生成したアプリ一覧ページのリンク先を示す情報を含むリダイレクト指示情報をユーザ端末100に対して送信し、アプリ一覧ページにリダイレクトさせる(RES12、ステップSE17)。なお、ユーザ端末100にインストールされていない対象アプリケーション(特定アプリケーション)が存在しなかった場合には、アプリケーションリストの替わりに対象アプリケーション(特定アプリケーション)が存在しない旨を記載したアプリ一覧ページを生成する。
ユーザ端末100(SDK11A)が、管理サーバ200からアプリ一覧ページのリンク先を示す情報を含むリダイレクト指示情報を取得すると、SDK11Aの表示制御部105は、ブラウザ機能によりアプリ一覧ページを表示部120に表示させる(ステップSA25)。
ここで、表示制御部105は、それまで表示部120に表示させていた送客元アプリ10(ゲームA)の表示画面にオーバーラップさせて、このアプリ一覧ページを表示させる。これにより、ユーザ端末100の表示部120には、送客先アプリ20として選択可能な対象アプリケーションのアプリケーションリストLTがアプリ一覧ページに表示される。
ユーザ端末100の表示部120に表示されたアプリケーションリストLTの中からいずれかの対象アプリケーションがユーザXにより選択されると、SDK11Aの送客情報通知部106は、送客元アプリ10(ゲームA)から、選択された対象アプリケーション(ここでは、送客先アプリ20(ゲームB))へ送客されたことを示す送客情報を管理サーバ200に対して送信する(REQ13、ステップSA26)。ここで、送客情報には、送客元アプリ10(ゲームA)のアプリID(ApID)と、送客先アプリ20(ゲームB)のアプリID(ApID)と、リワードユーザID(RewardUID)と、キャンペーンID(CpID)とが含まれる。なお、送客元アプリ10(ゲームA)と送客先アプリ20(ゲームB)とにキャンペーンが設定されていない場合にはキャンペーンID(CpID)には「null」が設定される。なお、キャンペーンID(CpID)をユーザ端末100から取得せずに、送客元アプリ10(ゲームA)のアプリID(ApID)に基づいて、管理サーバ200内で取得することも可能である。
なお、SDK11Aの表示制御部105は、送客先アプリ20(ゲームB)が選択されると、ステップSA25において表示部120に表示されたアプリ一覧ページを閉じて、送客元アプリ10(ゲームA)の表示画面に戻す。
管理サーバ200の送客情報取得部243は、ユーザ端末100(SDK11A)から送客情報を取得する。そして、送客情報管理部223は、送客情報取得部243が取得した送客情報に含まれる送客元アプリ10(ゲームA)のアプリID(ApID)と、送客先アプリ20(ゲームB)のアプリID(ApID)と、リワードユーザID(RewardUID)と、キャンペーンID(CpID)とを関連付けて送客情報の記録として送客情報記憶部237に記憶させる(ステップSE18)。
続いて、管理サーバ200のインストール誘導指示部244は、送客情報取得部243が取得した送客情報に含まれる送客先アプリ20(ゲームB)のアプリIDに基づいて送客先アプリ20をインストール可能な画面に誘導する指示情報をユーザ端末100に送信する。例えば、インストール誘導指示部244は、送客先アプリ20(ゲームB)をインストール可能(ダウンロード可能)なストアサイトのストアページを表示するアプリケーションであるストア30を起動させる指示情報をユーザ端末100に送信する(ステップSE19)。
ユーザ端末100は、管理サーバ200からストア30を起動させる指示情報を取得すると、ストア30を起動して、送客先アプリ20(ゲームB)をインストール可能(ダウンロード可能)なストアサイトのストアページを表示部120に表示させる(ステップSC11)。ここで、ユーザ端末100は、それまで表示部120に表示させていた送客元アプリ10(ゲームA)の表示画面にオーバーラップさせて、このストアページを表示部120に表示させる。
このストア30に表示されたストページから、ユーザXの操作により送客先アプリ20(ゲームB)がユーザ端末100にダウンロードされてインストールされた後、引き続きユーザXの操作によりインストールされた送客先アプリ20(ゲームB)が起動する。
次に図15を参照して、ユーザ端末100にインストールされた送客先アプリ20(ゲームB)が起動した後の処理について説明する。すなわち、図4に示す送客先アプリ20(ゲームB)がインストールされた後にSDK11Bが実行する処理((8)の処理)から、管理サーバ200が送客元アプリ10(ゲームA)に対応するアプリサーバ310(ゲームA)に対して報酬付与情報を送信する処理((11)の処理)までの詳細例を説明する。なお、ユーザ端末100に送客先アプリ20(ゲームB)がインストールされた場合には、図14を参照して説明した、送客元アプリ10(ゲームA)がインストールされた場合の初回起動時の処理と初期化処理と同様の処理が行なわれる。
まず、送客先アプリ20(ゲームB)に組み込まれているSDK11Bの初期化処理部101は、初回起動時のみに実行する処理として、送客先アプリ20のアプリID(ApID)と、送客先アプリ20において登録されたユーザXのアプリユーザID(ApUID)と、キャンペーンが設定されている場合にはキャンペーンID(CpID)とを、送客先アプリ20(ゲームB)から取得する(ステップSB11)。
次に、SDK11Bの初期化処理部101は、SDK11Bの初期化処理を実行する。初期化処理部101は、初期化処理済みであるか否かを判定し(ステップSB12)、初期化処理済みであると判定された場合(ステップSB12:YES)には初期化処理を終了し、初期化処理済みでないと判定された場合(ステップSB12:NO)には、SDK11Bの固有識別情報取得部102の処理に進む。ここで、このユーザ端末100のリワードユーザIDは、既に取得済みであるため、続けてステップSB16のインストール通知の処理に進む。
SDK11Bのインストール通知部103は、送客先アプリ20(ゲームB)がユーザ端末100にインストールされたことを示すインストール通知情報を、管理サーバ200に対して送信する(REQ14、ステップSB16)。ここでインストール通知情報には、このユーザ端末100に対応するリワードユーザID(RewardUID)と、インストールされた送客先アプリ20(ゲームB)のアプリID(ApID)と、この送客先アプリ20(ゲームB)において登録されたユーザXのアプリユーザID(ApUID)とが含まれる。
次に、管理サーバ200のインストール通知取得部241は、ステップSE11の処理と同様に、ユーザ端末100(SDK11B)から送信されたインストール通知情報を取得する。そして、インストール通知取得部241は、インストール通知情報を取得したことを示す応答情報(通知結果)を、当該ユーザ端末100(SDK11B)に対して送信する(RES14)。また、管理サーバ200のインストール情報管理部222は、インストール通知取得部241が取得したインストール通知情報に含まれるリワードユーザID(RewardUID)と、送客先アプリ20(ゲームB)のアプリID(ApID)と送客先アプリ20(ゲームB)におけるユーザXのアプリユーザID(ApUID)とを関連付けて、インストール情報としてインストール情報記憶部236に記憶させる(ステップSE21)。
ユーザ端末100(SDK11B)は、管理サーバ200から応答情報(通知結果)を取得すると、ステップSA22の処理同様に、初期化済みを示すフラグを設定して初期化処理を終了する(ステップSB17)。
次に、インストール通知取得部241が送客先アプリ20に対応するインストール通知情報を取得したことにより、リワード処理部245は、送客元アプリ10(ゲームA)から送客先アプリ20(ゲームB)に対する送客情報が送客情報記憶部237に記憶されているか否かを判定する。そして、リワード処理部245は、この送客情報が送客情報記憶部237に記憶されている場合には(即ち、送客先アプリ20に対する送客情報の記録が送客情報管理部223において管理されていることを条件として)、送客先アプリ20が相互送客システム500により送客元アプリ10から送客された対象アプリケーションであると判定し、CPリワード処理または通常リワード処理を実行する。ここでは、ステップSE18の処理において、送客情報記憶部237に記憶された送客情報の記録により、送客先アプリ20が相互送客システム500により送客元アプリ10から送客された対象アプリケーションであると判定される。
続いて、リワード処理部245は、インストール通知取得部241において送客先アプリ20(ゲームB)に対応するインストール通知情報を取得したタイミングがキャンペーン期間内であるか否かを判定する(ステップSE22)。
例えば、送客先アプリ20(ゲームB)が送客元アプリ10(ゲームA)との間でキャンペーンが設定されている特定アプリケーションである場合には、リワード処理部245は、キャンペーン情報記憶部234を参照して、インストール通知情報を取得したタイミング(インストール通知情報を取得したときの計時部246が計時した日時)が、当該キャンペーンのキャンペーン期間内であるか否かを判定する。
このステップSE22において、インストール通知情報を取得したタイミングがキャンペーン期間内であると判定された場合(ステップSE22:YES)、リワード処理部245は、ユーザ端末100の送客先アプリ20のSDK11Bからから報酬付与通知情報を取得したことに基づいてCPリワード処理を実行する。
一方、このステップSE22において、インストール通知情報を取得したタイミングがキャンペーン期間内でないと判定された場合(ステップSE22:NO)、リワード処理部245は、通常リワード処理を実行する。なお、送客先アプリ20(ゲームB)が送客元アプリ10(ゲームA)との間でキャンペーンが設定されていない対象アプリケーションである場合にも、このステップSE22において、インストール通知情報を取得したタイミングがキャンペーン期間内でないと判定され(ステップSE22:NO)、リワード処理部245は、通常リワード処理を実行する。
まず、通常リワード処理の動作について説明する。ステップSE22において、インストール通知情報を取得したタイミングがキャンペーン期間内でないと判定された場合(ステップSE22:NO)、リワード処理部245は、インストール通知取得部241が送客先アプリ20からのインストール通知情報を取得し、且つ、送客先アプリ20に対する送客情報の記録が送客情報管理部223において管理されていることに基づいて、当該送客情報に記憶されたリワード管理IDに関連付けて、成果地点ID(RewardSpotID)を「null」とし、成立状態(RewardStatus)をフラグ「0」(未通知)とするリワード成立情報を生成し、リワード成立情報記憶部238に記憶させる(ステップSE23)。
次に、リワード処理部245は、生成したリワード成立情報に関連付けられたリワード管理IDに対応した送客情報を、送客情報管理部223を参照して取得する。そして、リワード処理部245は、その送客情報に含まれる送客元アプリ10(ゲームA)に対応するアプリサーバ310(ゲームA)に対して、送客元アプリ10(ゲームA)のアプリユーザID(ApUID)を含む報酬付与情報(通常リワード成立を示す情報)を送信する(ステップSE24)。なお、送信先となるアプリサーバ310(ゲームA)は、対象アプリ情報記憶部231に記憶されたアプリサーバ310(ゲームA)に対応する通知先URL(NoticeURL)で示される。
次に、リワード処理部245は、送信した報酬付与情報に対応したリワード成立情報の成立状態(RewardStatus)をフラグ「1」(通知済み)として更新する。
アプリサーバ310(ゲームA)は、管理サーバ200から通常リワードによる報酬付与情報(通常リワード成立を示す情報)を受信すると(ステップSF21)、当該報酬付与情報に含まれるアプリユーザID(ユーザXのアプリユーザID)に対して、予め設定された通常リワードの報酬を付与する(ステップSF22)。
次に、CPリワード処理の動作について説明する。ステップSE22において、インストール通知情報を取得したタイミングがキャンペーン期間内であると判定された場合(ステップSE22:YES)、リワード処理部245は、ユーザ端末100の送客先アプリ20のSDK11Bから報酬付与通知情報を取得したことに基づいてCPリワード処理を実行する。
ユーザ端末100においては、送客先アプリ20(ゲームB)をユーザXがプレイしてゲームを進行させる(ステップSD11)。そして、送客先アプリ20(ゲームB)は、キャンペーンに対応して予め設定された報酬付与条件を充足したか否か(CPリワードの成果地点に到達したか否か)を判定する(ステップSD12)。なお、このステップSD11及びステップSD12の処理は、SDK11Bが実行する処理ではなく送客先アプリ20(ゲームB)が実行する処理である。
送客先アプリ20(ゲームB)のゲームの進行に応じて、キャンペーンに対応して予め設定された報酬付与条件を充足した(CPリワードの成果地点に到達した)と判定されたとする(ステップSD12:YES)。
この場合、送客先アプリ20(ゲームB)は、到達した成果地点に対応した成果地点ID(RewardSpotID)をSDK11Bに通知する。通知を受けたSDK11Bの報酬付与通知部107は、端末記憶部140のアプリ間共有エリアからリワードユーザIDを読み出し(ステップSB31)、読み出したリワードユーザID(RewardUID)、送客先アプリ20(ゲームB)のアプリID(ApID)、キャンペーンID(CpID)、及び送客先アプリ20(ゲームB)から取得した成果地点ID(RewardSpotID)を含む報酬付与通知情報(成果地点到達通知)を管理サーバ200に対して送信する(REQ15、ステップSB32)。なお、成果地点が複数ある場合には、ステップSD11、SD12の処理に戻り、成果地点に到達する毎に、送客先アプリ20(ゲームB)は到達した成果地点に対応した成果地点ID(RewardSpotID)をSDK11Bに通知する。そして、SDK11Bの報酬付与通知部107は、報酬付与通知情報(成果地点到達通知)を管理サーバ200に対して送信する。
管理サーバ200のリワード処理部245は、ユーザ端末100(SDK11B)から送信された報酬付与通知情報(成果地点到達通知)を取得し、且つ、送客先アプリ20に対する送客情報の記録が送客情報管理部223において管理されていることに基づいて、当該送客情報に対応したリワード管理IDに関連付けて、取得した報酬付与通知情報に含まれる成果地点ID(RewardSpotID)を設定し、成立状態(RewardStatus)をフラグ「0」(未通知)とするリワード成立情報を生成し、リワード成立情報記憶部238に記憶させる(ステップSE25)。
次に、リワード処理部245は、生成したリワード成立情報に関連付けられたリワード管理IDに対応した送客情報を、送客情報管理部223を参照して取得する。そして、その送客情報に含まれる送客元アプリ10(ゲームA)に対応するアプリサーバ310(ゲームA)に対して、送客元アプリ10(ゲームA)のアプリユーザID(ApUID)、キャンペーンID(CpID)、及び成果地点ID(RewardSpotID)を含む報酬付与情報(CPリワード成立を示す情報)を送信する(ステップSE26)。
次に、リワード処理部245は、送信した報酬付与情報に対応したリワード成立情報の成立状態(RewardStatus)をフラグ「1」(通知済)として更新する。
なお、成果地点が複数ある場合には、リワード処理部245は、報酬付与通知情報(成果地点到達通知)を取得する毎に、送客情報管理部223に記録された送客情報に対応したリワード管理IDに関連付けて、成立状態(RewardStatus)のフラグ「0」(未通知)とするリワード成立情報を生成し、リワード成立情報記憶部238に記憶させる。そして、リワード処理部245は、それぞれの報酬付与通知情報(成果地点到達通知)に基づく報酬付与情報(CPリワード成立を示す情報)を、送客元アプリ10(ゲームA)に対応するアプリサーバ310(ゲームA)に送信する。そして、送信した報酬付与情報に対応したリワード成立情報の成立状態(RewardStatus)をフラグ「1」(通知済み)として更新する。
アプリサーバ310(ゲームA)は、管理サーバ200からCPリワードによる報酬付与情報(CPリワード成立を示す情報)を受信すると(ステップSF31)、当該報酬付与情報に含まれるアプリユーザID(ユーザXのアプリユーザID)に対して、キャンペーンに対応して予め設定されたCPリワードの報酬を付与する(ステップSF32)。
〔第1の実施形態のまとめ〕
(1)以上説明してきたように、本実施形態の相互送客システム500において、管理サーバ200(管理装置の一例)は、アプリケーション管理部221と、インストール通知取得部241と、リスト通知部242と、リワード処理部245と、を備えている。
アプリケーション管理部221は、管理の対象となる複数の対象アプリケーション(本システムに対応するアプリケーション)のうちの複数の特定アプリケーションに対して設定されたキャンペーン期間(第1の期間の一例)を有するキャンペーン(イベントの一例)を管理する。インストール通知取得部241は、複数の対象アプリケーションのうちリワードユーザID(固有識別情報の一例)で特定されるユーザ端末100(端末装置の一例)にインストールされた対象アプリケーションの当該インストールされたことを示すインストール通知情報を当該対象アプリケーションから取得する。リスト通知部242は、複数の対象アプリケーションのうちユーザ端末100にインストールされている対象アプリケーション(第1アプリケーションの一例、送客元アプリ10)からの要求に基づいて、ユーザ端末100からインストール通知情報を取得していない少なくとも一の対象アプリケーションのアプリケーションリストをユーザ端末100に対して送信する。
ここで、リスト通知部242が通知したアプリケーションリストに含まれる一または複数の対象アプリケーションからユーザ端末100で選択された対象アプリケーション(第2アプリケーションの一例、送客先アプリ20)が送客元アプリ10(第1アプリケーションの一例)との間でキャンペーンが設定されているとする。この場合には、リワード処理部245は、送客先アプリ20(第2アプリケーションの一例)がキャンペーン期間内にインストールされたと判定され、且つ当該キャンペーンに対応して予め設定された報酬付与条件が充足されたことに基づいて送客先アプリ20から当該報酬付与条件が充足されたことを示す報酬付与通知情報を取得したときに、当該取得した報酬付与通知情報に基づくCPリワード処理(第1の報酬付与処理の一例)を実行する。
一方、ユーザ端末100で選択された送客先アプリ20が送客元アプリ10との間でキャンペーンが設定されていないとする。この場合には、リワード処理部245は、送客先アプリ20がインストールされたと判定されたときに、通常リワード処理(第2の報酬付与処理の一例)を実行する。
なお、管理サーバ200のリスト通知部242は、複数の特定アプリケーションのうちユーザ端末100にインストールされている特定アプリケーション(第1アプリケーションの一例、送客元アプリ10)からの要求に基づいて、ユーザ端末100からインストール通知情報を取得していない少なくとも一の対象アプリケーションのアプリケーションリストをユーザ端末100に対して送信してもよい。
そして、リワード処理部245は、アプリケーションリストに含まれる一または複数の特定アプリケーションからユーザ端末100で選択された特定アプリケーション(第2アプリケーションの一例、送客先アプリ20)がキャンペーン期間内にインストールされたと判定され、且つ当該キャンペーンに対応して予め設定された報酬付与条件が充足されたことに基づいて、送客先アプリ20から当該報酬付与条件が充足されたことを示す報酬付与通知情報を取得した場合に、当該取得した報酬付与通知情報に基づくCPリワード処理を実行してもよい。
これにより、送客元アプリ10が特定アプリケーションである場合には、管理サーバ200は、この送客元アプリ10との間でキャンペーンが設定されている特定アプリケーションを少なくとも含むアプリケーションリストをユーザ端末100に対して送信することができる。なお、管理サーバ200は、送客元アプリ10との間でキャンペーンが設定されている特定アプリケーションのみのアプリケーションリストをユーザ端末100に対して送信してもよい。そして、管理サーバ200は、互いにキャンペーンが設定された送客元アプリ10から送客先アプリ20に対する送客が成立した場合にCPリワード処理する。このCPリワード処理では、通常リワード処理と異なり、キャンペーンに対応して予め設定された報酬付与条件が充足されたことに基づいて報酬が付与されることになるため、単に送客先アプリ20がインストールされただけではなく、送客先アプリ20の利用を条件に報酬を付与することができる。
つまり、本実施形態の相互送客システム500は、管理の対象となる複数の対象アプリケーションがCPリワード処理だけを実行するものでもよいし、管理の対象となる複数の対象アプリケーションがCPリワード処理と通常リワード処理の両方を実行するものでもよい。CPリワード処理だけを実行する相互送客システム500であれば、リスト通知部242がユーザ端末100に対して送信するアプリケーションリストに含まれるのは一または複数の特定アプリケーションである。一方、CPリワード処理と通常リワード処理の両方を実行する相互送客システム500であれば、リスト通知部242がユーザ端末100に対して送信するアプリケーションリストに含まれるのは一または複数の対象アプリケーションである。当該対象アプリケーションには特定アプリケーションも含まれる。
なお、相互送客システム500では、一度インストールされた対象アプリケーションがアンインストールされた後に、再びインストールされた場合には、管理サーバ200に当該対象アプリケーションの最初にインストールされたときのインストール情報が管理されていることによりインストールされたことがあることを特定することができる。そのため、本システムでは、この対象アプリケーションが再びインストールされた場合に、通常リワード処理またはCPリワード処理の対象とならないようにすることができる。
(2)本実施形態の相互送客システム500において、ユーザ端末100は、上述の管理サーバ200と通信可能な端末装置である。ここで、上述の管理サーバ200は、管理の対象となる複数の対象アプリケーションに含まれる複数の特定アプリケーションに対して設定されたキャンペーン期間(第1の期間の一例)を有するキャンペーン(イベントの一例)を管理する。また、管理サーバ200は、リワードユーザID(固有識別情報の一例)で特定されるユーザ端末100からキャンペーン期間に通知される、一の特定アプリケーションから他の特定アプリケーションに対する送客情報であって、当該一の特定アプリケーションを示す送客元情報、当該他の特定アプリケーションを示す送客先情報、及びユーザ端末100に対応するリワードユーザID(固有識別情報の一例)を関連付けた送客情報を管理する。また、管理サーバ200は、管理されている送客先情報に基づいた送客先情報に対応するアプリケーションがインストールされ、且つイベントに対応して予め設定された報酬付与条件が充足されたことに基づいて所定の報酬付与通知情報を受信した場合に送客元情報に対応するアプリケーションに対してキャンペーンに対応する報酬付与情報を送信する。
ユーザ端末100は、インストール通知部103と、リスト要求部104と、送客情報通知部106とを備えている。
インストール通知部103は、ユーザ端末100(端末装置の一例)にインストールされた特定アプリケーションの当該インストールされたことを示すインストール通知情報であって、当該特定アプリケーションのアプリID(識別情報の一例)と、ユーザ端末100のリワードユーザIDとを含むインストール通知情報を管理サーバ200に対して送信する。リスト要求部104は、第1の操作に基づいて、複数の特定アプリケーションの少なくとも一の特定アプリケーションのアプリケーションリストを要求するリスト要求通知情報であって、動作している特定アプリケーション(送客元アプリ10の一例)のアプリIDを示す送客元情報と、ユーザ端末100に対応するリワードユーザIDとを含むリスト要求通知情報を管理サーバ200に対して送信する。送客情報通知部106は、キャンペーン期間に第2の操作に基づいて、動作している特定アプリケーション(送客元アプリ10の一例)のアプリIDを示す送客元情報、当該特定アプリケーションで選択された特定アプリケーション(送客先アプリ20の一例)のアプリIDを示す送客先情報、及びユーザ端末100に対応するリワードユーザIDを含む送客情報を管理サーバ200に対して送信する。
また、本実施形態のユーザ端末100は、報酬付与通知部107を備えている。例えば、上述したように、報酬付与通知部107は、キャンペーンに対応して予め設定された報酬付与条件が充足されたことに基づいて、当該報酬付与条件を充足した特定アプリケーションのアプリIDを示す送客先情報と、ユーザ端末100に対応するリワードユーザIDとを含む報酬付与通知情報を、管理サーバ200に対して送信する。なお、ユーザ端末100は、報酬付与通知部107を備えていない構成としてもよい、その場合、アプリサーバ300が、キャンペーンに対応して予め設定された報酬付与条件が充足されたことに基づいて、報酬付与通知情報を管理サーバ200に対して送信してもよい。このアプリサーバ300が報酬付与通知情報を管理サーバ200に対して送信する場合の処理については、後述の変形例の(3)にて説明する。
このように、本実施形態の相互送客システム500では、相互送客システム500に対応する対象アプリケーションに含まれる複数の特定アプリケーションに設定されたキャンペーンを管理する管理サーバ200と、この管理サーバ200と通信可能なユーザ端末100とにより、ユーザ端末100において、一の特定アプリケーション(送客元アプリ10の一例)から他の特定アプリケーション(送客先アプリ20の一例)がインストールされるように、他の特定アプリケーション(送客先アプリ20の一例)に対する送客を行うことができる。また、相互送客システム500では、ユーザ端末100を一意に識別可能なリワードユーザIDを用いることにより、一つのユーザ端末100にインストールされた複数のアプリケーションにおいて登録されたユーザ情報(アプリユーザIDの一例)が異なる場合であっても、アプリケーション間の相互送客処理やリワード処理を容易に行うことができる。さらに、相互送客システム500では、送客が成立した際に、通常リワードまたはCPリワードにより報酬が付与されるため、報酬を得たいユーザにとって新なアプリケーションを購入する動機付けとなる。これにより、アプリケーションの販売の促進に繋げることが可能となる。
したがって、本実施形態によれば、アプリケーション間の相互送客の利便性を向上させることができる。
(3)上述のインストール通知部103の機能と、リスト要求部104の機能と、送客情報通知部106の機能と、報酬付与通知部107の機能とが、複数の対象アプリケーションのそれぞれに組み込まれたSDK11(ソフトウェア)に基づいて実行される。例えば、送客元アプリ10に組み込まれたSDK11Aが、インストール通知部103の機能と、リスト要求部104の機能と、送客情報通知部106の機能とを実行し、送客先アプリ20に組み込まれたSDK11Bが、インストール通知部103の機能と、報酬付与通知部107の機能とを実行する。なお、SDK11AとSDK11Bとはそれぞれ同様の機能を有しており、送客元アプリ10に組み込まれているか、または送客先アプリ20に組み込まれているかに応じて対応する機能を実行する。
これにより、アプリケーションにSDK11を組み込むことにより、本実施形態の相互送客システム500に対応した対象アプリケーションとすることができる。よって、例えば、既存のアプリケーションやこれから開発するアプリケーションにおいても、SDK11を組み込み可能なようにアプリケーションのプログラムを更新または小変更すれば、当該アプリケーションを相互送客システム500に対応した対象アプリケーションとすることができる。
(4)管理サーバ200のリワード処理部245は、アプリケーションリストに含まれる一または複数の対象アプリケーションからユーザ端末100で選択された送客先アプリ20(第2アプリケーションの一例)が送客元アプリ10(第1アプリケーションの一例)との間でキャンペーン期間(第1の期間の一例)を有するキャンペーン(イベントの一例)が設定されている場合であっても、当該送客先アプリ20がキャンペーン期間外にインストールされたと判定されたときは、通常リワード処理(第2の報酬付与処理の一例)を実行する。
これによれば、送客先アプリ20が、送客元アプリ10との間でキャンペーンが設定されていても、当該キャンペーンのキャンペーン期間外にインストールされた場合には、通常リワードとすることができる。即ち、送客先アプリ20が、送客元アプリ10との間でキャンペーンが設定されている場合、送客先アプリ20がインストールされたタイミングが、キャンペーン期間内であればCPリワード、それ以外の期間であれば通常リワードとすることができる。
(5)管理サーバ200のリワード処理部245は、インストール通知取得部241において送客先アプリ20(第2アプリケーションの一例)に対応するインストール通知情報を取得したタイミングがキャンペーン期間内(第1の期間内の一例)である場合に、送客先アプリ20がキャンペーン期間内にユーザ端末100(端末装置の一例)にインストールされたと判定する。
これにより、管理サーバ200は、ユーザ端末100から送信された送客先アプリ20のインストール通知情報の取得タイミングにより、送客先アプリ20がユーザ端末100インストールされたタイミングがキャンペーン期間内であるか否かを判定することができる。
なお、管理サーバ200のリワード処理部245は、送客元アプリ10(第1アプリケーションの一例)から送客先アプリ20に対する送客情報を取得したタイミングがキャンペーン期間内である場合に、送客先アプリ20がキャンペーン期間内にユーザ端末100にインストールされたと判定するようにしてもよい。つまり、キャンペーン期間内に送客情報が記録されれば、ユーザ端末100から送信された送客先アプリ20のインストール通知情報の取得タイミングがキャンペーン期間外であってもキャンペーン期間内にユーザ端末100にインストールされたと見なすようにする。
(6)リワードユーザID(固有識別情報の一例)は、ユーザ端末100に記憶されている。ユーザ端末100は、インストールされた対象アプリケーションが複数の対象アプリケーションのうちの最初にユーザ端末100(端末装置の一例)にインストールされた対象アプリケーションである場合、リワードユーザIDを取得し、取得したリワードユーザIDを、ユーザ端末100にインストールされたいずれの対象アプリケーションからも参照可能なように端末記憶部140(記憶部の一例)に記憶させる固有識別情報取得部102を備えている。
これにより、相互送客システム500によれば、ユーザ端末100が、初めて対象アプリケーションがインストールされたときに自動でリワードユーザIDを取得し、取得したリワードユーザIDをその後インストールされる対象アプリケーションでも共通に利用可能とするため、ユーザに特別な操作をさせることなくリワードユーザIDが取得されて本システムを利用可能とすることができる。
(7)具体的には、固有識別情報取得部102は、インストールされた対象アプリケーションがユーザ端末100にインストールされたときに、リワードユーザID(固有識別情報の一例)が端末記憶部140(記憶部の一例)に記憶されているか否かを判定し、リワードユーザIDが端末記憶部140に記憶されていないと判定した場合にリワードユーザIDを取得する。
これにより、ユーザ端末100は、初めて対象アプリケーションがインストールされて起動したときにリワードユーザIDを取得することができる。
(8)インストール通知情報には、ユーザ端末100に対応付けられたリワードユーザID(固有識別情報の一例)、及び当該インストール通知情報を送信した対象アプリケーションのアプリID(識別情報の一例)が含まれている。
ユーザ端末100(SDK11)のインストール通知部103は、インストールされた対象アプリケーションがユーザ端末100(端末装置の一例)にインストールされたことを示すインストール通知情報であって、インストールされた対象アプリケーションのアプリID、及びリワードユーザIDを含むインストール通知情報を管理サーバ200に対して送信する。
管理サーバ200のインストール情報管理部222は、ユーザ端末100(SDK11)から取得したインストール通知情報に含まれるリワードユーザID、及び対象アプリケーションのアプリIDを関連付けて管理する。
これにより、ユーザ端末100に対象アプリケーションがインストールされた場合、管理サーバ200は、インストールされた対象アプリケーションのアプリIDと、ユーザ端末100に対応付けられたリワードユーザIDとを関連付けて管理することができる。よって、管理サーバ200は、ユーザ端末100毎にインストールされている対象アプリケーションを特定することができる。
なお、本システムによらずに対象アプリケーションがインストールされた場合でも、管理サーバ200は、インストールされた対象アプリケーションのアプリIDと、ユーザ端末100に対応付けられたリワードユーザIDとを関連付けて管理しているので、管理サーバ200は、ユーザ端末100にインストールされている対象アプリケーションを特定することができる。
(9)インストール通知情報には、さらにインストール通知情報を送信した対象アプリケーションのアプリユーザID(ユーザ情報の一例)が含まれてもよい。つまり、インストール通知取得部241は、アプリユーザ情報取得部として機能する。すなわち、管理サーバ200は、リワードユーザID(固有識別情報の一例)と関連付けて対象アプリケーションのアプリユーザIDを取得するアプリユーザ情報取得部を備える。例えば、ユーザ端末100(SDK11)のインストール通知部103は、インストールされた対象アプリケーションをインストールしたユーザの当該インストールされた対象アプリケーションにおけるアプリユーザIDをさらに含めたインストール通知情報を、管理サーバ200に対して送信する。管理サーバ200は、インストール通知情報に含まれるアプリユーザIDを取得する。
また、対象アプリケーションによっては、ユーザ情報を登録するタイミングが、初めて起動したときだけでなく、例えばチュートリアルが終了したときなど、対象アプリケーションにより異なる場合がある。したがって、管理サーバ200は、アプリユーザID(を、インストール通知情報以外の情報に含ませてユーザ端末100(SDK11)から取得するようにしてもよい。また、管理サーバ200は、アプリユーザIDを、対象アプリケーションに対応したアプリサーバ300から取得するようにしてもよい。
管理サーバ200のインストール情報管理部222は、インストール通知情報に含まれるリワードユーザID、対象アプリケーションのアプリID(識別情報の一例)、及び対象アプリケーションの(における)アプリユーザIDを関連付けて管理する。ここで、インストール情報管理部222が管理するアプリユーザIDは、上述したように、管理サーバ200が取得したインストール通知情報に含まれていたものでもよいし、インストール通知情報以外の情報に含まれていたものでもよい。
これにより、ユーザ端末100に対象アプリケーションがインストールされた場合、管理サーバ200は、インストールされた対象アプリケーションのアプリIDと、インストールされた対象アプリケーションにおけるアプリユーザIDと、ユーザ端末100に対応付けられたリワードユーザIDとを関連付けて管理することができる。即ち、管理サーバ200は、ユーザ端末100にインストールされている対象アプリケーション毎のアプリユーザIDをリワードユーザIDに関連付けて管理することができる。
(10)管理サーバ200のアプリケーション管理部221は、キャンペーン(イベントの一例)を示す情報とキャンペーンに関する情報を関連付けて、キャンペーン情報記憶部234またはキャンペーン参加アプリ情報記憶部235に記憶させて管理する。
管理サーバ200のリスト通知部242は、アプリケーション管理部221が管理する上述の情報を参照して、アプリケーションリストに含まれる一または複数の特定アプリケーションに対応したキャンペーンに関する情報を送信する。
これにより、ユーザ端末100は、管理サーバ200から取得したアプリケーションリストを表示部120に表示する際に、キャンペーンが設定されている特定アプリケーションにはそのキャンペーンに関する情報(キャンペーンの名称や説明、キャンペーン期間等)を対応付けて表示することができる。
(11)管理サーバ200のアプリケーション管理部221は、キャンペーン(イベントの一例)に関する情報として、CPリワード(報酬の一例)を示す情報の掲載場所のリンク先を示す情報を含んで管理する。
管理サーバ200のリスト通知部242は、アプリケーション管理部221が管理する上述の情報を参照して、キャンペーンに関する情報として、アプリケーションリストに含まれる一または複数の特定アプリケーションに対応した上述のリンク先を示す情報を送信する。
これにより、ユーザ端末100は、管理サーバ200から取得したアプリケーションリストを表示部120に表示する際に、キャンペーンが設定されている特定アプリケーションにはそのキャンペーンのCPリワードを示す情報の掲載場所のリンク先を示す情報を対応付けて表示することができる。なお、CPリワードを示す情報の掲載場所をリンク先としているのは、キャンペーン内容や時期に応じた多様な対応が可能なように、その掲載方法に自由度を持たせるためである。
(12)具体的には、管理サーバ200のアプリケーション管理部221(第1報酬情報管理部の一例)は、キャンペーン(イベントの一例)に対応して予め設定されたCPリワード(第1の報酬の一例)を示す情報の掲載場所のリンク先を示す情報をキャンペーン参加アプリ情報記憶部235に記憶させて管理する。また、アプリケーション管理部221(第2報酬情報管理部の一例)は、複数の対象アプリケーションのそれぞれと通常リワード処理(第2の報酬付与処理の一例)により付与される予め設定された通常リワードを示す情報とを対応付けた通常リワード情報を通常リワード情報記憶部232に記憶させて管理する。
そして、管理サーバ200のリスト通知部は、複数の対象アプリケーションのうちの送客元アプリ10(第1アプリケーションの一例)との間でキャンペーンが設定されていない対象アプリケーションには通常リワードを示す情報が対応付けられて表示されるように、通常リワードを示す情報を含むアプリケーションリストを、ユーザ端末100に対して送信する。一方、リスト通知部は、複数の対象アプリケーションのうちの送客元アプリ10との間でキャンペーンが設定されている対象アプリケーションには上述のリンク先を示す情報が対応付けられて表示されるように、当該リンク先を示す情報を含むアプリケーションリストを、ユーザ端末100に対して送信する。
これにより、ユーザ端末100は、管理サーバ200から取得したアプリケーションリストを表示部120に表示する際に、キャンペーンが設定されていない対象アプリケーションには通常リワードを示す情報を表示し、キャンペーンが設定されている特定アプリケーションにはそのキャンペーンのCPリワード(報酬の一例)を示す情報の掲載場所のリンク先を示す情報を対応付けて表示することができる。
(13)管理サーバ200の送客情報取得部243は、送客元アプリ10(第1アプリケーションの一例)から送客先アプリ20(第2アプリケーションの一例)に対する送客情報であって、リワードユーザID(固有識別情報の一例)、送客元アプリ10のアプリID(識別情報の一例)、及び送客先アプリ20のアプリID(識別情報の一例)を含む送客情報を取得する。送客情報取得部243が送客情報を取得すると、管理サーバ200の送客情報管理部223は、当該取得した送客情報に含まれるリワードユーザID、送客元アプリ10のアプリID、及び送客先アプリ20のアプリIDを関連付けて送客情報の記録として送客情報記憶部237に記憶させて管理する。
そして、管理サーバ200のリワード処理部245は、送客先アプリ20から報酬付与通知情報を取得した場合に、送客先アプリ20に対する送客情報の記録が送客情報管理部223において管理されていることを条件として、通常リワード処理またはCPリワード処理(報酬付与処理の一例)を実行する。
これにより、相互送客システム500は、本システムによらずに対象アプリケーションがインストールされた場合には送客情報の記録がないため、通常リワード及びCPリワードの対象としないようにすることができる。
(14)管理サーバ200のインストール誘導指示部244は、送客情報取得部243が取得した送客情報に含まれる送客先アプリ20(第2アプリケーションの一例)のアプリID(識別情報の一例)に基づいて送客先アプリ20をインストール可能なストアページ(画面)に誘導する指示情報をユーザ端末100に送信する。
これにより、ユーザ端末100は、送客元アプリ10(第1アプリケーションの一例)から送客される対象アプリケーションが選択された場合に、選択された対象アプリケーションをインストール可能なストアページをユーザに特別な操作をさせることなく自動で表示することができる。
(15)報酬付与通知情報には、ユーザ端末100に対応付けられたリワードユーザID(固有識別情報の一例)、及び送客先アプリ20(第2アプリケーションの一例)のアプリID(識別情報の一例)が含まれている。
ユーザ端末100(SDK11)の報酬付与通知部107は、上述の各情報を含む報酬付与通知情報を管理サーバ200に対して送信する。
管理サーバ200のリワード処理部245は、ユーザ端末100にインストールされた送客先アプリ20から取得した報酬付与通知情報に基づいて、リワードユーザIDに関連付けられた送客元アプリ10(第1アプリケーションの一例)のアプリユーザID(ユーザ情報の一例)を含む報酬付与情報を、送客元アプリ10に対応するアプリサーバ310(サーバ装置の一例)に送信する。
これにより、管理サーバ200は、取得した報酬付与通知情報を送信したユーザ端末100及び送客先アプリ20を特定することができるとともに、このユーザ端末100で送客元アプリ10を利用するユーザ(ユーザX)に対して報酬が付与されるように、このユーザ(ユーザX)の送客元アプリ10におけるアプリユーザIDを含む報酬付与情報を送客元アプリ10に対応するアプリサーバ310に送信することができる。
(16)ユーザ端末100(SDK11)の報酬付与通知部107は、さらにキャンペーン(イベントの一例)のキャンペーンID(識別情報の一例)を含めた報酬付与通知情報を管理サーバ200に対して送信する。
これにより、管理サーバ200は、キャンペーン情報記憶部234またはキャンペーン参加アプリ情報記憶部235を参照して、取得した報酬付与通知情報を送信した送客先アプリ20に設定されているキャンペーンを特定するとともに、キャンペーンに関する情報(例えば、報酬付与期間)を特定することができる。特に送客先アプリ20に複数のキャンペーンが設定されている場合にこのキャンペーンIDが報酬付与通知情報に含まれていることが有効である。例えば、一つの対象アプリケーションに対して、互いに異なるキャンペーン期間となる複数のキャンペーンを設定することができる。
(17)複数の特定アプリケーションに対して、キャンペーン期間(第1の期間の一例)と重複しない別期間のキャンペーン(イベントの一例)とが設定されたとする。このときには、管理サーバ200のリワード処理部245は、ユーザ端末100において送客先アプリ20(第2アプリケーションの一例)のキャンペーン期間(第1の期間の一例)のキャンペーン(イベント)に対応したCPリワード処理(報酬付与処理の一例)を実行済みである場合には、上述の別期間のキャンペーンに対応したCPリワード処理(報酬付与処理の一例)を実行しない。
これにより、相互送客システム500は、同じ送客先アプリ20に対するCPリワード処理において、あるキャンペーンでCPリワードによる報酬が付与されたユーザに対しては、別のキャンペーンでのCPリワードによる報酬が再度付与されないようにすることができる。即ち、CPリワードが行われた送客先アプリ20は、別のCPリワードの対象とはならない。
例えば、送客先アプリ20をキャンペーンAのキャンペーン期間にインストールしたユーザには、そのキャンペーンで設定された成果地点の到達に基づいて報酬が付与される。複数設けられた成果地点のそれぞれに到達した場合は、それぞれの到達に基づいてそれぞれ報酬が付与される。しかし、その後の期間でキャンペーンAとは異なるキャンペーンBが開始されても。そのキャンペーンBで設定された成果地点に到達しても報酬は付与されない。
ここで、キャンペーンBのキャンペーン期間が始まり、キャンペーンBで設定された成果地点に到達した場合には、報酬付与通知情報がユーザ端末100から管理サーバ200に送信されてしまう。しかしながら、ユーザ端末100からキャンペーンBに対応する送客情報が管理サーバ200に対して送信されていないので、管理サーバ200は、キャンペーンBに対応する送客情報を管理していない(送客情報記憶部237に該当するレコードがない)ことになる。その結果、リワード成立情報記憶部238にもこのキャンペーンBに対応するリワード成立情報が管理されていないため、管理サーバ200は、キャンペーンBに対する報酬付与通知情報を取得しても、リワード成立情報を更新することができず、当該報酬付与通知情報を無効なものとして扱うことができる。したがって、CPリワードの2重報酬付与を防止する制御が可能になる。
(18)管理サーバ200のリワード処理部245は、ユーザ端末100において送客先アプリ20(第2アプリケーションの一例)のCPリワード処理(第1の報酬付与処理の一例)及び通常リワード処理(第2の報酬付与処理の一例)の少なくとも一方を実行済みである場合には、他方の報酬付与処理を実行しない。
例えば、管理サーバ200は、通常リワード処理またはCPリワード処理が行われた送客先アプリ20のリワード成立情報に含まれる成立状態が既に「1」(成立)に更新されている。そのため、管理サーバ200は、この送客先アプリ20から再び報酬付与通知情報を取得しても、成立状態を「1」(成立)に更新可能なリワード成立情報がなく、当該報酬付与通知情報を無効なものとして扱うことができる。
これにより、相互送客システム500は、同じ送客先アプリ20に対して、通常リワードによる報酬と、CPリワードによる報酬とが2重に付与されないようにすることができる。即ち、通常リワードが行われた送客先アプリ20は、CPリワードの対象とはならない。また、CPリワードが行われた送客先アプリ20は、通常リワードの対象とはならない。
(19)上記実施形態では、キャンペーン(イベントの一例)に対して、キャンペーン期間(第1の期間の一例)の最初又は途中から開始し、キャンペーン期間の最後より後に終了する報酬付与期間(第2の期間の一例)が設定されている。ユーザ端末100(SDK11)の報酬付与通知部107は、報酬付与通知情報を管理サーバ200に対して送信する。そして、管理サーバ200のリワード処理部245は、報酬付与期間内にユーザ端末100にインストールされた送客先アプリ20(第2アプリケーションの一例)から報酬付与通知情報を取得した場合に、当該取得した報酬付与通知情報に基づくCPリワード処理(報酬付与処理の一例)を実行する。
これにより、相互送客システム500は、キャンペーン期間の最後の直前に送客先アプリ20がユーザ端末100にインストールされた場合であっても、CPリワードの報酬が付与される成果地点までの到達をユーザが試みる期間をユーザに与えることができる。また、管理サーバ200は、取得したタイミングが報酬付与期間内に、ユーザ端末100から報酬付与通知情報を取得した場合に、CPリワード(報酬の一例)が付与されるようにすることができる。
(20)なお、ユーザ端末100(SDK11)の報酬付与通知部107は、報酬付与条件が充足されたタイミングが報酬付与期間(第2の期間の一例)であった場合に、報酬付与通知情報を管理サーバ200に対して送信してもよい。そして、管理サーバ200のリワード処理部245は、報酬付与条件が充足されたタイミングが報酬付与期間内であった場合に、送客先アプリ20(第2アプリケーションの一例)から報酬付与通知情報を取得するとともに、当該取得した報酬付与通知情報に基づくCPリワード処理(報酬付与処理の一例)を実行してもよい。
この場合、ユーザ端末100は、報酬付与条件が充足されたタイミングが報酬付与期間である場合にのみ報酬付与通知情報を管理サーバ200に送信する。したがって、管理サーバ200は、報酬付与期間内に報酬付与条件が充足された場合に、ユーザ端末100から報酬付与通知情報を取得してCPリワード(報酬の一例)が付与されるようにすることができる。
(21)キャンペーン(イベントの一例)に対応して予め設定された報酬付与条件は複数設けられていてもよい。ユーザ端末100(SDK11)の報酬付与通知部107は、複数の報酬付与条件のそれぞれが充足されたことに基づいて、報酬付与通知情報をそれぞれ管理サーバ200に対して送信する。管理サーバ200のリワード処理部245は、複数の報酬付与条件のいずれかが充足されたことに基づいて、ユーザ端末100にインストールされた送客先アプリ20(第2アプリケーションの一例)から報酬付与通知情報を取得した場合に、当該取得した報酬付与通知情報に基づくCPリワード処理(報酬付与処理の一例)を実行する。
これにより、相互送客システム500は、送客先アプリ20に設定されたキャンペーンの複数の報酬付与条件のそれぞれが充足されたことに応じて、それぞれ対応するCPリワード処理を実行することができる。つまり、ユーザはキャンペーン期間(報酬付与期間の一例)に設定された複数の報酬をできるだけ多く獲得するために送客先アプリ20を継続して利用することになる。そのため送客先アプリ20の利用を高めることができる。
(22)管理サーバ200のリワード処理部245は、複数の報酬付与条件のいずれかが充足されたことに基づいて送客先アプリ20(第2アプリケーションの一例)から報酬付与通知情報を取得した場合に、取得したタイミングが報酬付与期間(第2の期間の一例)内であるとき報酬付与通知情報に基づくCPリワード処理(報酬付与処理の一例)を実行する。
つまり、管理サーバ200は、キャンペーンに複数の報酬付与条件が設定されている場合も、複数の報酬付与条件のそれぞれが充足されたタイミング(管理サーバ200が報酬付与通知情報を取得したタイミング)が報酬付与期間内である場合にのみCPリワード(報酬の一例)を付与することができる。
(23)複数の報酬付与条件のそれぞれは、例えば、送客先アプリ20(第2アプリケーションの一例)による処理において予め設定された複数の成果地点のそれぞれに到達するタイミングである。ユーザ端末100(SDK11)の報酬付与通知部107は、複数の報酬付与条件のそれぞれが充足されたことに基づいて、複数の成果地点のうちの到達した成果地点を示す成果地点ID(成果地点情報の一例)を含む報酬付与通知情報をそれぞれ管理サーバ200に対して送信する。そして、管理サーバ200のリワード処理部245は、複数の報酬付与条件のそれぞれが充足されたことに基づいて、送客先アプリ20から複数の成果地点のうちの到達した成果地点を示す成果地点ID(成果地点情報)を含む報酬付与通知情報を取得するとともに、当該取得した成果地点ID(成果地点情報)を含む報酬付与情報を送客元アプリ10(第1アプリケーションの一例)に対応するアプリサーバ310(サーバ装置の一例)に送信する。
つまり、管理サーバ200は、ユーザ端末100において、送客先アプリ20の複数の成果地点のそれぞれに到達したことに応じて、それぞれ到達した成果地点を示す成果地点IDを、送客元アプリ10に対応するアプリサーバ310に送信する。
これにより、相互送客システム500は、送客先アプリ20に設定されたキャンペーンの複数の成果地点のそれぞれが到達されたことに応じて、到達した成果地点のそれぞれに対応するCPリワード(報酬の一例)が付与されるようにすることができる。
(24)ユーザ端末100(SDK11)の報酬付与通知部107は、複数の報酬付与条件のそれぞれが充足されたことに基づいて、複数の成果地点のいずれかに到達したことを示す到達情報を含む報酬付与通知情報を管理サーバ200に対して送信してもよい。そして、管理サーバ200のリワード処理部245は、複数の報酬付与条件のそれぞれが充足されたことに基づいて、送客先アプリ20(第2アプリケーションの一例)から複数の成果地点のいずれかに到達したことを示す到達情報を含む報酬付与通知情報を取得するとともに、当該取得する毎に報酬付与通知情報の取得回数に応じた報酬付与情報を送客元アプリ10(第1アプリケーションの一例)に対応するアプリサーバ310(サーバ装置の一例)に送信してもよい。
つまり、管理サーバ200は、複数の成果地点のいずれかに到達したときに送客元アプリ10に対応するアプリサーバ310に送信する報酬付与情報には、成果地点IDを含めずとも、報酬付与通知情報の取得回数を示す情報(即ち、成果地点に到達した回数であって、何番目の成果地点であるかを示す情報)を含めてもよい。この場合、アプリサーバ310と管理サーバ200との間で、上述の回数を示す情報を含む報酬付与情報を授受するように予め取り決めてさえおけばよい。よって、相互送客システム500は、成果地点IDに代えて報酬付与通知情報の取得回数を示す情報を報酬付与情報に含めても、到達した成果地点のそれぞれに対応するCPリワード(報酬の一例)が付与されるようにすることができる。
(25)管理サーバ200のリワード処理部245は、複数の報酬付与条件のそれぞれが充足されたことに基づいて、送客先アプリ20(第2アプリケーションの一例)から複数の成果地点のいずれかに到達したことを示す到達情報を含む報酬付与通知情報を取得するとともに、当該取得した到達情報を含む報酬付与情報を送客元アプリ10(第1アプリケーションの一例)に対応するアプリサーバ310(サーバ装置の一例)に送信してもよい。
つまり、管理サーバ200は、複数の成果地点のいずれかに到達したときに送客元アプリ10に対応するアプリサーバ310に送信する報酬付与情報には、成果地点IDを含めずとも、いずれかの成果地点に到達したこと示す到達情報(例えば、単に成果地点に到達したことを示すフラグ情報)を含めてもよい。この場合、アプリサーバ310と管理サーバ200との間で、単に到達情報を含む報酬付与情報を授受するように予め取り決めてさえおけばよい。そして、アプリサーバ310が、到達情報の取得回数を計数して計数結果に応じた報酬を付与してもよい。よって、相互送客システム500は、成果地点IDに代えて単に到達情報を報酬付与情報に含めても、到達した成果地点のそれぞれに対応するCPリワード(報酬の一例)が付与されるようにすることができる。
このように、CPリワードによる報酬付与条件は複数設けることができる。ここで、相互送客システム500は、それぞれの報酬付与条件の設定内容や報酬付与条件の総数等を関知する必要がなく、送客先アプリ20において報酬付与条件が充足される毎(成果地点に到達する毎)に、成果地点ID、報酬付与通知情報の取得回数を示す情報、到達情報等をアプリサーバ310に送信するだけである。
なお、本実施形態では、相互送客システム500に対応する対象アプリケーションに関する情報を管理サーバ200が管理するため、本システムに対応しないアプリケーションまで検索対象となることを防止することができる。また、ユーザ端末100にインストールされているアプリケーションを特定する方法としてはURLスキームを利用する方法があるが、その場合、管理サーバ200からURLスキームを取得可能なように構成する必要がある。これに対し、本実施形態では、ユーザ端末100にインストールされている対象アプリケーションのインストール情報が管理サーバ200に管理される。そのため、本実施形態では、送客先アプリ20として選択する候補となるアプリケーションリストを生成する際の処理を容易に行うことができる。
また、送客先アプリ20を購入するアプリストア400(ストアサイトの一例)からダウンロードしてインストールする過程、およびインストール完了後に当該送客先アプリ20を起動する過程は、ユーザの操作に委ねられており、その間にどうような操作がされるか不明である。例えば、送客先アプリ20を購入するアプリストア400へ誘導されたユーザは、そのついでに、他のアプリケーションをダウンロードする可能性もあり得る。このような場合であっても、相互送客システム500では、送客元アプリ10から送客先アプリ20に対する送客情報を管理しているため、送客の事実に基づいて正しくリワード処理を行うことができる。
<第2の実施形態>
次に、本発明の第2の実施形態を説明する。本実施形態の相互送客システム500の構成は、第1の実施形態と同様であるので、本実施形態において特徴的な処理について説明する。第1の実施形態では、図14を参照して、ステップSE15の処理でインストール済みの対象アプリケーションを除いたアプリケーションリストまたは送客元アプリ10との間にキャンペーンが設定されている特定アプリケーションのアプリケーションリストとするフィルタ処理を説明したが、これに限られるものではない。本実施形態では、アプリ間フィルタ記憶部233に設定されている条件(フィルタ情報)に基づいて、アプリケーションリストに含める対象アプリケーションを所定の条件に基づいて選択する処理(フィルタリングする処理)について説明する。
アプリ間フィルタ記憶部233は、相互送客可能な対象アプリケーションを制限するためのアプリケーション間におけるフィルタ情報(アプリ間フィルタ情報)を記憶する。この相互送客可能な対象アプリケーションを制限するためのアプリ間フィルタ情報は、例えば、送客先アプリ20として選択可能なアプリケーションリストへの掲載を禁止する掲載禁止情報として設定される。
なお、このアプリ間フィルタ情報は、通常リワードにおいて有効であり、送客元アプリ10との間でキャンペーンが設定されていない対象アプリケーション、送客元アプリ10との間でキャンペーンが設定されていてもキャンペーン期間中ではない特定アプリケーションに対してフィルタリングする情報である。
図16は、アプリ間フィルタ記憶部233に記憶されるアプリ間フィルタ情報の一例を示す図である。アプリ間フィルタ情報には、フィルタID(FilterID)と、ブロックするアプリID(ApIDfrom)と、ブロックされるアプリID(ApIDto)とが関連付けられている。フィルタID(FilterID)は、アプリ間フィルタ情報毎に識別可能なように各フィルタ情報が設定された順に発行される管理IDである。
ブロックするアプリID(ApIDfrom)には、アプリケーションリストへの掲載の禁止を設定する側の設定側アプリケーションのアプリIDが設定される。一方、ブロックされるアプリID(ApIDto)には、当該設定側アプリケーションのアプリケーションリストへの掲載が禁止される側の被設定側アプリケーションのアプリIDが設定される。つまり、アプリ間フィルタ記憶部233は、ブロックするアプリID(設定側アプリケーションのアプリID)とブロックされるアプリID(被設定側アプリケーションのアプリID)とを組みにしたアプリ間フィルタ情報を記憶する。
リスト通知部242は、アプリ間フィルタ記憶部233に記憶されているアプリ間フィルタ情報を参照して、ブロックするアプリID(設定側アプリケーションのアプリID)に設定されている対象アプリケーションからの送客の場合には、送客先アプリ20として選択可能なアプリケーションリストから、ブロックされるアプリID(被設定側アプリケーションのアプリID)に設定されている対象アプリケーションを除く。
例えば、送客元アプリ10(ゲームA)から送客先アプリ20(ゲームB)に対する送客を禁止したい場合には、ブロックするアプリIDに送客元アプリ10(ゲームA)のアプリIDを設定し、ブロックされるアプリIDに送客先アプリ20(ゲームB)のアプリIDを設定すればよい。
なお、図16に示すアプリ間フィルタ情報におけるブロックするアプリID(設定側アプリケーションのアプリID)とブロックされるアプリID(被設定側アプリケーションのアプリID)とは双方向に掲載が禁止される関係としてもよい。即ち、リスト通知部242は、アプリ間フィルタ記憶部233に記憶されているアプリ間フィルタ情報を参照して、ブロックされるアプリID(被設定側アプリケーションのアプリID)に設定されている対象アプリケーションからの送客の場合には、送客先アプリ20として選択可能なアプリケーションリストから、ブロックするアプリID(設定側アプリケーションのアプリID)に設定されている対象アプリケーションを除いてもよい。
また、対象アプリケーションによって、通常リワードは参加せずにCPリワードのみ参加したい場合には、当該対象アプリケーションのアプリIDをブロックされるアプリID(ApIDto)に設定し、ブロックするアプリID(ApIDfrom)に「null」を設定する。これにより、キャンペーン期間外では、当該対象アプリケーションは、いずれの対象アプリケーションからの送客に対してもアプリケーションリスト(相互送客システム500に対応する対象アプリケーションの一覧)へ掲載されないようになる。例えば、既にあるアプリケーションが相互送客システム500に参加する前に、他のアプリケーションとの間で通常リワードによる相互送客を実施している場合であって、CPリワードのみ本システムに参加したいアプリケーションに対応することができる。なお、通常リワードは参加せずにCPリワードのみ参加したい対象アプリケーションに関する情報は、対象アプリケーションに関する対象アプリケーション情報を記憶する対象アプリ情報記憶部231にて、対象アプリケーションのアプリID(ApID)と関連付けて記憶させるようにしてもよい。
〔第2の実施形態のまとめ〕
以上説明したように、管理サーバ200のアプリケーション管理部221は、アプリケーションリストへの掲載の禁止を設定する側の設定側アプリケーションと、当該設定側アプリケーションのアプリケーションリストへの掲載が禁止される側の被設定側アプリケーションとを組みにしたアプリ間フィルタ情報(第1の掲載禁止情報の一例)をアプリ間フィルタ記憶部233に記憶させて管理する。
そして、管理サーバ200のリスト通知部242は、アプリケーション管理部221が管理しているアプリ間フィルタ情報を参照して、送客元アプリ10(第1アプリケーションの一例)を被設定側アプリケーションに設定しているアプリ間フィルタ情報がある場合であって、当該アプリ間フィルタ情報で示す設定側アプリケーションが送客元アプリ10との間でキャンペーン(イベントの一例)が設定されていないときは、当該設定側アプリケーションを除いた対象アプリケーションのアプリケーションリストを、ユーザ端末100に対して送信する。
これにより、相互送客システム500では、通常リワードにおいて相互送客させたくない対象アプリケーションの関係を管理サーバ200に設定することができる。例えば、対象アプリケーションの中でレイティング(年齢制限)が設定されているものがあれば、レイティングが設定されていない送客元アプリ10から、レイティングが設定されている送客先アプリ20への送客を行わせないようにすることができる。
また、管理サーバ200のリスト通知部242は、アプリケーション管理部221が管理しているアプリ間フィルタ情報を参照して、送客元アプリ10を設定側アプリケーションに設定しているアプリ間フィルタ情報がある場合であって、当該第1の掲載禁止情報で示す被設定側アプリケーションが送客元アプリ10との間でキャンペーンが設定されていないときは、当該被設定側アプリケーションを除いた対象アプリケーションのアプリケーションリストを、ユーザ端末100に対して送信する。
これにより、アプリ間フィルタ情報の設定側アプリケーションと被設定側アプリケーションとのそれぞれに設定された対象アプリケーションは、互いに(双方向に)アプリケーションリストへの掲載を禁止(ブロック)することができる。
また、管理サーバ200のアプリケーション管理部221は、アプリケーションリストへの掲載が禁止される側の被設定側アプリケーションのみが登録されたアプリ間フィルタ情報(第2の掲載禁止情報の一例)をアプリ間フィルタ記憶部233に記憶させて管理する。
そして、管理サーバ200のリスト通知部242は、アプリケーション管理部221が管理しているアプリ間フィルタ情報を参照して、アプリ間フィルタ情報で示す被設定側アプリケーションが送客元アプリ10(第1アプリケーションの一例)との間でキャンペーン(イベントの一例)が設定されていないときは、当該被設定側アプリケーションを除いた対象アプリケーションのアプリケーションリストを、ユーザ端末100に対して送信する。
また、アプリ間フィルタ情報に相当する情報は、対象アプリ情報記憶部231に記憶させて管理するようにしてもよい。つまり、対象アプリ情報記憶部231にアプリ間フィルタ情報に相当する情報が記憶された対象アプリケーションについては、CPリワードのみ参加させるようにする。
これにより、キャンペーンのみ相互送客システム500に参加したいような対象アプリケーションの場合に、キャンペーン期間外では、いずれの対象アプリケーションからの送客に対してもアプリケーションリストへ掲載されないようにすることができる。
<第3の実施形態>
次に、本発明の第3の実施形態を説明する。上記第1、2の実施形態では、ユーザ端末100にインストールされている送客元アプリ10から、当該ユーザ端末100にインストールされていない送客先アプリ20へユーザを送客する相互送客処理の例であって、送客先アプリ20送客時点でリリースされている対象アプリケーションである場合の例を説明した。本実施形態では、送客先アプリが、リリース予定の対象アプリケーションであって、送客時点でリリースされていない場合の例について説明する。ここで、リリース予定の対象アプリケーションとは、ユーザに対して提供が予定されている対象アプリケーションであって、まだリリースされていない対象アプリケーション、即ち、提供開始前の対象アプリケーションのことをいう。
リリース予定の対象アプリケーションへ送客する場合、この対象アプリケーションが送客時点ではリリースされていないため、インストール先(ダウンロード先)へ誘導することができない。また、リリース予定の対象アプリケーションの場合には、その対象アプリケーションが開発中であって報酬の付与方法が定まっていないことがある。そこで、本実施形態では、リリース予定の対象アプリケーションへ送客する送客情報を管理しておき、リリース後に、その対象アプリケーションがユーザ端末100にインストールされると、管理している送客情報に基づいて報酬が付与されるようにした。
〔第3の実施形態による相互送客システムの構成及び処理〕
図17は、本実施形態のネットワークシステム1aにおける相互送客システム500aの構成及び処理の一例を説明する説明図である。この図17において、図4の各部と対応する部分には同一の符号を付け、その説明を省略する。
この図17に示す例では、ユーザXが利用するユーザ端末100に送客元アプリ10(ゲームA)がインストールされ、インストールされた送客元アプリ10(ゲームA)におけるユーザXの操作に基づいて、リリース予定の対象アプリケーションが選択される。この選択されたリリース予定の対象アプリケーションを送客先アプリ50(ゲームN)と称して説明する。そして、この図17に示す例では、選択された送客先アプリ50(ゲームN)が、リリース後に、ユーザ端末100にインストールされた場合、送客先アプリ50(ゲームN)におけるユーザXに対して報酬(リワード)が付与される。
ここで、リリース後の送客先アプリ50(ゲームN)は、リリースされた対象アプリケーションであるため、第1、2の実施形態で説明した送客先アプリ20にもなり得るし、ユーザ端末100にインストールされた後に送客元アプリ10にもなり得る。
なお、リリース予定の対象アプリケーションがユーザXに選択されたことにより、選択されたリリース予定の対象アプリケーションに対してユーザXが登録されてもよい。例えば、ユーザXは、送客元アプリ10において、リリース予定の対象アプリケーションの中から、登録したい対象アプリケーションを選択して、事前に登録することができる。
本実施形態の相互送客システム500aの主要な構成は、SDK11(この図ではSDK11A、SDK11N)と管理サーバ200aとを備えた構成である。送客元アプリ10(ゲームA)にはSDK11Aが組み込まれ、送客先アプリ50(ゲームN)にはSDK11Nが組み込まれている。SDK11Nは、図4に示すSDK11Bと同様の構成を備えている。なお、相互送客システム500aに対応するアプリケーションは、第1、2の実施形態と同様に、送客元アプリ10と送客先アプリ50のどちらにもなり得るので、SDK11AとSDK11Nの両方の構成を備えたSDK11が組み込まれている。このSDK11の構成は、図5に示す構成と同様である。
管理サーバ200aは、ユーザ端末100にインストールされた相互送客システム500に対応するアプリケーションに組み込まれたSDK11と通信することにより、本実施形態による相互送客処理を実行する。本実施形態では、管理サーバ200aは、ユーザ端末100にインストールされた送客元アプリ10(ゲームA)からリリース予定の送客先アプリ50(ゲームN)への送客情報を管理するとともに、リリース後に送客先アプリ50(ゲームN)がユーザ端末100にインストールされた場合に、送客先アプリ50(ゲームN)に対応するアプリサーバ350(ゲームN)に対してリワードに関する情報を送信する。これにより、アプリサーバ350(ゲームN)において、送客先アプリ50(ゲームN)におけるユーザXに対して報酬が付与される。
以下、本実施形態による相互送客処理の概略の流れについて説明する。ここでは、図4を用いて説明した処理と同様の処理については、その説明を適宜省略する。(1)及び(2)の処理は、図4を用いて説明した処理と同様である。
(3A)ユーザ端末100にインストールされていない対象アプリケーションのアプリケーションリストを要求するのに代えて、リリース予定の対象アプリケーションのアプリケーションリストを要求する点が、図4に示す(3)の処理と異なる。
ユーザ端末100(SDK11A)は、相互送客システム500aに対応する少なくとも一のリリース予定の対象アプリケーションのアプリケーションリスト(送客先アプリ50の候補となる対象アプリケーションの一覧)を要求するリスト要求通知情報を管理サーバ200aに対して送信する(REQ12A)。
(4A)管理サーバ200aは、ユーザ端末100(SDK11A)からリスト要求通知情報を取得すると、少なくとも一のリリース予定の対象アプリケーションのアプリケーションリストをユーザ端末100(SDK11A)に対して送信する(RES12A)。ユーザ端末100(SDK11A)は、管理サーバ200aからアプリケーションリストを取得すると、取得したアプリケーションリストを表示部120に表示する。例えば、この表示部120に表示されたアプリケーションリストには、アプリケーションリストに含まれるリリース予定の対象アプリケーションを選択することにより付与される報酬に関する情報が含まれている。
(5A)表示部120に表示されたアプリケーションリストの中からいずれかのリリース予定の対象アプリケーションがユーザXにより選択されると、ユーザ端末100(SDK11A)は、選択されたリリース予定の対象アプリケーション(ここでは、送客先アプリ50(ゲームN))へ送客されたことを示す送客情報を、送客元アプリ10(ゲームA)から管理サーバ200aに対して送信する(REQ13A)。ここで、送客情報には、少なくとも、送客先アプリ50(ゲームN)のアプリIDと、リワードユーザIDとが含まれる。
(5B)管理サーバ200aは、送客先アプリ50(ゲームN)がリリースされると、リリースされたことを示すリリース情報をユーザ端末100に送信する。例えば、ユーザ端末100において常駐して動作するアプリケーションである常駐アプリ40は、プッシュ通知により、管理サーバ200aから上述のリリース情報を取得する。そして、ユーザ端末100は、取得したリリース情報を表示部120に表示する。例えば、ユーザ端末100は、表示部120に表示される表示画面においてポップアップ表示するアラートダイアログや、表示画面内の所定の通知領域(各種アプリケーションにおける通知情報が表示される領域)に、上述のリリース情報を表示する。例えば、リリース情報には送客先アプリ50(ゲームN)の紹介画面が表示されるページのリンク先を示す情報が含まれている。
(5C)ユーザ端末100に表示されたリリース情報に対して、ユーザXが操作(例えば、リンク先を示す情報をタップ操作)すると、ユーザ端末100にインストールされているブラウザアプリケーションであるブラウザ45が起動し、上述のリンク先のページであるリリースされた送客先アプリ50(ゲームN)の紹介画面がユーザ端末100に表示される。
また、送客先アプリ50(ゲームN)の紹介画面には、所定の期間内にインストールしないと報酬が得られない旨の表示情報や、送客先アプリ50(ゲームN)をインストール可能(ダウンロード可能)なアプリストア400へのリンクボタンが表示される。
(6A)ユーザ端末100に表示された紹介画面において、アプリストア400へのリンクボタンに対してユーザXが操作(例えば、タップ操作)すると、送客先アプリ50(ゲームN)をインストール可能(ダウンロード可能)なアプリストア400のストアページを表示するアプリケーションであるストア30を起動させる。このストア30は、アプリストア400から、送客先アプリ50(ゲームN)をインストール可能なストアページを取得して表示部120に表示させる。
以降の(7)、(8)、(9)の処理は、図4を用いて説明した処理と同様の処理である。
(7)ユーザXの操作により送客先アプリ50(ゲームN)がユーザ端末100にダウンロードされてインストールされた後、引き続きユーザXの操作によりインストールされた送客先アプリ50(ゲームN)が起動される。
(8)ユーザ端末100(SDK11N)は、送客先アプリ50(ゲームN)がインストールされたことを示すインストール通知情報を管理サーバ200aに対して送信する(REQ14)。
(9)管理サーバ200aは、ユーザ端末100(SDK11N)から送信されたインストール通知情報を取得すると、取得したことを示す応答情報を、ユーザ端末100(SDK11N)に対して送信する(RES14)。
また、管理サーバ200aは、取得したインストール通知情報と、管理している送客情報とに基づいて、この送客先アプリ50(ゲームN)が、この送客先アプリ50(ゲームN)のリリース前に、ユーザ端末100において送客元アプリ10(ゲームA)から送客されたものであると判定する。
(11A)管理サーバ200aは、送客元アプリ10(ゲームA)からリリース前に送客された送客先アプリ50(ゲームN)がユーザ端末100にインストールされたことにより、送客先アプリ50(ゲームN)において、ユーザXに対して報酬が付与されることを示す報酬付与情報を、送客先アプリ50(ゲームN)に対応するアプリサーバ350(ゲームN)に対して送信する。
このような処理の流れにより、送客元アプリ10(ゲームA)からリリース予定の対象アプリケーションである送客先アプリ50(ゲームN)に対して送客がなされる。ここで、管理サーバ200aが、リリース予定の送客先アプリ50(ゲームN)のアプリIDと、リワードユーザIDとを含む送客情報を管理する。これにより、送客先アプリ50(ゲームN)におけるユーザXのアプリユーザIDが設定されていないのみならず、送客先アプリ50(ゲームN)のインストール先や報酬の付与方法が定まっていない場合であっても、上述の送客情報に基づいて、送客先アプリ50(ゲームN)のリリース後に、リワード処理を行うことができる。よって、ユーザXが対象アプリケーションを利用する動機付けを、この対象アプリケーションのリリース前から高めることができる。
図18は、本実施形態によるユーザ端末100に表示されるアプリ一覧の表示画面の一例である。この図に示すアプリ一覧の表示画面では、リリース予定の対象アプリケーション(選択可能なリリース予定の対象アプリケーション)と、リリース予定の対象アプリケーションのうち選択済みの対象アプリケーションと、報酬取得済みの対象アプリケーションとのそれぞれのアプリケーションリストを切替えて表示するための操作子としての機能を有するタブTB21、TB22、TB23が並べて表示されている。
ここでは、選択可能なリリース予定の対象アプリケーションのアプリケーションリストLT2が表示されるタブTB21(「リリース予定」と表示されているタブ)が選択されている状態を示している。なお、タブTB22(「選択済」と表示されているタブ)が選択(例えば、タップ操作)されると、リリース予定の対象アプリケーションのうち選択済みの対象アプリケーションのアプリケーションリストが表示される。また、タブTB23(「報酬取得済」と表示されているタブ)が選択(例えば、タップ操作)されると、送客が成立したことにより付与される報酬をユーザが取得済みの報酬取得済み対象アプリケーションのアプリケーションリストが表示される。
アプリケーションリストLT2には、リリース予定の対象アプリケーションに関する情報が表示されたラベルL21、L22が、選択可能な操作子として並べて表示されている。例えば、ラベルL21には、リリース予定の対象アプリケーションの「アプリ名称」(ここでは、「ゲームN」)と、選択可能な期間である「選択可能期間」を示す情報(ここでは、「○月×日〜△日」)と、送客が成立したときに付与される「報酬」を示す情報(ここでは、「アイテムA」)と、が表示されている。また、ラベルL22には、リリース予定の対象アプリケーションの「アプリ名称」(ここでは、「ゲームQ」)と、選択可能な期間である「選択可能期間」を示す情報(ここでは、「○月×日〜△日」)と、送客が成立したときに付与される「報酬」を示す情報(ここでは、「アイテムB」)と、が表示されている。ここで、送客が成立したときとは、例えば、選択されたリリース予定の対象アプリケーションが、リリース後にユーザ端末100にインストールされて起動したときである。
なお、アプリケーションリストLT2には、選択可能なリリース予定の対象アプリケーションの数に応じた上述のラベルが表示され、選択可能なリリース予定の対象アプリケーションがない場合には、その旨を通知するメッセージ(例えば、「選択できるアプリケーションはありません」)が表示される。
なお、選択可能なリリース予定の対象アプリケーションとは、例えば、リリース前に事前に登録が可能な対象アプリケーションのことであってもよい。また、選択可能な期間とは、そのリリース予定の対象アプリケーションに対して事前に登録を受け付けている期間のことであってもよい。また、送客が成立したときに付与される報酬とは、登録の特典として、インストールして起動したことを条件に付与される報酬のことであってもよい。
このように、ユーザ端末100(SDK11A)は、選択可能なリリース予定の対象アプリケーションのアプリケーションリストLT2を表示するため、ユーザに対して、リリース予定の対象アプリケーションを容易に選択できるようにすることができる。また、アプリケーションリストLT2には、リリース前に選択することにより付与される報酬の情報が表示されるため、報酬の付与を、リリース予定の対象アプリケーションを選択するユーザの動機付けとすることができる。
また、ユーザ端末100(SDK11A)は、選択可能なリリース予定の対象アプリケーションと、選択済みの対象アプリケーションと、報酬取得済みの対象アプリケーションとを区別して表示することができる。これにより、ユーザは、リリース予定の対象アプリケーションに対する選択状況や報酬取得状況を容易に確認することができる。
〔第3の実施形態のユーザ端末100(SDK11)の機能構成〕
本実施形態によるユーザ端末100において、端末制御部150がSDK11に基づいて実行する相互送客処理の機能構成は、図5に示す構成と同様であるため、本実施形態において特徴的な処理について説明する。
本実施形態によるリスト要求部104は、送客元アプリ10における所定の操作に基づいて、少なくとも一のリリース予定の対象アプリケーションのアプリケーションリストを要求するリスト要求通知情報を管理サーバ200aに対して送信する。ここで、このリスト要求通知情報には、このリスト要求通知情報を送信したユーザ端末100を特定するリワードユーザIDと関連付けられているが含まれる。
また、リスト要求部104は、リスト取得部の機能を有しており、リスト要求通知情報を送信したことに応じて管理サーバ200aから送信された、少なくとも一のリリース予定の対象アプリケーションのアプリケーションリストを取得する。
なお、リスト要求部104は、複数の対象アプリケーションの少なくとも一の対象アプリケーション(或いは特定アプリケーション)のアプリケーションリストと、少なくとも一のリリース予定の対象アプリケーションのアプリケーションリストとの何れか一方又は両方のアプリケーションリストを要求するリスト要求通知情報を管理サーバ200aに対して送信してもよい。そして、リスト要求部104は、複数の対象アプリケーションの少なくとも一の対象アプリケーション(或いは特定アプリケーション)のアプリケーションリストと、少なくとも一のリリース予定の対象アプリケーションのアプリケーションリストとの何れか一方又は両方のアプリケーションリストを取得してもよい。
また、リスト要求部104は、アプリケーションリストを管理サーバ200aから取得するとともに、アプリケーションリストに含まれるリリース予定の対象アプリケーションのそれぞれがユーザ端末100おいて選択済みであるか否かを示す情報を、管理サーバ200aから取得する。ここで、リリース予定の対象アプリケーションのそれぞれがユーザ端末100おいて選択済みであるか否かは、リリース予定の対象アプリケーションのアプリIDがユーザ端末100を特定するリワードユーザIDに関連付けられている送客情報の記録が管理サーバ200aにおいて管理されているか否かによって判定される。なお、リスト要求部104は、選択済みのリリース予定の対象アプリケーションのうちリリース後に報酬を取得済みの対象アプリケーションを区別可能な情報を取得してもよい。
表示制御部105は、リスト要求部104が取得した少なくとも一のリリース予定の対象アプリケーションのアプリケーションリストを表示部120に表示させる。例えば、表示制御部105は、リリース予定の対象アプリケーションのアプリケーションリストを表示部120に表示させる場合、リスト要求部104が取得した、上述の選択済みであるか否かを示す情報に基づいて、ユーザ端末100において選択済みのリリース予定の対象アプリケーションと未選択のリリース予定の対象アプリケーションとを区別して表示させる。なお、表示制御部105は、選択済みのリリース予定の対象アプリケーションのうちリリース後に報酬を取得済みの対象アプリケーションを区別して表示させてもよい。
例えば、表示制御部105は、未選択のリリース予定の対象アプリケーションと、選択済みのリリース予定の対象アプリケーションと、報酬取得済みの対象アプリケーションとが区別されたアプリケーションリストが表示されるようなアプリ一覧ページのリンク先情報を、リスト要求部104が管理サーバ200aから取得することに応じて、取得したアプリ一覧ページを、ブラウザ機能を実行させることにより表示部120に表示させる(例えば、図18参照)。
送客情報通知部106は、リリース予定の対象アプリケーション(送客先アプリ50)へ送客されたことを示す送客情報を管理サーバ200aに対して送信する。例えば、送客情報通知部106は、リスト要求部104が取得したアプリケーションリストに含まれる少なくとも一のリリース予定の対象アプリケーションの中から選択された送客先アプリ50のアプリIDと、このユーザ端末100を特定するリワードユーザIDとを含む送客情報を、管理サーバ200aに対して送信する。
なお、送客情報通知部106は、送客元アプリ10から送客先アプリ50へ送客されたことを示す送客情報を管理サーバ200aに対して送信してもよい。
例えば、リスト要求部104は、ユーザ端末100で動作している対象アプリケーションから、リスト要求通知情報を管理サーバ200aに対して送信する。ここで、ユーザ端末100で動作している対象アプリケーションとは、例えば、送客元アプリ10である。そして、リスト要求部104は、リスト要求通知情報を送信した送客元アプリ10において、リリース予定の対象アプリケーションのアプリケーションリストを取得する。また、送客情報通知部106は、リリース予定の対象アプリケーションのアプリケーションリストを取得した送客元アプリ10のアプリIDと、当該送客元アプリ10において当該アプリケーションリストに含まれる少なくとも一のリリース予定の対象アプリケーションの中から選択された送客先アプリ50のアプリIDと、ユーザ端末100を特定するリワードユーザIDとを含む送客情報を管理サーバ200aに対して送信する。
〔常駐アプリ40の機能構成〕
次に、図19を参照して、ユーザ端末100において、端末制御部150が常駐アプリ40に基づいて実行する処理の機能構成について説明する。図19は、常駐アプリ40に基づいて実行する処理の機能構成の一例を示す構成図である。常駐アプリ40は、ユーザ端末100においてOSが起動すると、対象アプリケーションの実行状態に係わらず起動して実行される常駐アプリケーションである。この常駐アプリ40は、アプリケーション情報取得部41と情報提示部42とを備えている。
アプリケーション情報取得部41は、管理サーバ200aからアプリケーションに関する情報を取得する。例えば、アプリケーション情報取得部41は、送客先アプリ50(ゲームN)がリリースされると、リリースされたことを示すリリース情報をアプリケーションに関する情報として管理サーバ200aから取得する。例えば、アプリケーション情報取得部41は、プッシュ通知により、管理サーバ200aから上述のリリース情報を取得する。
情報提示部42は、アプリケーション情報取得部41が取得した送客先アプリ50に関する情報を表示部120に表示させる。例えば、情報提示部42は、表示部120に表示される表示画面においてポップアップ表示するアラートダイアログや、表示画面内の所定の通知領域(各種アプリケーションにおける通知情報が表示される領域)に、上述のリリース情報を表示する。
〔第3の実施形態の管理サーバ200aの構成〕
次に、図20を参照して、管理サーバ200aの構成について説明する。図20は、本実施形態による管理サーバ200aの構成の一例を示す構成図である。この図20において、図6に示す各部に対応する構成には同じ符号を付け、その説明を省略する。
本実施形態による管理サーバ200aは、通信部210と、管理部220と、記憶部230aと、制御部240aとを備えている。記憶部230aは、対象アプリ情報記憶部231a及び送客情報記憶部237aが記憶する情報のデータ構成が、対象アプリ情報記憶部231及び送客情報記憶部237が記憶する情報のデータ構成と異なる点と、リリース予定アプリ情報記憶部239を備えている点とが、図6に示す管理サーバ200の記憶部230の構成と相違する。また、制御部240aは、アプリケーション情報通知部247を備えている点が、図6に示す管理サーバ200の制御部240の構成と相違する。その他の管理サーバ200aの構成は、図6に示す管理サーバ200の構成と同様であるため、本実施形態において特徴的な処理と上述の相違する構成とについて説明する。
アプリケーション管理部221は、管理の対象となる複数の対象アプリケーションと、当該対象アプリケーションの提供開始前のアプリケーションであるリリース予定の対象アプリケーションとに関する情報を対象アプリ情報記憶部231aに記憶させて管理する。つまり、対象アプリ情報記憶部231aは、リリースされている対象アプリケーションに関する情報に加えて、リリース予定の対象アプリケーションに関する情報を対象アプリケーション情報として記憶する。
図21は、対象アプリ情報記憶部231aに記憶される対象アプリケーション情報の一例を示す図である。対象アプリケーション情報には、図7に示す対象アプリケーション情報に対して、リリース情報URL(ReleaseInfURL)と、リリースフラグ(FlagRelease)とがさらに関連付けられている。
リリース情報URL(ReleaseInfURL)は、リリース予定の対象アプリケーションに関する情報の掲載ページのリンク先を示すURLである。この掲載ページのURLは、例えば、このリリース予定の対象アプリケーションの開発元や販売元のウェブサイトに設けられたウェブページのURLである。この掲載ページには、リリース予定の対象アプリケーションのリリース後(提供開始後)にユーザ端末100に表示させるための紹介画面に表示される情報が含まれている。例えば、この掲載ページには、このリリース予定の対象アプリケーションをインストール可能(ダウンロード可能)なアプリストア400へのリンクボタンや、所定の期間内にインストールしないと報酬が得られない旨の表示情報等が含まれている。なお、この掲載ページには、リリース予定の対象アプリケーションのリリース前(提供開始前)の期間においてユーザに提供する情報(例えば、リリース日時や、アプリケーションのより詳しい説明)が含まれてもよい。
リリースフラグ(FlagRelease)は、この対象アプリケーションがリリース済みであるか否かを示すフラグ情報である。例えば、フラグ「0」が、リリースされていない対象アプリケーション(即ち、リリース予定の対象アプリケーション)を示し、フラグ「1」が、リリースされている対象アプリケーションを示す。
例えば、対象アプリ情報記憶部231aに、リリース予定の対象アプリケーションが登録された時点では、フラグ「0」が設定され、この対象アプリケーションがリリースされた時点でフラグ「1」に更新される。なお、リリースと同時に対象アプリケーションが対象アプリ情報記憶部231aに登録される場合には、登録された時点で初めからフラグ「1」に設定される。
なお、フラグ「0」が設定されたリリース予定の対象アプリケーションの場合には、通知先URL(NoticeURL)やストアURL(ApStoreURL)が「null」に設定されていてもよく、リリースされた時点で、それぞれにリワードの通知先のURLや販売サイト(アプリストア400)のページのURLが設定されてもよい。
なお、対象アプリ情報記憶部231aは、リリース予定の対象アプリケーションに関する情報を、リリースされている対象アプリケーションに関する情報と別に記憶してもよい。この場合、対象アプリ情報記憶部231aは、リリース予定の対象アプリケーションに関する情報として、例えば、リリース予定の対象アプリケーションのアプリID(ApID)と、当該対象アプリケーションの名称を示すアプリ名称(ApNAME)と、当該対象アプリケーションに関する説明情報であるアプリ説明(ApDOC)と、当該対象アプリケーションを示すアイコン画像であるアプリアイコン画像(ApICO)と、アプリ価格(ApPRICE)とが関連付けられた情報を記憶してもよい。そして、リリース予定の対象アプリケーションがリリースされた時点で、リリースされている対象アプリケーションに関する情報に登録されるようにしてもよい。
また、アプリケーション管理部221は、リリース予定の対象アプリケーション毎のリワードに関する情報として、ユーザ端末100においてリリース予定の対象アプリケーションに対する選択を受け付ける期間(即ち、選択可能な期間)を示す受付期間や、少なくとも終了日時が規定された報酬付与期限を、リリース予定アプリ情報記憶部239に記憶させて管理している。つまり、リリース予定アプリ情報記憶部239は、リリース予定の対象アプリケーション毎のリワードに関する情報を記憶する。
図22は、リリース予定アプリ情報記憶部239に記憶される情報の一例を示す図である。この情報には、アプリID(ApID)と、受付開始日時(RcpStartDATE)と、受付終了日時(RcpEndDATE)と、報酬付与開始日時(RewardStartDATE)と、報酬付与終了日時(RewardEndDATE)と、報酬の内容を示す情報とが関連付けられている。報酬の内容を示す情報には、リリース予定の対象アプリケーションにおいて報酬として付与されるアイテムを識別するアイテムID(ItemID)と、当該アイテムの名称を示す報酬アイテム名称(ItemName)と、当該アイテムの報酬として付与される数を示す報酬アイテム数(ItemNum)とが含まれる。
アプリID(ApID)は、リリース予定の対象アプリケーションのアプリIDである。受付開始日時(RcpStartDATE)と、受付終了日時(RcpEndDATE)とのそれぞれは、ユーザ端末100において、リリース予定の対象アプリケーションに対する選択を受け付ける期間(即ち、選択可能な期間)の開始日時と終了日時とのそれぞれを示している。また、報酬付与開始日時(RewardStartDATE)と、報酬付与終了日時(RewardEndDATE)とのそれぞれは、リリース予定の対象アプリケーションを選択したユーザ(例えば、事前に登録したユーザ)が、当該対象アプリケーションがリリースされた後、いつまでにインストールすれば報酬が付与されかを規定する報酬付与期間の開始日時と終了日時とのそれぞれを示している。
なお、報酬付与期間の開始日時は、通常は対象アプリケーションのリリース日時(インストールが可能となった日時)である。そのため、報酬付与開始日時(RewardStartDATE)と、報酬付与終了日時(RewardEndDATE)とのうちの少なくとも報酬付与終了日時(RewardEndDATE)のみにより報酬付与期限が設定されるようにしてもよい。例えば、報酬付与終了日時は、対象アプリケーションのリリース日時の一週間後や一ヶ月後に設定される。また、報酬付与期限を設けない構成としてもよい。
送客情報管理部223は、上述のアプリケーションリストに含まれる少なくとも一のリリース予定の対象アプリケーションの中からユーザ端末100において選択された送客先アプリ50のアプリIDとユーザ端末100を特定するリワードユーザIDとを関連付けて、ユーザ端末100を利用するユーザが送客先アプリ50に送客されたことを示す送客情報の記録として管理する。つまり、送客情報記憶部237aは、リリースされている対象アプリケーションへの送客情報に加えて、リリース予定の対象アプリケーションへの送客情報の記録を記憶する。
図23は、送客情報記憶部237aに記憶される送客情報の一例を示す図である。送客情報には、図7に示す送客情報に対して、情報種別フラグ(FlagInf)がさらに関連付けられている。情報種別フラグ(FlagInf)は、リリースされている対象アプリケーションへの送客を示す送客情報であるか、または、リリース予定の対象アプリケーションへの送客を示す送客情報であるかを示すフラグ情報である。例えば、情報種別フラグ(FlagInf)には、リリースされている対象アプリケーションへの送客を示す送客情報である場合には、フラグ「0」が設定され、リリース予定の対象アプリケーションへの送客を示す送客情報である場合には、フラグ「1」が設定される。
ここで、リリース予定の対象アプリケーションへの送客を示す送客情報の場合には、キャンペーン期間の送客ではないため、キャンペーンID(CpID)には「null」が設定される。また、リリース予定の対象アプリケーションへの送客が成立した場合に、当該対象アプリケーション(即ち、送客先アプリ50)において報酬が付与される場合、送客元アプリ10の特定が不要であるため、送客元アプリID(ApIDfrom)に「null」が設定される。即ち、送客情報記憶部237aは、リリース予定の対象アプリケーションへの送客情報として、例えば、ワードユーザIDと、送客先アプリ50のアプリIDとが関連付けられている送客情報を記憶する。
なお、送客情報記憶部237aは、リリース予定の対象アプリケーションへの送客情報として、リワードユーザIDと、送客元アプリ10のアプリIDと、送客先アプリ50のアプリIDとが関連付けられている送客情報を記憶してもよい。
図20に戻り、制御部240aの構成について説明する。
リスト通知部242は、少なくとも一のリリース予定の対象アプリケーションのアプリケーションリストをユーザ端末100に対して送信する。例えば、リスト通知部242は、複数の対象アプリケーションのうちユーザ端末100にインストールされている対象アプリケーションからの要求に基づいて、アプリケーションリストをユーザ端末100に対して送信する。
具体的には、リスト通知部242は、ユーザ端末100にインストールされている送客元アプリ10(送客元アプリ10のSDK11A)から送信された、少なくとも一のリリース予定の対象アプリケーションのアプリケーションリストを要求するリスト要求通知情報を取得すると、取得したリスト要求通知情報に基づいて、対象アプリ情報記憶部231aを参照して、少なくとも一のリリース予定の対象アプリケーションのアプリケーションリストをユーザ端末100に対して送信する。
なお、リスト通知部242は、送客情報記憶部237aを参照して、アプリケーションリストを送信するユーザ端末100から取得して記憶されている送客情報に含まれるリリース予定の対象アプリケーションを示す情報(即ち、ユーザ端末100において選択済みのリリース予定の対象アプリケーションを示す情報)をユーザ端末100に送信してもよい。また、リスト通知部242は、送客情報記憶部237aとリワード成立情報記憶部238とを参照して、報酬付与情報を通知済みの送客情報に含まれる対象アプリケーションを示す情報をユーザ端末100に送信してもよい。
このとき、リスト通知部242は、リリース予定の対象アプリケーションに関する情報(アプリ名称、説明、価格等)、リリース予定の対象アプリケーションを選択可能な期間を示す情報、または報酬の内容を示す情報を含むアプリケーションリストがユーザ端末100において表示可能なアプリ一覧ページ(例えば、図18参照)のデータを生成してユーザ端末100に対して送信する。例えば、リスト通知部242は、SDK11が実行可能なブラウザ機能により表示可能なHTML(HyperText Markup Language)形式で記述された当該アプリケーションリストが表示されるアプリ一覧ページのデータを生成し、生成したページのリンク先を示す情報をユーザ端末100に対して送信する。
また、リスト通知部242は、ユーザ端末100からの要求に応じて、アプリケーションリストをユーザ端末100に対して送信するとともに、アプリケーションリストに含まれるリリース予定の対象アプリケーションのそれぞれがユーザ端末100において選択済みであるか否かを示す情報をユーザ端末100に対して送信する。ここで、リスト通知部242は、アプリケーションリストに含まれるリリース予定の対象アプリケーションのアプリIDがユーザ端末100を特定するリワードユーザIDに関連付けられている送客情報の記録を送客情報管理部223が管理しているか否かに基づいて、リリース予定の対象アプリケーションのそれぞれがユーザ端末100において選択済みであるか否かを判定する。
即ち、リスト通知部242は、アプリケーションリストをユーザ端末100に対して送信する際に、当該ユーザ端末100において、未選択のリリース予定の対象アプリケーションであるか、または選択済みのリリース予定の対象アプリケーションであるかを区別可能なように送信する。なお、リスト通知部242は、リワード成立情報記憶部238を参照して、選択済みのリリース予定の対象アプリケーションのうちリリース後に報酬付与情報を通知済み(即ち、ユーザXが報酬取得済み)の対象アプリケーションを区別可能なように送信してもよい。
具体的には、リスト通知部242は、例えば、上述したユーザ端末100において表示可能なアプリ一覧ページのデータを生成する際に、未選択のリリース予定の対象アプリケーションと、選択済みのリリース予定の対象アプリケーションと、報酬取得済みの対象アプリケーションとが区別して表示されるようなアプリ一覧ページ(例えば、図18参照)のデータを生成してユーザ端末100に対して送信する。
送客情報取得部243は、ユーザ端末100において選択された送客先アプリ50のアプリIDとユーザ端末100を特定するリワードユーザIDとを含む送客情報を、ユーザ端末100(SDK11A)から取得する。なお、送客情報取得部243は、送客元アプリ10のアプリIDと送客先アプリ50のアプリIDとユーザ端末100を特定するリワードユーザIDとを含む送客情報を、要求した対象アプリケーションから取得してもよい。そして、送客情報取得部243は、取得した送客情報を送客情報管理部223に供給する。
そして、送客情報管理部223は、送客情報取得部243が取得した送客情報に含まれる送客先アプリ50のアプリIDとユーザ端末100を特定するリワードユーザIDとを関連付けて、送客情報の記録として管理する。
例えば、送客情報管理部223は、リリース予定アプリ情報記憶部239に記憶されている受付期間内に送客情報取得部243が取得した送客情報に含まれる送客先アプリ50のアプリIDとユーザ端末100を特定するリワードユーザIDとを関連付けて、送客情報の記録として管理する。ここで、送客情報管理部223は、送客情報取得部243が取得した送客情報がリリース予定の対象アプリケーションへの送客を示す送客情報であるため、情報種別フラグ(FlagInf)にフラグ「1」を設定する。
なお、送客情報管理部223は、送客情報取得部243が取得した送客情報がリリースされている対象アプリケーションへの送客を示す送客情報である場合には、情報種別フラグ(FlagInf)にフラグ「0」を設定する。
なお、送客情報管理部223は、送客情報取得部243が取得した送客情報に含まれる、送客元アプリ10のアプリIDと送客先アプリ50のアプリIDとユーザ端末100を特定するリワードユーザIDとを関連付けて、送客情報の記録として管理してもよい。
アプリケーション情報通知部247は、送客情報管理部223が管理する送客情報に基づいて、送客先アプリ50に関する情報を、送客先アプリ50のアプリIDに関連付けられているリワードユーザIDにより特定されるユーザ端末100に対して送信する。例えば、アプリケーション情報通知部247は、アプリケーション管理部221が管理する情報と送客情報管理部223が管理する送客情報とに基づいて、送客先アプリ50がリリースされた場合、送客先アプリ50がリリースされたことを示す情報を、送客先アプリ50のアプリIDに関連付けられているリワードユーザIDにより特定されるユーザ端末100に対して送信する。
ここで、送客先アプリ50がリリースされたことを示す情報には、送客先アプリ50をインストール可能な画面に誘導する指示情報が含まれている。これにより、ユーザ端末100は、送客先アプリ50がリリースされてインストール可能になったことをユーザXに通知することができる。これにより、ユーザXは、事前に登録した送客先アプリ50のリリース日を覚えておくことが不要となり、リリース日にユーザ端末100において、送客先アプリ50のインストールを行うことができる。
リワード処理部245は、インストール通知取得部241が取得した送客先アプリ50に対応したインストール通知情報と、送客情報管理部223が管理する送客情報の記録とに基づいて、送客先アプリ50がユーザ端末100にインストールされたと判定された場合に、ユーザ端末100を利用するユーザに対して報酬が付与されるリワード処理を実行する。例えば、リワード処理部245は、インストールされた送客先アプリ50においてユーザ端末100を利用するユーザに対して報酬が付与されるリワード処理を実行する。
具体的には、リワード処理部245は、送客先アプリ50がユーザ端末100にインストールされたと判定された場合に、ユーザ端末100を特定するリワードユーザIDに関連付けられた送客先アプリ50のアプリユーザIDを含む報酬付与情報を、送客先アプリ50に対応するアプリサーバ350に送信する。これにより、アプリサーバ350において、送客先アプリ50における報酬がユーザXに対して付与される。
また、リワード処理部245は、リリース予定アプリ情報記憶部239に記憶されている情報を参照して、送客先アプリ50がユーザ端末100にインストールされたことを示すインストール通知情報を、送客先アプリ50の報酬付与期間内(報酬付与期限内)にインストール通知取得部241が取得した場合に、上述のリワード処理を実行する。つまり、送客先アプリ50がユーザ端末100にインストールされたことを示すインストール通知情報を、送客先アプリ50の報酬付与期間以外に取得した場合には、リワード処理部245は、上述のリワード処理を実行しない。
〔第3の実施形態の相互送客処理の動作の詳細〕
次に、図24、図25、および図26を参照して、本実施形態による相互送客システム500aの相互送客処理の動作の詳細について説明する。図24、図25、及び図26は、本実施形態による相互送客処理の動作の一例を示すフローチャートである。この図24、図25、及び図26に示す処理は、図17を参照して説明した処理の概略の流れの詳細例を示すものである。
まず、図24を参照して、ユーザ端末100に送客元アプリ10(ゲームA)がインストールされた後にSDK11Aが実行する処理(図17の(1)の処理)から、ユーザ端末100において選択されたリリース予定の対象アプリケーションである送客先アプリ50(ゲームN)に対する送客情報を管理サーバ200aが取得して管理する処理(図17の(5A)の処理)までの詳細例を説明する。なお、この図24において、図14に示す処理に対応する部分には同一の符号を付けており、その説明を適宜省略する。
図14を参照して説明した処理と同様に、ユーザ端末100に送客元アプリ10(ゲームA)がインストールされた場合、送客元アプリ10(ゲームA)に組み込まれているSDK11Aの初期化処理部101は、初期化処理を実行する。
次に、送客元アプリ10における所定の操作に基づいて、SDK11Aのリスト要求部104は、端末記憶部140のアプリ間共有エリアからリワードユーザIDを読み出すとともに(ステップSA23)、少なくとも一のリリース予定の対象アプリケーションのアプリケーションリスト(送客先アプリ50の候補となる対象アプリケーションの一覧)を要求するリスト要求通知情報を管理サーバ200aに対して送信する(REQ12A、ステップSA310)。
ここでリスト要求通知情報には、このユーザ端末100に対応するリワードユーザID(RewardUID)と、送客元アプリ10(ゲームA)のアプリID(ApID)とが含まれる。なお、リスト要求通知情報にキャンペーンID(CpID)が含まれてもよいが、その場合キャンペーンID(CpID)には「null」が設定されてもよい。
管理サーバ200aのリスト通知部242は、ユーザ端末100(送客元アプリ10のSDK11A)から送信されたリスト要求通知情報を取得すると、対象アプリ情報記憶部231aに記憶されている対象アプリ情報(例えば、図21参照)を参照して、リリース予定の対象アプリケーションを抽出する。そして、リスト通知部242は、抽出したリリース予定の対象アプリケーションのアプリケーションリストを、リスト要求通知情報に含まれるリワードユーザIDで特定されるユーザ端末100に対して送信する。例えば、リスト通知部242は、このアプリケーションリストを含むアプリ一覧ページのデータを生成し(ステップSE310)、生成したアプリ一覧ページのリンク先を示す情報を含むリダイレクト指示情報をユーザ端末100に対して送信し、アプリ一覧ページにリダイレクトさせる(RES12A、ステップSE312)。
ここで、リスト通知部242は、リリース予定アプリ情報記憶部239を参照して、アプリケーションリストに含まれるリリース予定の対象アプリケーションに、そのリリース予定の対象アプリケーションが選択可能期間内であるか否かを示す情報を対応付けたアプリ一覧ページのデータを生成してもよいし、選択可能期間内であるリリース予定の対象アプリケーションのみのアプリケーションリストを含むアプリ一覧ページのデータを生成してもよい。
なお、リリース予定の対象アプリケーションが存在しなかった場合には、アプリケーションリストの替わりにリリース予定の対象アプリケーションが存在しない旨を記載したアプリ一覧ページを生成する。例えば、選択可能期間内であるリリース予定の対象アプリケーションが存在しなかった場合には、アプリケーションリストの替わりに、選択可能なリリース予定の対象アプリケーションが存在しない旨を記載したアプリ一覧ページを生成する。
ユーザ端末100(SDK11A)が、管理サーバ200aからアプリ一覧ページのリンク先を示す情報を含むリダイレクト指示情報を取得すると、SDK11Aの表示制御部105は、ブラウザ機能により、リリース予定の対象アプリケーションのアプリ一覧ページを表示部120に表示させる(ステップSA312)。
ここで、表示制御部105は、それまで表示部120に表示させていた送客元アプリ10(ゲームA)の表示画面にオーバーラップさせて、このアプリ一覧ページを表示させる。これにより、ユーザ端末100の表示部120には、送客先アプリ50として選択可能なリリース予定の対象アプリケーションのアプリケーションリストLT2がアプリ一覧ページに表示される(例えば、図18参照)。
ユーザ端末100の表示部120に表示されたアプリケーションリストLT2の中からいずれかの対象アプリケーションがユーザXにより選択されると、SDK11Aの送客情報通知部106は、送客元アプリ10(ゲームA)から、選択されたリリース予定の対象アプリケーション(ここでは、送客先アプリ50(ゲームN))へ送客されたことを示す送客情報を管理サーバ200aに対して送信する(REQ13A、ステップSA314)。
ここで、送客情報には、送客元アプリ10(ゲームA)のアプリID(ApID)と、送客先アプリ50(ゲームN)のアプリID(ApID)と、リワードユーザID(RewardUID)とが含まれる。なお、送客情報にキャンペーンID(CpID)が含まれてもよいが、その場合にはキャンペーンID(CpID)には「null」が設定されてもよい。
なお、SDK11Aの表示制御部105は、送客先アプリ50(ゲームN)が選択されると、ステップSA312において表示部120に表示されたアプリ一覧ページを閉じて、送客元アプリ10(ゲームA)の表示画面に戻す。
管理サーバ200aの送客情報取得部243は、ユーザ端末100(SDK11A)から送客情報を取得する。そして、送客情報管理部223は、送客情報取得部243が取得した送客情報に含まれる送客先アプリ50(ゲームN)のアプリID(ApID)と、リワードユーザID(RewardUID)とを関連付けて送客情報の記録として送客情報記憶部237aに記憶させる(ステップSE314)。このとき、送客情報管理部223は、情報種別フラグ(FlagInf)にフラグ「1」を設定する。
次に図25を参照して、送客先アプリ50(ゲームN)がリリースされた後に、リリース情報が通知される処理(図17の(5B)の処理から(6A)の処理)についての詳細例を説明する。
管理サーバ200aのアプリケーション情報通知部247は、送客情報管理部223が管理するリリース予定の対象アプリケーションへの送客を示す送客情報を参照して、当該対象アプリケーションがリリース済みとなった送客情報を抽出する(ステップSE320)。
具体的には、アプリケーション情報通知部247は、送客情報管理部223が管理する送客情報の記録のうち、情報種別フラグ(FlagInf)にフラグ「1」が設定された送客先アプリ50(ゲームN)への送客を示す送客情報を抽出する。次に、アプリケーション情報通知部247は、抽出した送客先アプリ50(ゲームN)への送客を示す送客情報と、対象アプリ情報記憶部231aに記憶されている対象アプリ情報に含まれているリリースフラグ(FlagRelease)とに基づいて、送客先アプリ50(ゲームN)がリリース済みとなっているか否かを判定する。送客先アプリ50(ゲームN)がリリース済みとなっている場合には、アプリケーション情報通知部247は、送客先アプリ50(ゲームN)への送客を示す送客情報を、リリース予定の対象アプリケーションがリリース済みとなった送客情報として抽出する。
次に、アプリケーション情報通知部247は、送客先アプリ50(ゲームN)がユーザ端末100にインストール済みであるか否かを判定する(ステップSE322)。具体的には、アプリケーション情報通知部247は、インストール情報記憶部236に記憶されているインストール情報を参照して、送客先アプリ50(ゲームN)がインストールされたことを示すインストール通知情報を、インストール通知取得部241がユーザ端末100から取得したか否かを判定することにより、送客先アプリ50(ゲームN)がユーザ端末100にインストール済みであるか否かを判定する。
ステップSE322において、送客先アプリ50(ゲームN)がユーザ端末100にインストールされていないと判定された場合(ステップSE322:NO)、アプリケーション情報通知部247は、送客先アプリ50(ゲームN)がリリースされたことを示すリリース情報をユーザ端末100に対して通知する(ステップSE324)。すなわち、アプリケーション情報通知部247は、送客先アプリ50(ゲームN)のリリース情報をユーザ端末100に対して送信する。ここで、このリリース情報には、例えば、送客先アプリ50(ゲームN)に関する情報の掲載ページ(送客先アプリ50(ゲームN)の紹介画面)のURLが含まれている。この送客先アプリ50(ゲームN)に関する情報の掲載ページのURLは、対象アプリ情報記憶部231aに記憶される対象アプリケーション情報において、送客先アプリ50(ゲームN)のアプリIDに関連付けられているリリース情報URL(ReleaseInfURL)に設定されているURLである。
一方、ステップSE322において、送客先アプリ50(ゲームN)がユーザ端末100にインストール済みであると判定された場合(ステップSE322:YES)、アプリケーション情報通知部247は、ステップSE324の処理を実行しない。すなわち、この場合には、アプリケーション情報通知部247は、送客先アプリ50(ゲームN)のリリース情報をユーザ端末100に対して送信しない。
なお、管理サーバ200aは、ステップSE320からステップSE324の処理を、例えば1日に1回の間隔で繰り返し実行してもよい。これにより、管理サーバ200aは、送客先アプリ50(ゲームN)がリリース済みとなっているか否かを1日毎に判定し、リリース済みとなった場合には、リリース情報をそのリリース日にユーザ端末100に対して送信することができる。なお、このステップSE320からステップSE324の処理を実行する間隔は一例であって、1日に1回の間隔に限られるものではない。
また、管理サーバ200aは、ステップSE324の処理において送客先アプリ50(ゲームN)のリリース情報をユーザ端末100に送信した後、例えば3日経過しても当該ユーザ端末100から送客先アプリ50(ゲームN)がインストールされたことを示すインストール通知情報を取得していない場合には、リマインダーとして、再度、送客先アプリ50(ゲームN)のリリース情報を当該ユーザ端末100に送信してもよい。さらに、報酬付与期限が設定されている場合には、報酬付与期限が到来するまでの期間、管理サーバ200aは、このリマインダーを繰り返してもよい。なお、このリマインダーとしてリリース情報を送信する条件となる経過日数(経過時間)は一例であって、条件となる経過日数は3日に限られるものではない。
次に、ユーザ端末100において実行中の常駐アプリ40のアプリケーション情報取得部41は、管理サーバ200aから送信されたリリース情報を取得する。そして、常駐アプリ40の情報提示部42は、アプリケーション情報取得部41が取得した送客先アプリ50のリリース情報を表示部120に表示させる(ステップSA320)。例えば、情報提示部42は、表示部120に表示される表示画面においてポップアップ表示するアラートダイアログや、表示画面内の所定の通知領域(各種アプリケーションにおける通知情報が表示される領域)に、取得したリリース情報を表示させる。
表示部120に表示されたリリース情報に対して、ユーザXが操作(例えば、タップ操作)すると、ユーザ端末100にインストールされているブラウザ45が起動し、起動したブラウザ45が、リリース情報に含まれるURLのリンク先のページ、即ち、リリースされた送客先アプリ50(ゲームN)の紹介画面を表示する(ステップSA322)。ここで、送客先アプリ50(ゲームN)の紹介画面には、所定の期間内にインストールしないと報酬が得られない旨の表示情報や、送客先アプリ50(ゲームN)をインストール可能(ダウンロード可能)なアプリストア400へのリンクボタンが表示される。即ち、リリース情報には、送客先アプリ50(ゲームN)をインストール可能(ダウンロード可能)なアプリストア400のストアページ(ゲームNのダウンロードページ)に誘導する指示情報として、リリースされた送客先アプリ50(ゲームN)の紹介画面を表示するURLが含まれている。
ブラウザ45により表示された紹介画面において、アプリストア400へのリンクボタンに対してユーザXが操作(例えば、タップ操作)すると(ステップSA324)、ストア30が起動し、起動したストア30が、送客先アプリ50(ゲームN)をインストール可能なアプリストア400のストアページ(ゲームNのダウンロードページ)を表示する(ステップSA326)。
これにより、ユーザXは、送客先アプリ50(ゲームN)をインストール可能なアプリストア400のストアページ(ゲームNのダウンロードページ)から、送客先アプリ50(ゲームN)をユーザ端末100にインストールすることができる。
なお、アプリケーション情報通知部247は、報酬付与期間内であるか否かを判定し、報酬付与期間内である場合に、送客先アプリ50(ゲームN)がリリースされたことを示すリリース情報をユーザ端末100に対して送信してもよい。
次に図26を参照して、送客先アプリ50(ゲームN)がリリース後にユーザ端末100にインストールされて起動した後の処理(図17の(8)の処理から(11A)の処理)についての詳細例を説明する。なお、この図26において、図15に示す処理に対応する部分には同一の符号を付けており、その説明を適宜省略する。
まず、ユーザ端末100に送客先アプリ50(ゲームN)がインストールされると、ユーザ端末100(SDK11N)は、送客元アプリ10(ゲームA)がインストールされたときにユーザ端末100(SDK11A)が実行する図24に示す初回起動時の処理および初期化処理と同様の処理を実行する。
管理サーバ200aのインストール通知取得部241が送客先アプリ50(ゲームN)に対応するインストール通知情報をユーザ端末100(SDK11N)から取得すると、管理サーバ200aのリワード処理部245は、送客先アプリ50に対する送客情報が送客情報記憶部237aに記憶されているか否かを判定する。そして、リワード処理部245は、この送客情報が送客情報記憶部237aに記憶されている場合には(即ち、送客先アプリ50に対する送客情報の記録が送客情報管理部223において管理されていることを条件として)、送客先アプリ50が相互送客システム500aにより送客された対象アプリケーションであると判定し、リワード処理を実行する。
ここでは、ステップSE314の処理において、送客情報記憶部237aに記憶されている送客情報の記録により、送客先アプリ50が、リリース前に相互送客システム500aにより送客された対象アプリケーションであると判定される。
リワード処理部245は、インストール通知取得部241が送客先アプリ50からのインストール通知情報を取得し、且つ、送客先アプリ50に対する送客情報の記録が送客情報管理部223において管理されていることに基づいて、当該送客情報に記憶されたリワード管理IDに関連付けて、成果地点ID(RewardSpotID)を「null」とし、成立状態(RewardStatus)をフラグ「0」(未通知)とするリワード成立情報を生成し、リワード成立情報記憶部238に記憶させる(ステップSE332)。
次に、リワード処理部245は、生成したリワード成立情報に関連付けられたリワード管理IDに対応した送客情報を、送客情報記憶部237aに記憶されている送客情報の記録を参照して取得する。そして、リワード処理部245は、その送客情報に含まれる送客先アプリ50(ゲームN)に対応するアプリサーバ350(ゲームN)に対して、送客先アプリ50(ゲームN)のアプリユーザID(ApUID)を含む報酬付与情報を送信する(ステップSE334)。ここで、送客先アプリ50(ゲームN)のアプリユーザID(ApUID)は、例えば、送客先アプリ50がインストールされたことを示すインストール通知情報により、管理サーバ200aがユーザ端末100(SDK11A)から取得したものである。
なお、報酬付与情報の送信先(アプリサーバ350)は、対象アプリ情報記憶部231aに記憶されている送客先アプリ50(ゲームN)のアプリID(ApID)に関連付けられている通知先URL(NoticeURL)に設定されている。
次に、リワード処理部245は、送信した報酬付与情報に対応したリワード成立情報の成立状態(RewardStatus)をフラグ「1」(通知済み)として更新する。
アプリサーバ350(ゲームN)は、管理サーバ200aから報酬付与情報をリワード成立情報として受信すると(ステップSF332)、当該報酬付与情報に含まれるアプリユーザID(ユーザXのアプリユーザID)に対して、予め設定された報酬を付与する(ステップSF334)。この報酬は、例えば、リリース予定の対象アプリケーションに対するリリース前の送客によって付与される報酬として、当該対象アプリケーションの提供元により予め設定されたものである。
〔第3の実施形態のまとめ〕
(1)以上説明してきたように、本実施形態の相互送客システム500aにおいて、管理サーバ200a(管理装置の一例)は、アプリケーション管理部221と、リスト通知部242と、送客情報管理部223と、インストール通知取得部241と、リワード処理部245と、を備えている。
アプリケーション管理部221は、管理の対象となる複数の対象アプリケーションのうち提供開始前のアプリケーションであるリリース予定の対象アプリケーション(提供開始前アプリケーションの一例)に関する情報を管理する。リスト通知部242は、少なくとも一のリリース予定の対象アプリケーションのアプリケーションリストをユーザ端末100(端末装置の一例)に対して送信する。送客情報管理部223は、上述のアプリケーションリストに含まれる少なくとも一のリリース予定の対象アプリケーションの中からユーザ端末100において選択された送客先アプリ50(選択アプリケーションの一例)のアプリID(識別情報の一例)とユーザ端末100を特定するリワードユーザID(固有識別情報の一例)とを関連付けて、ユーザ端末100を利用するユーザが送客先アプリ50に送客されたことを示す送客情報の記録として管理する。
インストール通知取得部241は、複数の対象アプリケーションのうちユーザ端末100にインストールされた対象アプリケーションの当該インストールされたことを示すインストール通知情報であって、当該インストールされた対象アプリケーションのアプリIDと含むインストール通知情報を、前記端末装置を特定する前記固有識別情報と関連付けて当該対象アプリケーションから取得する。
リワード処理部245は、インストール通知取得部241が取得したインストール通知情報と、送客情報管理部223が管理する送客情報の記録とに基づいて、送客先アプリ50がユーザ端末100にインストールされたと判定された場合に、ユーザ端末100を利用するユーザに対して報酬が付与されるリワード処理(報酬付与処理の一例)を実行する。
このように、管理サーバ200aは、少なくとも一のリリース予定の対象アプリケーションの中からユーザ端末100おいて選択された対象アプリケーションに対する送客情報を管理し、当該対象アプリケーションがリリース後にユーザ端末100にインストールされると、管理している送客情報に基づいて、ユーザ端末100を利用するユーザ(ユーザX)に対して報酬が付与されるリワード処理を実行する。このとき、管理サーバ200aは、送客情報に含まれるリワードユーザIDに基づいて、ユーザ端末100を利用するユーザ(ユーザX)を特定する。
これにより、管理サーバ200aは、まだリリースされていないリリース予定の対象アプリケーションに対するユーザの送客を可能とし、リリース後に送客が成立した場合には、送客されたユーザに対して報酬を付与することができる。よって、ユーザが対象アプリケーションを利用する動機付けを当該対象アプリケーションのリリース前から高めることができる。
なお、固有識別情報としては、相互送客システム500aで独自に生成されたリワードユーザID以外にも、ユーザ端末100ごとに一意に割り振られるUDID(Unique Device Identifier)、IMEI(International Mobile Equipment Identity)またはIMSI(International Mobile Subscriber Identity)等の識別番号を利用してもよい。またこれら識別番号をハッシュ化・暗号化して利用してもよい。つまり、相互送客システム500aの内部もしくは外部において生成または設定され、ユーザ端末100で一意となる識別情報であればよい。
(2)また、本実施形態の相互送客システム500aにおいて、ユーザ端末100(端末装置の一例)は、管理サーバ200a(管理装置の一例)と通信可能である。ここで、管理サーバ200aは、管理の対象となる複数の対象アプリケーションのうち提供開始前のアプリケーションであるリリース予定の対象アプリケーション(提供開始前アプリケーションの一例)に関する情報を管理する。また、管理サーバ200aは、リリース予定の対象アプリケーションの中からユーザ端末100において選択された送客先アプリ50(選択アプリケーションの一例)のアプリID(識別情報の一例)とユーザ端末100を特定するリワードユーザID(固有識別情報の一例)とを関連付けて、リリース予定の対象アプリケーションに対する送客情報の記録として管理する。
ユーザ端末100は、リスト取得部の機能を有するリスト要求部104と、送客情報通知部106と、を備えている。リスト要求部104(リスト取得部の一例)は、少なくとも一のリリース予定の対象アプリケーションのアプリケーションリストを管理サーバ200aから取得する。送客情報通知部106は、リスト要求部104が取得したアプリケーションリストに含まれる少なくとも一のリリース予定の対象アプリケーションの中から選択された送客先アプリ50のアプリIDを含む送客情報を、ユーザ端末100(端末装置の一例)を特定するリワードユーザIDと関連付けて管理サーバ200aに対して送信する。
このように、ユーザ端末100は、管理サーバ200aから少なくとも一のリリース予定の対象アプリケーションのアプリケーションリストを取得し、取得したアプリケーションリストに含まれる少なくとも一のリリース予定の対象アプリケーションの中から選択された送客先アプリ50に対する送客情報を管理サーバ200aに対して送信する。このとき、ユーザ端末100は、送客が成立した際に報酬が付与されるユーザを管理サーバ200aが特定するためのリワードユーザIDを含む送客情報を、管理サーバ200aに対して送信する。
これにより、ユーザ端末100は、まだリリースされていないリリース予定の対象アプリケーションに対する送客を行うことができる。
なお、管理サーバ200aは、管理している送客情報に対応する送客先アプリ50がユーザ端末100にインストールされた場合に、ユーザ端末100を利用するユーザに対して報酬が付与される報酬付与処理を実行してもよい。
なお、上述のリスト要求部104の機能と、送客情報通知部106の機能とが、複数の対象アプリケーションのそれぞれに組み込まれたSDK11(ソフトウェア)に基づいて実行される。例えば、送客元アプリ10に組み込まれたSDK11Aが、リスト要求部104の機能と、送客情報通知部106の機能とを実行する。
これにより、アプリケーションにSDK11を組み込むことにより、本実施形態の相互送客システム500aに対応した対象アプリケーションとすることができる。よって、例えば、既存のアプリケーションやこれから開発するアプリケーションにおいても、SDK11を組み込み可能なようにアプリケーションのプログラムを更新または小変更すれば、当該アプリケーションを相互送客システム500aに対応した対象アプリケーションとすることができる。
(3)ユーザ端末100(SDK11)は、固有識別情報取得部102を備えている。固有識別情報取得部102は、リワードユーザID(固有識別情報の一例)が端末記憶部140(記憶部の一例)に記憶されているか否かを判定し、リワードユーザIDが端末記憶部140に記憶されていないと判定した場合にリワードユーザIDを取得し、取得したリワードユーザIDを、ユーザ端末100(端末装置の一例)にインストールされたいずれの対象アプリケーションからも参照可能なように端末記憶部140に記憶させる。
即ち、リワードユーザIDは、複数の対象アプリケーションのうちの最初にユーザ端末100にインストールされた対象アプリケーションが起動したことを条件として取得され、ユーザ端末100にインストールされたいずれの対象アプリケーションからも参照可能なようにユーザ端末100に記憶されている。
これにより、相互送客システム500aによれば、ユーザ端末100が、初めて対象アプリケーションがインストールされたときに自動でリワードユーザIDを取得し、取得したリワードユーザIDをその後インストールされる対象アプリケーションでも共通に利用可能とするため、ユーザに特別な操作をさせることなくリワードユーザIDが取得されて本システムを利用可能とすることができる。
(4)ユーザ端末100(SDK11)は、インストール通知部103を備えている。インストール通知部103は、ユーザ端末100(端末装置の一例)にインストールされた対象アプリケーションの当該インストールされたことを示すインストール通知情報であって、当該対象アプリケーションのアプリID(識別情報の一例)を含むインストール通知情報を、ユーザ端末100を特定するリワードユーザID(固有識別情報の一例)と関連付けて管理サーバ200aに対して送信する。
これにより、ユーザ端末100は、送客先アプリ50がインストールされた場合、ユーザ端末100に送客先アプリ50がインストールされたことを管理サーバ200aに対して通知することができる。よって、管理サーバ200aは、インストール通知情報に含まれる、ユーザ端末100にインストールされた対象アプリケーションのアプリIDと、ユーザ端末100を特定するリワードユーザIDとに基づいて、送客情報を参照して、インストールされた対象アプリケーションが送客先アプリ50であるか否かを判定することができる。即ち、管理サーバ200aは、ユーザ端末100に送客先アプリ50がインストールされたか否かを判定することができる。
(5)なお、インストール通知情報には、さらにインストール通知情報を送信した対象アプリケーションのアプリユーザID(ユーザ情報の一例)が含まれてもよい。例えば、ユーザ端末100のインストール通知部103は、インストールされた対象アプリケーションをインストールしたユーザのインストールされた対象アプリケーションにおけるアプリユーザIDと、当該対象アプリケーションのアプリID(識別情報の一例)とを含むインストール通知情報を、ユーザ端末100(端末装置の一例)を特定するリワードユーザID(固有識別情報の一例)と関連付けて管理サーバ200aに対して送信する。
なお、ユーザ端末100(SDK11)は、アプリユーザIDを、インストール通知情報以外の情報に含ませて管理サーバ200aに送信してもよい。
これにより、ユーザ端末100は、送客先アプリ50がインストールされた場合、ユーザ端末100において送客先アプリ50を利用するユーザ(ユーザX)のアプリユーザIDを、ユーザ端末100を特定するリワードユーザIDと関連付け可能なように管理サーバ200aに対して通知することができる。
(6)管理サーバ200aのリワード処理部245は、インストール通知取得部241が取得したインストール通知情報と、送客情報管理部223が管理する送客情報の記録とに基づいて、送客先アプリ50(選択アプリケーションの一例)がユーザ端末100にインストールされたと判定された場合に、当該インストールされた送客先アプリ50においてユーザ端末100を利用するユーザに対して報酬が付与されるリワード処理(報酬付与処理の一例)を実行する。
つまり、まだリリースされていないリリース予定の送客先アプリ50に対して送客されたユーザ(ユーザX)のユーザ端末100に、送客先アプリ50がリリース後にインストールされた場合、管理サーバ200aは、送客先アプリ50における報酬が当該ユーザ(ユーザX)に対して付与されるようにリワード処理を実行する。よって、本実施形態によれば、リリース予定の対象アプリケーションにおける報酬の付与を、当該対象アプリケーションを利用する動機付けとすることができる。
(7)例えば、管理サーバ200aのリワード処理部245は、送客先アプリ50(選択アプリケーションの一例)がユーザ端末100にインストールされたと判定された場合に、ユーザ端末100を特定するリワードユーザID(固有識別情報の一例)に関連付けられた送客先アプリ50のアプリユーザID(ユーザ情報の一例)を含む報酬付与情報を、送客先アプリ50に対応するアプリサーバ350(サーバ装置の一例)に送信する。
ここで、インストール通知取得部241は、アプリユーザ情報取得部として機能する。すなわち、管理サーバ200aは、ユーザ端末100を特定するリワードユーザIDと関連付けて、ユーザ端末100にインストールされた送客先アプリ50のアプリユーザIDを取得するアプリユーザ情報取得部を備える。
なお、管理サーバ200aは、アプリユーザIDを、インストール通知情報以外の情報に含ませてユーザ端末100から取得するようにしてもよい。また、管理サーバ200aは、送客先アプリ50におけるアプリユーザIDを送客先アプリ50に対応したアプリサーバ350から取得するようにしてもよい。
これにより、ユーザ端末100に送客先アプリ50がインストールされた場合、管理サーバ200aは、インストールされた送客先アプリ50におけるアプリユーザIDと、ユーザ端末100を特定するリワードユーザIDとを関連付けて管理することができる。また、管理サーバ200aは、管理している送客情報に含まれるアプリIDが示す送客先アプリ50がユーザ端末100にインストールされた場合、このユーザ端末100で送客先アプリ50を利用するユーザ(ユーザX)に対して報酬が付与されるように、当該送客情報に含まれるリワードユーザIDに関連付けられている送客先アプリ50におけるアプリユーザIDを含む報酬付与情報を送客先アプリ50に対応するアプリサーバ350に送信することができる。
なお、管理サーバ200aは、送客先アプリ50におけるアプリユーザIDを含む報酬付与情報を、送客先アプリ50に対応するアプリサーバ350に代えて、ユーザ端末100にインストールされた送客先アプリ50(SDK11N)に対して送信してもよい。これにより、ユーザ端末100にインストールされた送客先アプリ50において、報酬付与情報に基づく報酬が付与されてもよい。また、報酬付与情報がユーザ端末100にインストールされた送客先アプリ50を介して送客先アプリ50に対応するアプリサーバ350に送信されて、アプリサーバ350において、報酬付与情報に基づく報酬が付与されてもよい。
(8)ユーザ端末100(SDK11)のリスト要求部104は、少なくとも一のリリース予定の対象アプリケーション(提供開始前アプリケーションの一例)のアプリケーションリストを要求するリスト要求通知情報を、ユーザ端末100(端末装置の一例)を特定するリワードユーザID(固有識別情報の一例)と関連付けて管理サーバ200aに対して送信する。そして、リスト要求部104(リスト取得部の一例)は、上述のリスト要求通知情報を送信したことに応じて管理サーバ200aから送信されたリリース予定の対象アプリケーションのアプリケーションリストを取得する。
これにより、ユーザ端末100は、リリース予定の対象アプリケーションのアプリケーションリストを、管理サーバ200aから取得することができる。よって、ユーザ端末100は、リリース予定の対象アプリケーションの最新の情報を必要なタイミングで取得できる。
(9)ユーザ端末100(SDK11)は、表示制御部105(提示部の一例)を備えている。表示制御部105は、リスト要求部104(リスト取得部の一例)が取得したリリース予定の対象アプリケーション(提供開始前アプリケーションの一例)のアプリケーションリストに基づくリリース予定の対象アプリケーションの一覧(アプリ一覧、提示リストの一例)を表示部120に表示させてユーザに提示する。
これにより、ユーザは、リリース予定の対象アプリケーションに関する情報(例えば、ゲームの内容や報酬の内容)を確認することができるとともに、簡易な操作で選択することができる。
例えば、ユーザ端末100(SDK11)のリスト要求部104は、アプリケーションリストを管理サーバ200aから取得するとともに、管理サーバ200aが管理する送客情報の記録に基づいて、アプリケーションリストに含まれるリリース予定の対象アプリケーション(提供開始前アプリケーションの一例)のそれぞれがユーザ端末100において選択済みであるか否かを示す情報を管理サーバ200aから取得する。ユーザ端末100の表示制御部105は、リリース予定の対象アプリケーションの一覧(アプリ一覧、提示リストの一例)を表示部120に表示させてユーザに提示する場合、リスト要求部104が取得した、上述の選択済みであるか否かを示す情報に基づいて、ユーザ端末100(端末装置の一例)において選択済みのリリース予定の対象アプリケーションと未選択のリリース予定の対象アプリケーションとを区別して表示させてユーザに提示する。ここで、上述の選択済みであるか否かを示す情報は、例えば、リリース予定の対象アプリケーションの一覧において表示される、選択済みのリリース予定の対象アプリケーションと未選択のリリース予定の対象アプリケーションとのそれぞれに対応する表示情報(例えば、図18に示す、タブTB21、TB22)である。
これにより、ユーザ端末100は、選択済みのリリース予定の対象アプリケーションと未選択のリリース予定の対象アプリケーションとを区別して表示することができる。よって、ユーザは、選択可能なリリース予定の対象アプリケーションと選択済みのリリース予定の対象アプリケーションとを容易に確認することができる。
なお、ユーザ端末100は、管理サーバ200aからアプリケーションリストを取得することにより、リリース予定の対象アプリケーションの一覧(アプリ一覧、提示リストの一例)を生成して表示部120に表示させてもよい。このとき、ユーザ端末100は、アプリケーションリストに含まれるリリース予定の対象アプリケーションのそれぞれがユーザ端末100において選択済みであるか否かを示す情報を管理サーバ200aから取得することにより、選択済みのリリース予定の対象アプリケーションと未選択のリリース予定の対象アプリケーションとを区別して表示するリリース予定の対象アプリケーションの一覧(アプリ一覧、提示リストの一例)を生成してもよい。
(10)管理サーバ200aのリスト通知部242は、ユーザ端末100(端末装置の一例)からの要求に応じて、アプリケーションリストをユーザ端末100に対して送信するとともに、アプリケーションリストに含まれるリリース予定の対象アプリケーション(提供開始前アプリケーションの一例)のアプリID(識別情報の一例)がユーザ端末100を特定するリワードユーザID(固有識別情報の一例)に関連付けられている送客情報の記録を送客情報管理部223が管理しているか否かに基づいて、アプリケーションリストに含まれるリリース予定の対象アプリケーションのそれぞれがユーザ端末100において選択済みであるか否かを示す情報を、当該ユーザ端末100に対して送信する。
このように、管理サーバ200aは、ユーザ端末100からの要求に応じて、リリース予定の対象アプリケーションのアプリケーションリストをユーザ端末100に対して送信するため、リリース予定の対象アプリケーションの最新の情報をユーザ端末100に送信できる。
なお、管理サーバ200aは、さらに、選択済みの対象アプリケーションのうち、送客が成立したことにより付与される報酬をユーザが取得済みの報酬取得済み対象アプリケーションであるか否かを示す情報を、ユーザ端末100に対して送信してもよい。そして、ユーザ端末100は、選択済みのリリース予定の対象アプリケーションと未選択のリリース予定の対象アプリケーションとを区別して表示するとともに、さらに報酬取得済み対象アプリケーションを区別して表示してもよい。
(11)管理サーバ200aは、ユーザ端末100を特定するリワードユーザID(固有識別情報の一例)と関連付けて、ユーザ端末100(端末装置の一例)において選択された送客先アプリ50(選択アプリケーションの一例)のアプリID(識別情報の一例)含む送客情報を、ユーザ端末100から取得する送客情報取得部243を備えている。送客情報管理部223は、送客情報取得部243が取得した送客情報に含まれる送客先アプリ50のアプリIDとユーザ端末100を特定するリワードユーザIDとを関連付けて、送客情報の記録として管理する。
これにより、管理サーバ200aは、ユーザ端末100から取得した送客情報に基づいて、送客先アプリ50のアプリIDとユーザ端末100を特定するリワードユーザIDとを関連付けた送客情報の記録を管理することができる。
(12)ユーザ端末100(SDK11)のリスト要求部104は、ユーザ端末100(端末装置の一例)で動作している対象アプリケーションから、リスト要求通知情報を管理サーバ200aに対して送信する。ここで、ユーザ端末100で動作している対象アプリケーションとは、例えば、送客元アプリ10である。
また、リスト要求部104は、リスト取得部として機能し、リスト要求通知情報を送信した送客元アプリ10において、リリース予定の対象アプリケーション(提供開始前アプリケーションの一例)のアプリケーションリストを取得する。
送客情報通知部106は、リリース予定の対象アプリケーションのアプリケーションリストを取得した送客元アプリ10(対象アプリケーションの一例)のアプリIDと、当該送客元アプリ10において当該アプリケーションリストに含まれる少なくとも一のリリース予定の対象アプリケーションの中から選択された送客先アプリ50(選択アプリケーションの一例)のアプリIDとを含む送客情報を、ユーザ端末100を特定するリワードユーザID(固有識別情報の一例)と関連付けて管理サーバ200aに対して送信する。
これにより、ユーザ端末100は、ユーザ端末100にインストールされている送客元アプリ10から送客先アプリ50に対する送客情報を、管理サーバ200aに対して送信することができる。
(13)管理サーバ200aのリスト通知部242は、複数の対象アプリケーションのうちユーザ端末100にインストールされている送客元アプリ10(対象アプリケーションの一例)からの要求に基づいて、アプリケーションリストをユーザ端末100に対して送信する。送客情報取得部243は、ユーザ端末100を特定するリワードユーザID(固有識別情報の一例)と関連付けて、送客元アプリ10(要求した対象アプリケーションの一例)のアプリID(識別情報の一例)と送客先アプリ50(選択アプリケーションの一例)のアプリIDとを含む送客情報を、送客元アプリ10から取得する。送客情報管理部223は、送客情報取得部243が取得した送客情報に含まれる送客元アプリ10のアプリIDと送客先アプリ50のアプリIDとを、ユーザ端末100を特定するリワードユーザIDと関連付けて、送客情報の記録として管理する。
これにより、管理サーバ200aは、ユーザ端末100にインストールされている送客元アプリ10から送客先アプリ50に対する送客情報をユーザ端末100から取得して管理することができる。
(14)管理サーバ200aのアプリケーション管理部221は、ユーザ端末100においてリリース予定の対象アプリケーション(提供開始前アプリケーションの一例)に対する選択を受け付ける期間を示す受付期間(即ち、選択可能な期間)を管理している。
ユーザ端末100(SDK11)の送客情報通知部106は、受付期間内に送客情報を管理サーバ200aに対して送信する。
管理サーバ200aの送客情報管理部223は、上述の受付期間内に送客情報取得部243が取得した送客情報に含まれる送客先アプリ50(選択アプリケーションの一例)のアプリID(識別情報の一例)を、ユーザ端末100を特定するリワードユーザID(固有識別情報の一例)と関連付けて、送客情報の記録として管理する。
つまり、相互送客システム500aでは、リリース予定の対象アプリケーション毎に選択可能な期間(例えば、事前に登録が可能な期間)が設定されている。これにより、ユーザ端末100は、この選択可能な期間内においてのみ、リリース予定の対象アプリケーションに対する選択をユーザに対して許可し、選択された送客先アプリ50に対する送客情報を管理サーバ200aに対して送信することができる。また、管理サーバ200aは、この選択可能な期間内においてのみ取得した送客情報の記録を管理するため、この選択可能な期間内における送客のみリワードの対象とすることができる。
(15)管理サーバ200aのアプリケーション管理部221は、少なくとも終了日時が規定された報酬付与期限を管理していてもよい。そして、管理サーバ200aのリワード処理部245は、送客先アプリ50(選択アプリケーションの一例)がユーザ端末100にインストールされたことを示すインストール通知情報を報酬付与期限内にインストール通知取得部241が取得した場合に、リワード処理(報酬付与処理の一例)を実行する。
このように、報酬が付与される期限が設定されているため、送客先アプリ50をユーザがインストールして利用する動機付けをさらに高めることができる。
なお、インストール情報管理部222は、インストール通知情報を取得したタイミングに基づくインストール日時情報を、インストール通知情報に含まれる、ユーザ端末100にインストールされたアプリケーションのアプリID(識別情報の一例)およびユーザ端末100を特定するリワードユーザID(固有識別情報の一例)と、直接的または間接的に関連付けて管理してもよい。この場合、リワード処理部245は、送客先アプリ50がユーザ端末100にインストールされたことを示すインストール通知情報をインストール通知取得部241が取得したと判定した場合であって、インストール情報管理部222が管理する、当該取得したインストール通知情報のインストール日時情報が報酬付与期限内であるときにリワード処理を実行する。
例えば、リワード処理部245は、送客先アプリ50がユーザ端末100にインストールされたことを示すインストール通知情報をインストール通知取得部241が取得したと判定し、且つ送客先アプリ50におけるアプリユーザID(ユーザ情報の一例)をインストール通知取得部241が取得した場合であって、インストール情報管理部222が管理する、当該取得したインストール通知情報のインストール日時情報が報酬付与期限内であるときに、送客先アプリ50におけるアプリユーザIDを含む報酬付与情報を、送客先アプリ50に対応するアプリサーバ350に対して送信する。
(16)管理サーバ200aは、アプリケーション情報通知部247を備えている。アプリケーション情報通知部247は、送客情報管理部223が管理する送客情報に基づいて、送客先アプリ50(選択アプリケーションの一例)に関する情報を、送客先アプリ50のアプリID(識別情報の一例)に関連付けられているリワードユーザID(固有識別情報の一例)により特定されるユーザ端末100に対して送信する。
つまり、管理サーバ200aは、送客先アプリ50に関する情報を、送客先アプリ50が選択されたユーザ端末100に送信する。
これにより、管理サーバ200aは、送客先アプリ50に関する情報を、送客先アプリ50を選択したユーザに対して通知することができる。
(17)例えば、アプリケーション情報通知部247は、アプリケーション管理部221が管理する情報と送客情報管理部223が管理する送客情報とに基づいて、送客先アプリ50(選択アプリケーションの一例)がリリース(提供開始)された場合、送客先アプリ50がリリース(提供開始)されたことを示すリリース情報を、送客先アプリ50のアプリID(識別情報の一例)に関連付けられているリワードユーザID(固有識別情報の一例)により特定されるユーザ端末100に対して送信する。
ここで、アプリケーション情報通知部247は、対象アプリ情報記憶部231aに記憶されている対象アプリケーション情報において、いずれかの対象アプリケーションのリリースフラグ(FlagRelease)がフラグ「0」からフラグ「1」に更新された場合、当該更新された対象アプリケーションがリリースされたと判定する。次に、アプリケーション情報通知部247は、対象アプリ情報記憶部231aに記憶されている対象アプリケーション情報を参照して、情報種別フラグ(FlagInf)にフラグ「1」が設定されているリリース予定の対象アプリケーションに対する送客情報のうち、上記リリースされた対象アプリケーションのアプリIDが送客先アプリID(ApIDto)に設定されている送客情報を抽出する。続いて、アプリケーション情報通知部247は、抽出した送客情報に含まれるリワードユーザIDにより特定されるユーザ端末100に対して、上記リリースされた対象アプリケーションのリリース情報を送信する。
なお、対象アプリ情報記憶部231aが、リリース予定の対象アプリケーションに関する情報を、リリースされている対象アプリケーションに関する情報と別に記憶する場合には、リリース予定の対象アプリケーションに関する情報として記憶されている対象アプリケーションが、リリースされている対象アプリケーションに関する情報として登録されたときに、アプリケーション情報通知部247は、当該対象アプリケーションがリリースされたと判定してもよい。
これにより、管理サーバ200aは、選択された送客先アプリ50のリリース日が到来したことを、送客先アプリ50を選択したユーザに対して通知することができる。よって、管理サーバ200aは、送客先アプリ50のインストールをユーザに促すことができる。
(18)ユーザ端末100は、アプリケーション情報取得部41と情報提示部42とを備えている。アプリケーション情報取得部41は、送客先アプリ50(選択アプリケーションの一例)に関する情報を管理サーバ200aから取得する。情報提示部42は、アプリケーション情報取得部41が取得した送客先アプリ50に関する情報を表示部120に表示させてユーザに提示する。なお、上述のアプリケーション情報取得部41の機能と情報提示部42の機能とは、例えば、ユーザ端末100にインストールされた常駐アプリ40に基づいて実行される。
これにより、ユーザ端末100は、アプリケーションリストに含まれる少なくとも一のリリース予定の対象アプリケーションの中から選択された送客先アプリ50に関する情報を、管理サーバ200aから取得して通知することができる。
(19)例えば、送客先アプリ50(選択アプリケーションの一例)に関する情報は、送客先アプリ50がリリース(提供開始)されたことを示すリリース情報である。
これにより、ユーザ端末100は、選択された送客先アプリ50のリリース日が到来したことを、送客先アプリ50を選択したユーザに対して通知することができる。よって、ユーザ端末100は、送客先アプリ50のインストールをユーザに促すことができる。
(20)管理サーバ200aのアプリケーション管理部221は、リリース予定の対象アプリケーション(提供開始前アプリケーションの一例)に関する情報として、リリース予定の対象アプリケーションの提供開始日時を示す情報を管理してもよい。
例えば、アプリケーション情報通知部247は、アプリケーション管理部221が管理する提供開始日時を示す情報と送客情報管理部223が管理する送客情報とに基づいて、送客先アプリ50(選択アプリケーションの一例)の提供開始日時を示す情報を、送客先アプリ50のアプリID(識別情報の一例)に関連付けられているリワードユーザID(固有識別情報の一例)により特定されるユーザ端末100に対して送信してもよい。
これにより、管理サーバ200aは、選択された送客先アプリ50のリリース日時を、送客先アプリ50を選択したユーザに対して通知することができる。例えば、ユーザ端末100において、送客先アプリ50のリリース日時が近づくにつれて、リリース日時までの日数または時間をカウントダウン表示することや、所定の日数または時間の間隔でリリース情報を通知することができる。
なお、例えば、アプリケーション管理部221は、リリースフラグに代えて、予め設定されたリリース日又はリリース日時(即ち、提供開始日時)を対象アプリ情報記憶部231aに記憶させて管理してもよい。
そして、アプリケーション情報通知部247は、アプリケーション管理部221が管理する提供開始日時を示す情報と送客情報管理部223が管理する送客情報とに基づいて、送客先アプリ50(選択アプリケーションの一例)の提供開始日時が到来したと判定した場合に、送客先アプリ50が提供開始されたことを示すリリース情報を、送客先アプリ50のアプリID(識別情報の一例)に関連付けられているリワードユーザID(固有識別情報の一例)により特定されるユーザ端末100に対して送信してもよい。
(21)送客先アプリ50(選択アプリケーションの一例)がリリース(提供開始)されたことを示す情報には、送客先アプリ50をインストール可能な画面に誘導する指示情報が含まれる。この指示情報は、例えば、送客先アプリ50に関する情報の掲載ページのURLであって、送客先アプリ50をインストール可能(ダウンロード可能)なアプリストア400へのリンクボタンが含まれる送客先アプリ50の紹介画面が表示されるページのURLである。
これにより、ユーザ端末100は、送客先アプリ50をインストール可能(ダウンロード可能)なストアページを、ユーザに複雑な操作をさせることなく容易に表示することができる。よって、相互送客システム500aは、ユーザが送客先アプリ50をインストールする動機付けを、操作の困難さによって損なわれることのないようにすることができる。
(22)なお、上記第3の実施形態において、相互送客システム500aが、リリース予定の対象アプリケーションへの送客処理に特化した処理を実行し、第1、2の実施形態で説明した通常リワード処理およびCPリワード処理を実行しない場合には、相互送客システム500aが備えるユーザ端末100または管理サーバ200aの構成の一部を除いた構成としてもよい。
例えば、ユーザ端末100(SDK11)は、第1の実施形態で説明した報酬付与通知情報を送信する必要がないため、報酬付与通知部107を除いた構成としてもよい。また、管理サーバ200aは、通常リワード情報記憶部232、キャンペーン情報記憶部234、またはキャンペーン参加アプリ情報記憶部235を除いた構成としてもよい。
また、上記第3の実施形態では、送客先アプリ50がユーザ端末100にインストールされて起動したことを条件に報酬が付与されるリワード処理を例として説明したが、第2の実施形態で説明したCPリワード処理のように、予め設定された報酬付与条件が充足された場合に報酬が付与されるようにしてもよい。この場合には、ユーザ端末100(SDK11)は、報酬付与通知部107を備えた構成としてもよい。例えば、リリース予定の対象アプリケーションには報酬付与条件が予め設定されており、ユーザ端末100(SDK11)の報酬付与通知部107は、予め設定された報酬付与条件が充足されたことに基づいて、報酬付与条件を充足したことを示す報酬付与通知情報を管理サーバ200に対して送信してもよい。すなわち、リワード処理部245は、インストール通知取得部241が取得したインストール通知情報と、送客情報管理部223が管理する送客情報の記録とに基づいて、送客先アプリ50(選択アプリケーションの一例)がユーザ端末100にインストールされたと判定され、且つ、予め設定された報酬付与条件が充足されたことに基づいて送客先アプリ50から当該報酬付与条件が充足されたことを示す報酬付与通知情報を取得したときに、ユーザ端末100を利用するユーザに対して、当該取得した報酬付与通知情報に基づく報酬が付与されるようにしてもよい。さらに、リワード処理部245は、送客先アプリ50(選択アプリケーションの一例)がユーザ端末100にインストールされたことを示すインストール通知情報を報酬付与期限内にインストール通知取得部241が取得したことを、上述の報酬付与条件としてもよい。
また、本実施形態に第2の実施形態における処理を適用することにより、アプリケーションリストに掲載されるリリース予定の対象アプリケーションが所定の条件に基づいて選択されてもよい。
<第4の実施形態>
次に、本発明の第4の実施形態を説明する。上記第3の実施形態では、ユーザ端末100にインストールされている送客元アプリ10から、リリース予定の対象アプリケーションである送客先アプリ50へ送客する送客処理の例を説明した。本実施形態では、送客元アプリ10に代えて、リリース予定の対象アプリケーションへの送客の機能に特化した専用のアプリケーションから送客先アプリ50へ送客する送客処理の例を説明する。
〔第4の実施形態による相互送客システムの構成及び処理〕
図27は、本実施形態のネットワークシステム1bにおける相互送客システム500bの構成及び処理の一例を説明する説明図である。この図27において、図17の各部と対応する部分には同一の符号を付け、その説明を省略する。
図27に示す相互送客システム500bは、送客元アプリ10を専用アプリ60に代えた点が、図17に示す相互送客システム500aに対して異なる。専用アプリ60は、リリース予定の対象アプリケーションへの送客の機能を有した専用のアプリケーションである。専用アプリ60は、例えば、アプリストア400からユーザ端末100に対してインストール可能(ダウンロード可能)なように提供される。ここでは、ユーザ端末100には専用アプリ60がインストールされており、専用アプリ60から、リリース予定の対象アプリケーションである送客先アプリ50への送客が行われる例を示している。
専用アプリ60には、第3の実施形態において説明したSDK11Aの機能が含まれている。このように、ユーザ端末100にインストールされている専用アプリ60が、第3の実施形態で説明した送客先アプリのSDK11Aの機能を備えていることにより、相互送客システム500bは、第3の実施形態の相互送客システム500aと同様に、リリース予定の対象アプリケーションへ送客する送客処理を行うことができる。
なお、図27に示す例では、ブラウザ45がユーザ端末100にインストールされている例としているが、このブラウザ45の機能は、専用アプリ60に含まれていてもよい。また、常駐アプリ40の機能は、専用アプリ60に含まれていてもよい。
〔第4の実施形態のユーザ端末100の機能構成〕
図28は、本実施形態によるユーザ端末100において、専用アプリ60に基づいて端末制御部150が実行する送客処理の機能構成の一例を示す構成図である。
専用アプリ60は、初期化処理部101と、リスト要求部104と、表示制御部105と、送客情報通知部106とを備えている。ここで、専用アプリ60は、図5に示すSDK11の機能構成のうち送客元としての機能のみを備えていればよいので、送客先アプリに特有の機能構成である報酬付与通知部107を備えなくともよい。したがって、専用アプリ60にSDK11Aが組み込まれている構成としてもよい。
この構成により、専用アプリ60は、SDK11Aが組み込まれている送客元アプリ10と同様に、リリース予定の対象アプリケーションの中から選択された送客先アプリ50に対する送客情報を管理サーバ200aに対して送信する処理を行うことができる。
また、専用アプリ60は送客先のアプリケーションになることはない。そのため、ユーザ端末100に専用アプリ60がインストールされているか否かを管理サーバ200aが管理しなくてもよい。よって、専用アプリ60は、インストール通知情報を管理サーバ200aに送信しなくともよく、図28に示すインストール通知部103を含まない構成としてもよい。
〔第4の実施形態の相互送客処理の動作例〕
次に、本実施形態による相互送客システム500bによる送客処理の動作を説明する。相互送客システム500bによる送客処理は、送客元アプリ10の処理を専用アプリ60が行うことにより、図24、図25、および図26を参照して説明した第3の実施形態による送客処理と同様の処理とすることができる。なお、相互送客システム500bによる送客処理は、専用アプリ60が行うことにより、第3の実施形態による送客処理と部分的に異なる処理を行うようにしてもよい。例えば、上述したように、専用アプリ60がインストールされているか否かを管理サーバ200aが管理しない処理としてもよい。
図29は、図24に示す送客元アプリ10が実行する処理を、送客元アプリ10に代えて専用アプリ60が実行する例であって、ユーザ端末100に専用アプリ60がインストールされているか否かを管理サーバ200aが管理しない場合の送客処理の動作の一例を示すフローチャートである。この図29において、図24に示す各処理に対応する部分には同じ符号を付けており、その説明を適宜省略する。
ユーザ端末100に専用アプリ60がインストールされて起動すると、専用アプリ60の初期化処理部101は、初期化処理を実行する。この初期化処理では、リワードユーザIDを取得する処理が行われ、インストール通知情報を送信する処理は行われない。例えば、専用アプリ60の固有識別情報取得部102は、初期化処理において、端末記憶部140を参照して、リワードユーザIDが取得済みであるか否かを判定し(ステップSA13)、取得済みでない場合には、リワードユーザIDを生成して取得し(ステップSA14)、端末記憶部140のアプリ間共有エリアに記憶させる(ステップSA15)。
即ち、専用アプリ60がインストールされる以前に、いずれかの対象アプリケーションがインストールされている場合には、その対象アプリケーションがインストールされたときに取得されたリワードユーザIDが相互送客システム500bにおいて用いられる。一方、専用アプリ60がインストールされる以前に、いずれの対象アプリケーションもインストールされていない場合には、専用アプリ60がインストールされて起動したときに、相互送客システム500bにおいて用いられるリワードユーザIDが取得される。
上述の初期化処理以降の処理は、図24を参照して説明した処理と同様である。このように、本実施形態による相互送客システム500bにおいて、送客先アプリ50へ送客する送客情報が専用アプリ60から管理サーバ200aに対して送信されるため、第3の実施形態と同様に、リリース予定の対象アプリケーションに対する送客情報の記録を管理サーバ200aが管理することができる。
また、専用アプリ60は、ブラウザ45の機能を備えていてもよい。例えば、送客先アプリ50がリリースされた後の処理において、図25に示すブラウザ45が送客先アプリ50の紹介画面を表示する処理を、ブラウザ45に代えて専用アプリ60が実行してもよい。
図30は、送客先アプリ50(ゲームN)がリリースされた後に、リリース情報が通知される処理であって、専用アプリ60が、送客先アプリ50の紹介画面を表示する処理の例を示している。なお、この図30において、図25に示す各処理に対応する部分には同じ符号を付けており、その説明を適宜省略する。
管理サーバ200aがリリース情報をユーザ端末100に対して送信する処理(ステップSE320、SE322、SE324の処理)は、図25を参照して説明した処理と同様である。ユーザ端末100において実行中の常駐アプリ40は、管理サーバ200aから送信されたリリース情報を取得し、取得した送客先アプリ50のリリース情報を表示部120に表示させる(ステップSA320)。
表示部120に表示されたリリース情報に対して、ユーザXが操作(例えば、タップ操作)すると、ユーザ端末100にインストールされている専用アプリ60が起動する(ステップSA330)。例えば、リリース情報には専用アプリ60の特定の機能(例えば、ブラウザ機能)を起動させるための指示情報(例えば、URLスキーム)が含まれており、この指示情報に基づいて専用アプリ60が起動する。
専用アプリ60は、自身が有するブラウザ機能により、リリース情報に含まれるURLのリンク先のページ、即ち、リリースされた送客先アプリ50(ゲームN)の紹介画面を表示する(ステップSA332)。ここで、送客先アプリ50(ゲームN)の紹介画面には、所定の期間内にインストールしないと報酬が得られない旨の表示情報や、送客先アプリ50(ゲームN)をインストール可能(ダウンロード可能)なアプリストア400へのリンクボタンが表示される。
専用アプリ60により表示された紹介画面において、アプリストア400へのリンクボタンに対してユーザXが操作(例えば、タップ操作)すると(ステップSA334)、ストア30が起動し、起動したストア30が、送客先アプリ50(ゲームN)をインストール可能なアプリストア400のストアページ(ゲームNのダウンロードページ)を表示する(ステップSA336)。
〔第4の実施形態のまとめ〕
以上説明してきたように、本実施形態の相互送客システム500bにおいて、管理サーバ200a(管理装置の一例)の構成は、第3の実施形態の管理サーバ200a(管理装置の一例)の構成と同様である。
本実施形態のユーザ端末100(端末装置の一例)は、第3の実施形態で説明したSDK11の機能構成のうち、少なくとも送客元アプリとしての機能のみを備えていればよい。例えば、ユーザ端末100は、リスト取得部の機能を有するリスト要求部104と、送客情報通知部106とを備えている。リスト要求部104(リスト取得部の一例)は、少なくとも一のリリース予定の対象アプリケーションのアプリケーションリストを管理サーバ200aから取得する。送客情報通知部106は、リスト要求部104が取得したアプリケーションリストに含まれる少なくとも一のリリース予定の対象アプリケーションの中から選択された送客先アプリ50のアプリIDを含む送客情報を、ユーザ端末100(端末装置の一例)を特定するリワードユーザIDと関連付けて管理サーバ200aに対して送信する。
ここで、上述のリスト要求部104の機能と、送客情報通知部106の機能とが、ユーザ端末100にインストールされている専用アプリ60に基づいて実行される。
これにより、ユーザ端末100は、第3の実施形態のユーザ端末100と同様に、まだリリースされていないリリース予定の対象アプリケーションに対する送客を行うことができる。
また、本実施形態の相互送客システム500bにおいて、第3の実施形態の相互送客システム500aと同様に、ユーザ端末100を一意に識別可能なリワードユーザIDを用いることにより、リリース予定の対象アプリケーションにおけるユーザ情報(例えば、アプリユーザID)が登録されていなくとも、リリース後に登録したユーザ情報をリワードユーザIDと関連付けることにより、ユーザ端末100を利用するユーザに対して報酬が付与されるリワード処理を容易に行うことができる。よって、本実施形態によれば、ユーザが対象アプリケーションを利用する動機付けを当該対象アプリケーションのリリース前から高めることができる。
<変形例>
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成は上述の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。例えば、上述の第1から第4の実施形態において説明した各機能は、任意に組み合わせることができる。一例として、第1の実施形態または第2の実施形態の相互送客システム500と第3の実施形態の相互送客システム500aとを組み合わせてもよい。すなわち、相互送客システム500または相互送客システム500aは、リリース済みの対象アプリケーションに対する通常リワード処理またはCPリワード処理と、リリース予定の対象アプリケーションに対するリワード処理の両方の機能を搭載してもよい。例えば、ユーザ端末100において、アプリケーションリストLT(図1)と、アプリケーションリストLT2(図18)とを選択的に表示可能な構成とし、リリース済みの対象アプリケーション及びリリース予定の対象アプリケーションのうちのいずれかを選択可能な構成としてもよい。
なお、ユーザ端末100において、アプリケーションリストLT(図1) に含まれるリリース済みの対象アプリケーションと、アプリケーションリストLT2(図18) に含まれるリリース予定の対象アプリケーションとの両方が含まれるアプリケーションリストを表示可能な構成としてもよい。この場合、リリース済みの対象アプリケーションとリリース予定の対象アプリケーションとが判別可能なように、リリース済みを示す情報またはリリース予定を示す情報がアプリケーションリストに含まれるそれぞれの対象アプリケーションに関連付けられて表示されるようにしてもよい。
(1)上記実施形態では、管理サーバ200または管理サーバ200aの通信部210(送受信部の一例)は、インストール通知情報、アプリケーションリスト、リスト要求通知情報、送客情報、指示情報、又は報酬付与通知情報を直接的にユーザ端末100と通信する例を説明した。同様にユーザ端末100の端末通信部130(送受信部の一例)は、インストール通知情報、アプリケーションリスト、リスト要求通知情報、送客情報、指示情報、又は報酬付与通知情報を直接的に管理サーバ200または管理サーバ200aと通信する例を説明した。
ここで、管理サーバ200の通信部210は、送客元アプリ10(第1アプリケーションの一例)又は送客先アプリ20(第2アプリケーションの一例)と、それぞれに対応するアプリサーバ300(サーバ装置の一例)を介して通信セッションを確立させた後で、直接的にユーザ端末100と通信してもよい。同様にユーザ端末100の端末通信部130は、送客元アプリ10(インストールされた対象アプリケーション)又は送客先アプリ20(選択された対象アプリケーション)と、それぞれに対応するアプリサーバ300を介して通信セッションを確立させた後で、直接的に管理サーバ200と通信してもよい。
また、管理サーバ200aの通信部210は、送客元アプリ10(ユーザ端末100にインストールされた対象アプリケーションの一例)又は送客先アプリ50(リリース予定の対象アプリケーションの中から選択された選択アプリケーションの一例)と、それぞれに対応するアプリサーバ300(サーバ装置の一例)を介して通信セッションを確立させた後で、直接的にユーザ端末100と通信してもよい。同様にユーザ端末100の端末通信部130は、送客元アプリ10(ユーザ端末100にインストールされた対象アプリケーションの一例)又は送客先アプリ50(リリース予定の対象アプリケーションの中から選択された選択アプリケーションの一例)と、それぞれに対応するアプリサーバ300を介して通信セッションを確立させた後で、直接的に管理サーバ200aと通信してもよい。
なお、上記第4の実施形態の相互送客システム500bが、専用アプリ60に対応するアプリサーバ300を備えている構成としてもよく、その場合、ユーザ端末100と管理サーバ200aとが専用アプリ60に対応するアプリサーバ300を介して通信セッションを確立させた後で、直接的に通信してもよい。
なお、ユーザ端末100から直接的に管理サーバ200(200a)と通信する場合に、必要に応じて通信セッションを確立させるようにしてもよい。つまり、通信セッションを確立させる前に直接的に管理サーバ200と通信する場合と、通信セッションを確立させた後に直接的に管理サーバ200と通信する場合との両方を含んでもよい。
例えば、インストール通知情報は、通信セッションを確立させる前に直接的に管理サーバ200と通信し、それ以外の情報については通信セッションを確立させた後に直接的に管理サーバ200と通信するようにしてもよい。このようにすることで、通常リワードの対象となる送客先アプリ20として、送客先アプリ20に対応するアプリサーバ320を具備しないアプリケーション、すなわちユーザ端末100においてスタンドアローンで動作するアプリケーションを対象アプリケーションとして扱うことが可能になる。つまり、スタンドアローンで動作するアプリケーションがインストールされたことを示すインストール通知情報を送信する際に、ユーザ端末100は、アプリサーバ300を介して通信セッションを確立させる処理を行わずに、直接的に管理サーバ200と通信することができる。
図31は、通信セッションの確立処理の動作を説明するフローチャートである。この通信セッションの確立処理(通信セッション確立処理)は、送客元アプリ10または送客先アプリ20がユーザ端末100で起動され、SDK11AとSDK11Bが初めて管理サーバ200と通信を行う場合であって、例えば、図14及び図15を参照して説明した初期化処理の中で行われる。図31では、図14に示す初期化処理の中で行われる通信セッションの確立処理を示している。なお、この通信セッションの確立処理は、図15、図24、または図29に示す初期化処理の中でも同様に行うことができる。図31において図14の各処理に対応する部分には同一の符号を付け、その説明を省略する。なお、ユーザ端末100とアプリサーバ310とは既に通信セッションが確立されている前提となる。
ステップSA12、SA13、SA14、SA15の処理においてリワードユーザIDの取得済となり、ステップSA16、SA17の処理においてインストール通知情報の通知済みとなると、SDK11Aの初期化処理部101は、ワンタイムトークンの取得を要求するワンタイムトークン取得要求情報をアプリサーバ310に対して送信する(ステップSA21)。アプリサーバ310は、ユーザ端末100(SDK11A)からワンタイムトークン取得要求情報を取得すると、取得したワンタイムトークン取得要求情報に基づくワンタイムトークン生成要求情報を管理サーバ200に対して送信する(ステップSF11)。管理サーバ200は、アプリサーバ310からワンタイムトークン生成要求情報を取得すると、ワンタイムトークンを生成し、生成したワンタイムトークンをアプリサーバ310に対して送信する(ステップSE12)。アプリサーバ310は、管理サーバ200からワンタイムトークンを取得すると、取得したワンタイムトークンをユーザ端末100(SDK11A)に対して送信する(ステップSF12)。SDK11Aの初期化処理部101は、アプリサーバ310からワンタイムトークンを取得すると、取得したワンタイムトークンを含んだセッション確立要求情報を管理サーバ200に対して送信する(ステップSA22)。管理サーバ200は、ユーザ端末100(SDK11A)からセッション確立要求情報を取得すると、取得したセッション確立要求情報に含まれるワンタイムトークンが正しい情報である場合(ユーザ端末100(SDK11A)に対して送信したワンタイムトークンと一致する場合)には、通信セッションを確立して、相互送客システム500による通信が許可される(ステップSE13)。以後、図14を参照して説明した処理が行われる。なお、管理サーバ200は、ユーザ端末100(SDK11A)から取得したセッション確立要求情報に含まれるワンタイムトークンが正しい情報でない場合には通信エラーとし、相互送客システム500による通信が許可されない。また、管理サーバ200がユーザ端末100(SDK11A)からセッション確立要求情報を取得できない場合には、当然、相互送客システム500による通信が許可されない。
このように、通信セッションを確立させた後で、相互送客システム500による通信を開始することで、相互送客システム500を含むネットワークシステム1内のセキュリティを向上させることができる。
なお、インストール通知情報、アプリケーションリスト、リスト要求通知情報、送客情報、指示情報、又は報酬付与通知情報の一部は、ユーザ端末100から直接的に管理サーバ200と通信せずに、送客元アプリ10(第1アプリケーションの一例)又は送客先アプリ20(第2アプリケーションの一例)に対応するアプリサーバ300(サーバ装置の一例)を介してユーザ端末100と通信してもよい。すなわち、管理サーバ200の通信部210(送受信部の一例)は、インストール通知情報、アプリケーションリスト、リスト要求通知情報、送客情報、指示情報、又は報酬付与通知情報を送客元アプリ10又は送客先アプリ20に対応するアプリサーバ300を介してユーザ端末100と通信、若しくは直接的にユーザ端末100と通信するようにしてもよい。
さらに、管理サーバ200の通信部210(送受信部の一例)は、インストール通知情報、アプリケーションリスト、リスト要求通知情報、送客情報、指示情報、又は報酬付与通知情報を送客元アプリ10又は送客先アプリ20に対応するアプリサーバ300を介してユーザ端末100と通信してもよい。同様にユーザ端末100の端末通信部130(送受信部)は、送客元アプリ10(インストールされた対象アプリケーション)又は送客先アプリ20(選択された対象アプリケーション)に対応するアプリサーバ300を介して管理サーバ200と通信してもよい。
このように、相互送客システム500は、アプリサーバ300を介してユーザ端末100と管理サーバ200とが通信しても、第1の実施形態及び第2の実施形態と同様の送客処理及びリワード処理を行うことができ、同様の効果を得ることができる。
また、管理サーバ200aの通信部210(送受信部の一例)は、インストール通知情報、アプリケーションリスト、リスト要求通知情報、送客情報、指示情報、又は報酬付与通知情報を送客元アプリ10(ユーザ端末100にインストールされた対象アプリケーションの一例)又は送客先アプリ50(リリース予定の対象アプリケーションの中から選択された選択アプリケーションの一例)に対応するアプリサーバ300を介してユーザ端末100と通信してもよい。同様にユーザ端末100の端末通信部130(送受信部の一例)は、送客元アプリ10又は送客先アプリ50に対応するアプリサーバ300を介して管理サーバ200aと通信してもよい。
このように、相互送客システム500aは、アプリサーバ300を介してユーザ端末100と管理サーバ200aとが通信しても、第3の実施形態と同様の送客処理及びリワード処理を行うことができ、同様の効果を得ることができる。なお、上記第4の実施形態の相互送客システム500bが、専用アプリ60に対応するアプリサーバ300を備えている構成としてもよく、その場合、ユーザ端末100と管理サーバ200aとが専用アプリ60に対応するアプリサーバ300を介して通信してもよい。
(2)上記実施形態では、アプリユーザID(ApUID)をインストール通知情報などに含めて、ユーザ端末100(SDK11)から管理サーバ200送信される例を説明したが、これに限られるものではない。例えば、アプリサーバ300が、通信セッション確立処理でリワードユーザIDに関連付けて、アプリユーザIDを管理サーバ200に送信するようにしてもよい。具体的には、ステップSA21にて、SDK11Aの初期化処理部101が、ワンタイムトークン取得要求情報をアプリサーバ300に対して送信する際にリワードユーザIDをアプリサーバ300に通知する。さらに、アプリサーバ300は、リワードユーザID、アプリID及びアプリユーザIDを管理サーバ200に送信する。管理サーバ200のインストール情報管理部222は、インストール情報記憶部236に記憶されるインストール情報のうち、取得したリワードユーザIDとアプリIDとに対応したインストール情報に対応するアプリユーザID(ApUID)として、アプリサーバ300から取得したアプリユーザIDを記憶させる。このようにアプリユーザIDをユーザ端末100(SDK11)からでなく、アプリサーバ300から送信することで、ユーザ端末100(SDK11)にて、アプリユーザIDを管理することが不要になる。
上記のようにアプリサーバ300が通信セッション確立処理でリワードユーザIDに関連付けてアプリユーザIDを管理サーバ200に送信する場合には、インストールされた対象アプリケーションにおいてユーザ情報が登録された後でしか、通信セッション確立処理を行うことができない。しかしながら、ユーザ端末100にインストールされた対象アプリケーションの当該インストールされたことを示すインストール通知情報の管理サーバ200に対する送信は、ユーザ情報が登録されたことと直接関連させる必要がない。したがって、ユーザ端末100は、インストールされた対象アプリケーションにおいて、ユーザ情報が登録されているか否かに関わりなく、インストール通知情報を管理サーバ200に対して送信するようにしている。したがって、ユーザ端末100がインストール通知情報を送信する際には、通信セッションが確立される前に送信されることになる。
(3)上記実施形態では、リワード処理部245は、ユーザ端末100の送客先アプリ20のSDK11Bから報酬付与通知情報を取得したことに基づいてCPリワード処理を実行する例を説明したが、これに限られるものではない。例えば、送客先アプリ20に対応するアプリサーバ320から報酬付与通知情報を取得したことに基づいてCPリワード処理を実行してもよい。この場合、報酬付与通知情報(成果地点到達通知)には、送客先アプリ20のアプリIDとアプリユーザID、キャンペーンID、成果地点ID(RewardSpotID)を含めるようにすればよい。
例えば、管理サーバ200のリワード処理部245は、アプリサーバ320から送信された報酬付与通知情報(成果地点到達通知)を取得する。次に、リワード処理部245は、インストール情報記憶部236に記憶されるインストール情報から、送客先アプリ20のアプリIDとアプリユーザIDに対応したインストール情報を特定し、特定したインストール情報に対応したリワードユーザIDを逆引きする。そして、リワード処理部245は、逆引きしたリワードユーザIDと送客先アプリ20に対する送客情報の記録が送客情報管理部223において管理されていることに基づいて、当該送客情報に対応したリワード管理IDに関連付けて、取得した報酬付与通知情報に含まれる成果地点ID(RewardSpotID)を設定し、成立状態(RewardStatus)をフラグ「0」(未通知)とするリワード成立情報を生成し、リワード成立情報記憶部238に記憶させる。この後の処理は上記実施形態と同じである。このように、報酬付与通知情報(成果地点到達通知)をアプリサーバ320から送信することで、ユーザ端末100(SDK11B)の処理の負担を減らすことができる。
(4)上記実施形態では、リワードユーザIDが、最初に対象アプリケーションがインストールされたときに、インストールされたユーザ端末100を一意に識別可能な固有識別情報(相互送客システム500においてユニークな固有識別情報)として生成される例を説明したが、これに限られるものではない。例えば、ユーザ端末100に固有に設定されている端末識別番号や電話番号(例えば、スマートフォンの場合)をリワードユーザIDとしてもよい。しかしながら、端末識別番号や電話番号等のような個人情報を利用せずに、本実施形態のようにリワードユーザIDを生成して利用する方がセキュリティ性を高めることができる。また、リワードユーザIDとして、端末識別番号や電話番号等を利用せずに、相互送客システム500においてユニークな固有識別情報を採用することで、ユーザが所有するユーザ端末100(端末装置の一例)を買い替え等で変更する場合でも、所定の手続きを経てリワードユーザIDを変更後のユーザ端末100に移行することで、変更前のユーザ端末100からの状態を維持して相互送客システム500を利用することが可能となる。
また、図14のステップSA25及びステップSA26のアプリケーションリスト(アプリ一覧)を表示する処理と、アプリケーションリストからダウンロードする対象アプリケーションが選択されたときに送客情報を送信する処理とは、SDK11が実行する処理に代えて、SDK11の処理とは関係のないユーザ端末100にインストールされている他のアプリケーション(例えば、ブラウザ)が起動して実行されてもよい。例えば、管理サーバ200からユーザ端末100においてブラウザにリダイレクトされるようなアプリ一覧ページのデータを生成してユーザ端末100に送信することにより、ユーザ端末100においてブラウザが起動して、当該アプリ一覧ページが表示されるようにしてもよい。また、このアプリ一覧ページのデータにリスト要求通知情報に含まれる送客元アプリ10(ゲームA)のアプリID(ApID)を含めて送信することにより、アプリ一覧ページで選択された送客先アプリ20(ゲームB)のアプリID(ApID)と、送客元アプリ10(ゲームA)のアプリID(ApID)と、リワードユーザID(RewardUID)とを含む送客情報を、上述のブラウザから管理サーバ200に対して送信されるようにしてもよい。
また、CPリワード処理においても、通常リワード処理と同様に送客先アプリ20がインストールされたことに基づいて実行されるようにしてもよい。この場合、送客先アプリ20における報酬付与条件を、送客先アプリ20がユーザ端末100にインストールされたこととしてもよい。
また、キャンペーンを実施する全ての特定アプリケーションが、送客先アプリ20がインストールされたことが最初の成果地点とするならば、当該成果地点の達成に対応する報酬付与通知情報の送客先アプリ20からの送付を行わなくてもよい。この場合には、管理サーバ200が、通常リワードと同様な報酬付与処理を行い、アプリサーバ310に対してキャンペーンIDを含む報酬付与情報を送信することにより、アプリサーバ310から通常リワードに相当するCPリワードが付与されるようになる。具体的には、図15のフローチャートにおけるステップSE22の判定処理を行わずに、CPリワードと通常リワードのどちらでも、ステップSE23〜24の処理を行わせればよい。
(5)上記第1,2の実施形態の通常リワード処理およびCPリワード処理において、送客元アプリ10における報酬がユーザに付与される処理の例を説明したが、送客元アプリ10に代えて送客先アプリ20における報酬がユーザに付与される処理としてもよい。この場合、管理サーバ200は、例えば、送客情報記憶部237に記憶されている送客情報に含まれる送客先アプリID(ApIDto)と、対象アプリ情報記憶部231に記憶されている対象アプリ情報に含まれる通知先URL(NoticeURL)とに基づいて、送客先アプリ20に対応するアプリサーバ320に報酬付与情報を送信する。なお、上記第1,2の実施形態の通常リワード処理およびCPリワード処理において、送客元アプリ10における報酬と送客先アプリ20における報酬との両方がユーザに付与される処理としてもよい。
また、上記第3の実施形態のリワード処理において、送客先アプリ50における報酬がユーザに付与される処理の例を説明したが、送客先アプリ50に代えて送客元アプリ10における報酬がユーザに付与される処理としてもよい。この場合、管理サーバ200aは、例えば、送客情報記憶部237aに記憶されている送客情報に含まれる送客元アプリID(ApIDfrom)と、対象アプリ情報記憶部231aに記憶されている対象アプリ情報に含まれる通知先URL(NoticeURL)とに基づいて、送客元アプリ10に対応するアプリサーバ310に報酬付与情報を送信する。なお、上記第3の実施形態のリワード処理において、送客先アプリ50における報酬と送客元アプリ10における報酬との両方がユーザに付与される処理としてもよい。
(6)上記実施形態では、相互送客システム500(500a、500b)に対応する対象アプリケーションとしてゲームを例に説明したが、この対象アプリケーションはゲームに限られるものではなく、ゲーム以外のいずれのアプリケーションであってもよい。
また、管理サーバ200(200a)の記憶部230(230a)は、管理サーバ200(200a)とは異なるサーバ装置に備えられてもよい。そして、管理サーバ200(200a)の管理部220または制御部240(240a)が管理サーバ200(200a)とは異なるサーバ装置に備えられた記憶部230(230a)に対してネットワークNWを介して通信することにより、記憶部230(230a)が備える各部が記憶する各情報を管理してもよい。
また、管理サーバ200(200a)とアプリサーバ300とが一体となったサーバ装置として構成されてもよい。
また、上記実施形態において、SDK11または専用アプリ60のリスト要求部104がリスト取得部の機能を有する構成として説明したが、SDK11または専用アプリ60が、リスト要求部104とは別にリスト取得部を備える構成としてもよい。
また、上記実施形態において、インストール通知情報、リスト要求通知情報、送客情報、報酬付与通知情報などの各種情報にリワードユーザIDが含まれることにより、管理サーバ200(200a)において、これらの各種情報が、これらの各種情報を送信したユーザ端末100を特定するリワードユーザIDと関連付けられる例を説明したが、これに限られるものではない。例えば、管理サーバ200(200a)とユーザ端末100との間で通信セッションが確立されている場合には、確立された通信セッションと当該ユーザ端末100を特定するリワードユーザIDとが関連付けられるようにしてもよい。これにより、各種情報にリワードユーザIDを含めなくても、確立された通信セッションにおいて送信された各種情報が、当該通信セッションに関連付けられているリワードユーザIDと関連付けられるようにしてもよい。
なお、これらの各種情報とリワードユーザIDとを関連付ける方法は一例であり、管理サーバ200aにおいて、これらの各種情報と、これらの各種情報を送信したユーザ端末100を特定するリワードユーザIDとが関連付けられれば、上記の方法に限られるものではない。
(7)上述の管理部220、制御部240(240a)、SDK11、または専用アプリ60の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述の各部の処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、CD−ROM等の非一過性の記録媒体であってもよい。また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部または外部に設けられた記録媒体も含まれる。配信サーバの記録媒体に記憶されるプログラムのコードは、端末装置で実行可能な形式のプログラムのコードと異なるものでもよい。すなわち、配信サーバからダウンロードされて端末装置で実行可能な形でインストールができるものであれば、配信サーバで記憶される形式は問わない。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後に端末装置で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
また、上述した機能の一部または全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。上述した各機能は個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。