(本開示の一態様を得るに至った経緯)
まず、本開示の一態様を得るに至った着眼点について説明する。
ユーザ(プレーヤ)は、例えばスマートフォンのような情報機器を用いてゲーム用アプリケーションをダウンロードすることできる。ダウンロードされるゲームの中には、上記特許文献1及び特許文献2のように、ゲームの進行レベルに応じてゲーム報償が得られるタイプのものがある。
例えば、ユーザがゲーム上で商品を販売し、その売り上げが最初の目標額に達するとスタンプが付与されるルールのゲームがある。このようなゲームでは、ユーザの売り上げが次の目標額に達すると次のスタンプがさらに付与される。ユーザが所定数(例えば5個)のスタンプを取得すると、ユーザはゲームを進める上で有効なゲームアイテムを獲得できる。
また、例えば、ユーザがゲームをプレイできる時間に制限を設け、一定時間を経過しなければ、同一のゲームを再開できない仕組みを有するゲームがある。この場合、有効なゲームアイテムは、上記の一定時間を短縮する機能を有する。このため、ユーザは、有効なゲームアイテムを使用することにより、上記一定時間の経過を待たずに、ゲームと同一のゲームを再開できる。
本願発明者は、この種のゲーム用アプリケーションと、例えば、薬局、雑貨店、または衣料販売店などの店舗とを連携させ、ゲーム用アプリケーションにおけるスタンプ又はゲームアイテムの取得を、店舗での販売促進に結びつける方法を見出した。
本開示の一態様に係る情報提供方法は、ゲームの進行レベルに応じてゲーム報償を得るタイプのゲーム用アプリケーションを搭載し且つディスプレイを有する情報機器とネットワークを介して接続される情報管理システムにおける情報提供方法であって、所定の店舗を示す店舗IDを含む識別情報を取得した前記情報機器から前記ネットワークを介して、前記店舗IDと共にi)前記情報機器において起動中のゲーム用アプリケーションを示すアプリID及びii)前記ゲーム用アプリケーションのユーザを示すユーザIDを受信し、前記アプリID及び前記ユーザIDに応じて、前記アプリID及び前記ユーザIDと対応付けて前記ユーザによる前記ゲームの進行レベルを管理する第1データベース(例えば、図13(b)、(c))、並びに、前記アプリID及び前記進行レベルに対応して付与する第1ゲーム報償を示す第1ゲーム報償IDを管理する第2データベース(例えば、図53)を参照して、前記ゲームの進行レベルに応じた前記第1ゲーム報償が付与される旨の第1指示データを、前記ネットワークを介して前記情報機器に送信する。
これにより、ゲーム用アプリケーションのユーザは、所定の店舗を示す店舗IDを含む識別情報を読み取るだけで、情報機器において起動中のゲーム用アプリケーションに用いるゲーム報償を取得できる。
このため、ユーザは、ゲームを進行させなくてもゲームに用いるゲーム報償、例えば、スタンプまたはゲームアイテムを取得できる。
例えば、所定の店舗を示す店舗IDを含む識別情報が、所定の店舗の周辺または所定の店舗の内部に掲示(設置)されることで、ユーザに所定の店舗に赴かせる動機を与えることができる。
このように、本態様によると、ゲーム用アプリケーションと所定の店舗とを連携させ、ゲーム用アプリケーションに用いられるスタンプまたはゲームアイテムの取得を、所定の店舗での販売促進に結びつけることができる。
また、前記第1ゲーム報償が第1所定数のスタンプである場合、前記第1指示データに基づき前記第1所定数のスタンプが付与されたスタンプカードを前記情報機器のディスプレイに表示させてもよい。
また、前記第1所定数は、前記ゲームの進行レベルが進む程多くてもよい。
本態様によると、ゲーム用アプリケーションによるゲームの進行レベルに応じて付与するスタンプ数を変えることができる。例えば、ゲームの進行レベルが進む程、より多くのスタンプ数を取得できるようにしてもよい。一般に、ゲームは、進行レベルが進む程、次のレベルに進むことが難しいように作成されている。
このため、ゲームの進行レベルが進む程、より多くのスタンプを取得できるように設定されることで、進行したゲームをクリアできる可能性が高くなるという期待感をユーザに与える。このような期待感から、所定の店舗を示す店舗IDを含む識別情報を読み取ることができる場所にユーザを赴かせることができる。つまり、スタンプ又はゲームアイテムの取得を所定の店舗での販売促進に結びつけることができる。
また、前記第1ゲーム報償が前記ゲーム用アプリケーションで用いられる第2所定数のゲームアイテムである場合、前記第1指示データに基づき前記ゲームアイテムを前記第2所定数、得た旨の第1表示データを前記情報機器のディスプレイに表示させてもよい。
また、前記第2所定数は、前記ゲームの進行レベルが進む程多くてもよい。
本態様によると、前記ゲーム用アプリケーションによるゲームの進行レベルに応じて付与するゲームアイテム数を変えることができる。例えば、ゲームの進行レベルが進む程、より多くのゲームアイテム数を取得できるようにしてもよい。一般に、ゲームは、進行レベルが進む程、次のレベルに進むことが難しいように作成されている。
このため、ゲームの進行レベルが進む程、より多くのゲームアイテムを取得できるように設定されることで、進行したゲームをクリアできる可能性が高くなるという期待感をユーザに与える。このような期待感から、所定の店舗を示す店舗IDを含む識別情報を読み取ることができる場所にユーザを赴かせることができる。つまり、スタンプ又はゲームアイテムの取得を所定の店舗での販売促進に結びつけることができる。
また、前記第1指示データは、前記店舗IDが示す店舗にて購買すれば更にゲーム報償が追加で付与される旨の広告情報を含み、前記店舗にて商品又はサービスを購買したことを示す購入IDを読み取った前記情報機器から前記ネットワークを介して、前記購入IDと共に前記アプリIDを受信し、前記アプリIDに応じて、前記アプリID及び前記アプリIDに対応して付与する第2ゲーム報償を示す第2ゲーム報償IDを管理する第3データベース(例えば、図59)を参照して、前記第2ゲーム報償が追加で付与される旨の第2指示データを、前記ネットワークを介して前記情報機器に送信してもよい。
本態様によると、所定の店舗を示す店舗IDを含む識別情報を読み取る場合に加えて、所定の店舗にて実際に商品を購買することで、さらに追加のゲーム報償を取得できる。
これにより、ゲーム用アプリケーションにおいてゲームを進行させなくても、ゲーム報償を更に追加取得できる。このことは、ユーザに所定の店舗に赴く動機を与えるため、ゲームに用いるゲーム報償の取得を、所定の店舗における購買行動に結びつけることができる。言い換えれば、ゲーム用アプリケーションと所定の店舗とを連携させ、ゲーム用アプリケーションに用いられるゲーム報償の取得を契機に、所定の店舗における商品の販売を促進できる。
また、前記第3データベース(例えば、図59)は、前記アプリID及び第2ゲーム報償IDと対応づけて、どの価格帯の商品又はサービスを購入したかを示す特典IDを管理し、前記購入ID及び特典IDを読み取った前記情報機器から前記ネットワークを介して、前記購入ID及び前記特典IDと共に前記アプリIDを受信し、前記特典ID及び前記アプリIDに応じて、前記第3データベースを参照して、前記第2ゲーム報償が追加で付与される旨の前記第2指示データを、前記ネットワークを介して前記情報機器に送信してもよい。
また、前記第2ゲーム報償が第3所定数のスタンプである場合、前記第2指示データに基づき前記第3所定数のスタンプが追加で付与されたスタンプカードを前記情報機器のディスプレイに表示させてもよい。
また、前記第3所定数は、前記ゲームの進行レベルが進む程多くてもよい。
また、前記第2ゲーム報償が前記ゲーム用アプリケーションで用いられる第4所定数のゲームアイテムである場合、前記第2指示データに基づき前記ゲームアイテムを前記第4所定数、得た旨の第2表示データを前記情報機器のディスプレイに表示させてもよい。
また、前記第4所定数は、前記ゲームの進行レベルが進む程多くてもよい。
また、前記情報管理システムは、前記情報管理システムによって登録されている登録店舗を管理する第3データベースを参照して、前記受信した店舗ID示す店舗が前記登録店舗に含まれるか否かを判断し、前記受信した店舗ID示す店舗が前記登録店舗に含まれる場合、前記第1指示データを、前記ネットワークを介して前記情報機器に送信してもよい。
本態様によると、店舗ID示す店舗が登録店舗に含まれる場合は、第1指示データが情報機器に送信されるが、店舗IDが示す店舗が登録店舗に含まれない場合、第1ゲーム報償は、ユーザに付与されない。したがって、ゲーム用アプリケーションと連携していない店舗との関係では、スタンプ又はゲームアイテムは、ユーザに付与されない。よって、ユーザにゲーム用アプリケーションと連携している店舗に赴く動機を与えることができ、当該における商品の販売促進が実現される。
また、前記識別情報は、前記所定の店舗の位置を示す第1位置情報を含み、前記情報管理システムは、前記情報機器から前記情報機器の位置を示す第2位置情報を、GPSシステムを用いて取得し、前記第2位置情報が示す位置が、前記第1位置情報が示す位置から所定距離の範囲内にある場合、前記第1指示データを、前記ネットワークを介して前記情報機器に送信してもよい。
本態様によると、ゲーム用アプリケーションのユーザが、実際に識別情報を読み取ることができる場所に来て識別情報を読み取った場合にのみ、ゲーム報償がユーザに付与される。すなわち、ユーザが実際に識別情報を読み取ることができる場所に来ていない状態で、不正な手段を用いて識別情報を読み取った場合には、ゲーム報償は、ユーザに付与されない。
これにより、実際に識別情報を読み取ることができる場所に来て識別情報を読み取った場合にだけ、ユーザはゲーム報償を取得することができる。したがって、ゲーム用アプリケーションに用いられるゲーム報償の取得を、所定の店舗における商品の販売促進に結びつけることができる。
また、前記情報管理システムは、前記第1指示データが前記情報機器に送信された後、前記アプリIDが示すアプリケーションを起動している前記ユーザIDが示すユーザに対して、前記第1ゲーム報償を既に付与した旨を示す状態情報を管理してもよい。
また、前記第1データベースと第2データベースとは同一のデータベースであってもよい。
なお、これらの包括的または具体的な態様は、システム、装置、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよい。また、これらの包括的または具体的な態様は、システム、装置、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
以下、実施の形態について、図面を参照しながら具体的に説明する。
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
なお、各図は模式図であり、必ずしも厳密に図示されたものではない。また、各図において、実質的に同一の構成に対しては同一の符号を付しており、重複する説明は省略または簡略化される場合がある。
(実施の形態1)
以下、実施の形態1に係るゲーム報酬付与システムについて説明する。図1は、ゲーム報酬付与システムの概略構成を示す図である。
図1に示されるように、ゲーム報酬付与システム100は、サーバ10と、モバイル端末20とを備える。サーバ10とモバイル端末20とはネットワーク40(例えば、インターネット)を通じて接続されている。また、図1には、モバイル端末20によって実行されるゲームのコラボレーションの対象となる店舗30も図示されている。
なお、ゲーム報酬付与システム100においては、ユーザは、モバイル端末20を用いてサーバ10からゲーム用アプリケーション(以下、単に「ゲームアプリ」とも記載する。)をダウンロードする。ユーザのゲームの進行状況などの情報は、サーバ10に記憶される。
また、実施の形態1では、モバイル端末20で実行されるゲームは、ユーザがゲーム上で商品を販売し、その売り上げが最初の目標額に達するとスタンプが付与されるルールのゲームであるものとする。このゲームでは、ユーザの売り上げが次の目標額に達すると次のスタンプがさらに付与される。ユーザが所定数(例えば5個)のスタンプを取得すると、ユーザはゲームを進める上で有効なゲームアイテムを獲得できる。
ゲーム報酬付与システム100においては、上記スタンプがゲームの進行によって付与されるだけでなく、ユーザがモバイル端末20を現実の店舗30に持参することによっても付与される点が特徴である。
次に、ゲーム報酬付与システム100の具体的な構成について説明する。図2は、ゲーム報酬付与システム100の機能構成を示すブロック図である。まず、サーバ10について説明する。
図2に示されるように、サーバ10は、サーバ制御部11と、店舗情報DB13と、ゲームアプリ情報DB14と、ユーザ情報DB15とを備える。
サーバ制御部11は、モバイル端末20からの各要求を受信し、要求に応じて各DB(店舗情報DB13、ゲームアプリ情報DB14、およびユーザ情報DB15)を参照し、必要な場合は各DB情報の更新を行う。また、サーバ制御部11は、上記要求に応じてゲームに必要な情報(画面情報など)をモバイル端末20に送信する。
サーバ制御部11は、具体的には、プロセッサであるが、マイクロコンピュータや専用回路など、どのような態様であってもよい。
次に、モバイル端末20について説明する。モバイル端末20は、制御部21と、記憶部22と、OS(Operating System)26とを備える。また、記憶部22には、ゲームアプリが記憶されており、ゲームアプリには、ゲーム部23と、SDK(Software Development Kit)部24と、サーバ情報DB25とが含まれる。モバイル端末20は、具体的には、スマートフォン、タブレット端末、またはノートPCなどの表示部を有する端末である。なお、図2では表示部の図示が省略されている。
制御部21は、OS26を立ち上げて記憶部22に記憶されたゲームアプリを実行する。制御部21は、プロセッサであるが、マイクロコンピュータや専用回路など、どのような態様であってもよい。なお、以下の実施の形態では、制御部21がゲームアプリを実行することによって行われる処理は、単に「ゲーム部23は・・する」または「SDK部24は・・する」と記載される。
次に、上記各DBに記憶される情報について簡単に説明する。図3は、店舗情報DB13に記憶される情報を示す図である。図4は、ゲームアプリ情報DB14に記憶される情報を示す図である。図5は、ユーザ情報DB15に記憶される情報を示す図である。
図3に示されるように、店舗情報DB13には、店舗属性情報131と、広告情報132と、購入者特典情報133とが記憶される。
また、図4に示されるように、ゲームアプリ情報DB14には、スタンプ情報141と、ゲーム属性情報142と、報酬付与条件情報143と、報酬一覧情報144と、報酬出現確率情報145と、購入者特典報酬情報146とが記憶される。
さらに、図5に示されるように、ユーザ情報DB15には、ユーザログイン情報151と、ユーザ達成度情報152と、ユーザチェックインログ153と、ユーザ達成度ログ154と、ユーザ報酬付与情報155とが記憶される。
[初期化処理]
次に、モバイル端末20においてゲームアプリを実行する場合の初期化処理について説明する。まず、初期化処理の全体の流れについて説明する。図6は、初期化処理のシーケンス図である。
ゲーム初期化処理(S10)においては、ゲーム部23は、SDK部24にログイン要求を送信し(S11)、SDK部24は、ログイン要求処理を行う(S12)。SDK部24は、具体的には、サーバ制御部11へログイン要求を送信する(S13)。
サーバ制御部11は、受信したログイン要求に応じてログイン処理(S14)を行い、ログイン処理の完了後、ユーザIDをSDK部24に送信する(S15)。SDK部24は、ログイン完了通知をゲーム部23に送信する(S16)。
ログインが完了すると、ゲーム部23は、店舗コラボ情報取得要求をSDK部24に送信し(S17)、SDK部24は、店舗コラボ情報取得処理を行う(S18)。SDK部24は、具体的には、サーバ制御部11へ店舗コラボ情報生成要求を送信する(S19)。
サーバ制御部11は、受信した店舗コラボ情報生成要求に応じて店舗コラボ情報生成処理を行い(S20)、生成した店舗コラボ情報をSDK部24に送信する(S21)。そして、SDK部24は、店舗コラボ情報取得完了通知をゲーム部23に送信する(S22)。
以上により、ゲーム初期化処理(S10)が完了する。続いて、ゲーム部23は、ゲーム画面描画・表示処理(S23)を行う。具体的には、ゲーム部23は、店舗コラボ画像描画・表示要求をSDK部24に送信し(S24)、SDK部24は、店舗コラボ情報描画・表示処理を行う(S25)。店舗コラボ画像描画・表示処理の完了後、SDK部24は、店舗コラボ画像描画・表示完了通知をゲーム部23に送信する。
なお、ログイン処理時には、モバイル端末20の表示部には、図7の(a)のようなログイン画面27aが表示される。また、ゲーム画面描画・表示処理完了時には、図7の(b)のようなゲーム画面27bが表示される。なお、ゲーム画面27bには、ゲーム固有画像28aと店舗コラボ画像28bとが含まれる。
次に、初期化処理における初期化処理の動作の詳細について説明する。まず、初期化処理におけるゲーム部23の動作について説明する。図8は、初期化処理におけるゲーム部23の動作のフローチャートである。
図8に示されるように、ゲーム部23は、ゲーム初期化処理(S31)を行った後、SDK部24にログイン要求を送信し(S32)、SDK部24に店舗コラボ情報取得要求を送信する(S33)。ゲーム部23が店舗コラボ情報の取得に成功した場合(S34でYes)、店舗コラボフラグがONされる(S35)。ゲーム部23が店舗コラボ情報の取得に失敗した場合(S34でNo)、リトライ(S36でYes)が行われた後、店舗コラボフラグがOFFされる(S37)。なお、リトライは、例えば、所定回数行われる。
なお、これ以降のゲーム部23からSDK部24への各種処理要求(例えば、図6の店舗コラボ情報描画・表示要求)は、店舗コラボフラグがONの場合のみ行われる。
続いて、初期化処理におけるSDK部の動作について説明する。図9は、初期化処理におけるSDK部24の動作のフローチャートである。
まず、SDK部24は、アプリユーザIDが生成済みであるか否かを判断する(S41)。アプリユーザIDが生成済みでない場合は(S41でNo)、SDK部24は、OS26からUUID(Universally Unique Identifier)を取得し、取得したUUIDをアプリユーザIDとする(S42)。
次に、SDK部24は、WebViewを作成し、アプリユーザIDとアプリIDとを引数とする、ログインページ表示の部品要求をサーバ10に送信する(S43)。なお、WebViewは、モバイル端末20のアプリ(ここでは、ゲームアプリ)がアプリ内にWebページを表示するための機能(仕組み)である。
そして、SDK部24は、サーバ10からログインページ表示の部品を受信し、WebView上にログイン画面27aを表示する(S44)。ここで、ユーザは、モバイル端末20を通じてユーザ名およびパスワードの入力を行う。つまり、SDK部24は、ユーザが入力するユーザ名およびパスワードを取得する。
続いて、SDK部24は、ユーザが入力したユーザ名およびパスワード、アプリユーザID並びにアプリIDを引数とするログイン要求をサーバ10へ送信する(S45)。サーバ10からの応答がない場合(S46でNo)、ログイン要求の再送信が行われる。サーバ10からの応答が得られれば(S46でYes)、処理は終了となる。
次に、部品要求、ログイン要求、およびこれらの応答の具体例について説明する。図10および図11は、部品要求、ログイン要求、およびこれらの応答のHTML文書の一例を示す図である。
図10の(a)に示されるように、部品要求29は、アプリユーザID29a、アプリID29b、およびアクション29cを含む。
また、図10の(b)に示されるように、ログイン要求31は、アプリユーザID31a、アプリID31b、アクション31c、ユーザ名31d、およびパスワード31eを含む。
ログイン要求31に対し、サーバ10は、図10の(c)に示される応答32b(エラーなしを示す応答)を送信する(ステップS46でYes)。なお、ログイン要求31で指定したユーザ名とパスワードとの組み合わせではログインができないような場合には、図10の(d)に示される応答32cが送信される(ステップS46でNoとなり、ステップS45の処理が再度行われる)。
なお、ログイン画面表示する場合には、部品要求29に対して図11に示される応答32aのように、htmlおよびjavascript(登録商標)の形式の応答が送信される。つまり、WebView表示用の「部品」は、htmlおよびjavascript(登録商標)形式で送信される。応答32aでは、前半部分(図11の上方の枠で囲まれた部分)は、モバイル端末20において送信ボタンが押された場合のログイン要求送信処理およびリトライ処理が記述されている。応答32aでは、後半部分(図11の下方の枠で囲まれた部分)は、ログイン画面27aをモバイル端末20の表示部に表示するための部品が記述されている。
続いて、サーバ10(サーバ制御部11)の動作について説明する。図12は、初期化処理におけるサーバ10の動作のフローチャートである。図13は、ユーザ情報DB15内のユーザログイン情報151およびユーザ達成度情報152を示す図である。なお、図13の(a)に示されるように、ユーザログイン情報151においては、ユーザID151aとユーザ名およびパスワードとが対応付けられている。図13の(b)および(c)に示されるように、ユーザ達成度情報152に含まれる各ユーザ達成度情報152fにおいては、ユーザID152aと、アプリユーザID、アプリID、ゲームのスコア、レベル152d、スタンプシート152b、およびスタンプ数152cとが対応付けられている。
サーバ制御部11は、モバイル端末20から送信された部品要求29またはログイン要求31からアプリユーザID29a(31a)、アプリID29b(31b)、およびアクション29c(31c)を取得する(S51)。アクションが「login」を示す場合、つまり、モバイル端末20からログイン要求31が送信された場合(S52でYes)、サーバ制御部11は、ログイン要求からユーザ名31dおよびパスワード31eを取得する(S53)。そして、サーバ制御部11は、ユーザログイン情報151を検索してユーザID151aを取得する(S54)。
サーバ制御部11は、ユーザID151aの取得に成功した場合(S55でYes)、かつユーザID151a、アプリユーザID31a、およびアプリID31bの組み合わせがユーザ達成度情報152に存在しない場合は、ユーザID151a、アプリユーザID31a、およびアプリID31bの組み合わせをユーザ達成度情報152に登録する(S56)。なお、ユーザID、アプリユーザID、及びアプリID以外の値については、デフォルト値(例えば、スコアー=0、レベル=1、スタンプシート=1、スタンプ数=0)とする。そして、サーバ制御部11は、ユーザ達成度情報152の登録の有無に関わらずモバイル端末20にログイン成功を示す応答32bを送信する(S58)。
また、サーバ制御部11は、ユーザIDの取得に失敗した場合(S55でNo)、モバイル端末20にログイン失敗を示す応答32cを送信する(S57)。
一方、ステップS52でアクションが「View」を示す場合、つまり、モバイル端末20から部品要求29が送信された場合(S52でNo)、サーバ制御部11は、アプリユーザID29aおよびアプリID29bに基づいて応答32aを生成し、モバイル端末20に送信する(S59)。
[店舗コラボ情報の生成処理]
次に、ゲーム画面の描画・表示処理のうち店舗コラボ情報の生成処理について説明する。まず、SDK部24の店舗コラボ情報の取得方法について説明する。図14は、店舗コラボ情報の取得方法のフローチャートである。図15は、店舗コラボ情報要求(図15の(a))および店舗コラボ情報(図15の(b))の一例を示す図である。図16は、サーバ情報DB25内のサーバ情報の一例を示す図である。図17は、スタンプシート画面の一例を示す図である。
SDK部24は、アプリユーザID33aおよびアプリID33bを引数とする店舗コラボ情報要求を送信する(S61)。そして、SDK部24は、店舗コラボ情報34をサーバ制御部11から受信し、サーバ情報DB25内にサーバ情報35として格納する(S62)。そして、SDK部24は、ゲーム部23に店舗コラボ情報34の取得完了通知を行う(S63)。
なお、店舗コラボ情報34は、店舗コラボ画像を生成するための情報であり、店舗コラボ情報34には、応答34aと、スタンプ数34bと、メッセージ34cとが含まれ、サーバ情報35についてもこれらの情報が含まれる。
応答34aは、サーバ制御部11にて店舗コラボ情報34の生成に成功したか否か(エラーが発生しないかどうか)を示す情報である。店舗コラボ情報34の生成に成功した場合は、”NONE”、サーバ制御部11とのネットワーク接続に失敗した場合は、”connection_error”、アプリIDがサーバに登録されていない場合は、”bad_app_id”と記述される。
スタンプ数34bは、アプリIDによって特定されるゲームにて、アプリユーザIDによって特定(識別)されるアプリユーザのスタンプの進捗を示す情報である。実施の形態1では、(獲得スタンプ数/ゴールスタンプ数)のように表現される。なお、ゴールスタンプ数とは、スタンプシートをいっぱいにするために必要なスタンプ数であり、実施の形態1では「5」である。したがって、図17に示されるスタンプシート画面27cのようにスタンプが1つも押されていない場合は0/5のように表現される。
メッセージ34cは、サーバ制御部11が生成した、店舗30への来店を喚起するためのメッセージである。
次に、サーバ10(サーバ制御部11)の店舗コラボ情報34の生成処理について説明する。図18は、店舗コラボ情報34の生成方法のフローチャートである。図19は、店舗情報DB13内の店舗属性情報の一例を示す図である。図20は、ゲームアプリ情報DB14内のスタンプ情報141の一例を示す図である。
サーバ制御部11は、制御部21(SDK部24)から受信した店舗コラボ情報要求33からアプリユーザID33aおよびアプリID33bを取り出す(S71)。そして、サーバ制御部11は、取り出したアプリユーザID33aおよびアプリID33bに基づいて、ユーザ情報DB15から対応するユーザ達成度情報152fを取得する(S72)。
続いて、サーバ制御部11は、店舗情報DB13から一定数の店舗属性情報131(図19)を取得し(S73)、これらより、ランダムに1つを選択する(S74)。なお、ステップS73の処理の詳細については後述する。
そして、サーバ制御部11は、ゲームアプリ情報DB14内のスタンプ情報141からアプリID33bに対応するアプリのスタンプシート枚数のゴールスタンプ数を取得する(S75)。ここで、スタンプシート枚数は、ユーザ達成度情報152fに含まれるスタンプシート152bにより特定され、ここでは「2」である。また、図20のスタンプ情報141aに示されるように、このときのゴールスタンプ数は、「5」である。
最後に、サーバ制御部11は、ユーザ達成度情報152fに含まれるスタンプ数152cより特定される獲得スタンプ数と、上記ゴールスタンプ数と、上記ステップS74にて選択した店舗属性情報に含まれるメッセージ(例えばステップS74で選択された店舗属性情報が131dの場合は、メッセージ36f)とが含まれる店舗コラボ情報34を生成し、モバイル端末20に送信する(S76)。
次に、店舗情報DB13から一定数の店舗属性情報131を取得する処理(上記ステップS73の処理)の一例について説明する。図21Aおよび図21Bは、店舗情報DB13から一定数の店舗属性情報131を取得する処理のフローチャートである。図22は、ユーザチェックインログ153(図22の(a))およびゲーム属性情報142(図22の(b))の一例を示す図である。
なお、以下の説明では、サーバ制御部11が、チェックインリストCL、店舗リストSLおよびSL2、並びにスコアSCを用いて一定数の店舗属性情報131を取り出す例について説明する。
サーバ制御部11は、ユーザ情報DB15内のユーザチェックインログ153から一定期間のチェックイン情報(チェックインの履歴。例えば、一定期間=1ヶ月、現在時刻が2014年2月7日12:00である場合、時刻が2014年1月7日12:00〜2014年2月7日12:00迄である、図22の(a)のチェックイン情報153aおよび153b。)を取得し、チェックインリストCLに追加する(S81)。そして、サーバ制御部11は、店舗リストSLを空にし(S82)、チェックインリストCLが空であるか否かを判定する(S83)。
チェックインリストCLが空でない場合(S83でNo)、サーバ制御部11は、チェックインリストCLからチェックイン情報を1つ取り出す(S84)。また、サーバ制御部11は、店舗属性情報131を参照して、チェックイン情報の店舗IDと一致する店舗IDを有する店舗属性情報131を取得し、店舗リストSLに追加する(S85)。例えば、図22の(a)のチェックイン情報153aが取り出された場合、店舗ID153cは、str00005であり、図19の店舗属性情報131のうち店舗属性情報131eが取得される。
さらに、サーバ制御部11は、店舗属性情報131を参照して、チェックイン情報の店舗ID153cが示す店舗の近隣の店舗の店舗属性情報131を取得し、店舗リストSLに追加する(S86)。なお、近隣の店舗の有無の判定は、店舗属性情報に含まれる緯度、及び経度を利用して、店舗間の距離を算出することによって行われる。具体的には、店舗間の距離が一定値以下(例えば、500m以内)であれば、近隣の店舗であると判定される。SQLで近隣500mの店舗属性情報131を検索する場合、図23のように記述される。例えば、店舗属性情報131e(緯度34.72101、経度135.3122)から500m以内の緯度・経度情報をもつ店舗属性情報は、店舗属性情報131b及び131dである。この場合、店舗リストSLには、店舗属性情報131b及び131dが追加される。
ステップS84からステップS86の処理は、チェックインリストCLが空になるまで(S83でYes)行われる。
次に、サーバ制御部11は、ゲームアプリ情報DB14のゲーム属性情報142から、店舗コラボ情報要求33に含まれるアプリID33bとアプリIDが一致するゲーム属性情報(ここでは、ゲーム属性情報142a)を取得する(S87)。
店舗リストSLが空でない場合(S88でNo)、サーバ制御部11は、スコアSC=0として店舗リストSLから店舗属性情報131を1つ取り出す(S89)。取り出した店舗属性情報131(以下、対象の店舗属性情報131とも記載する。)のジャンル傾向が、ゲーム属性情報142aのジャンル142bと同一の場合、サーバ制御部11は、対象の店舗属性情報131のスコアSCに所定値(店舗属性情報131のジャンル傾向にて括弧内に記載される数値、例えば、店舗属性情報131dの場合は、0.5)を加える(S90)。
また、対象の店舗属性情報131のアプリ傾向が、店舗コラボ情報要求33に含まれるアプリID33bと同一の場合は、サーバ制御部11は、対象の店舗属性情報131のスコアSCに所定値(店舗属性情報131のアプリ傾向にて括弧内に記載される数値、例えば、店舗属性情報131aの場合は、0.2)を加える(S91)。
また、対象の店舗属性情報131の開発者が、ゲーム属性情報142aの開発者142cと同一の場合は、サーバ制御部11は、対象の店舗属性情報131のスコアSCに所定値(店舗属性情報131の開発者傾向にて括弧内に記載される数値、例えば店舗属性情報131bの場合は、0.3)を加える(S92)。
最後に、サーバ制御部11は、対象の店舗属性情報131にステップS90〜ステップS92で算出したスコアSCを含めて店舗リストSL2に追加し、店舗リストSL2内の店舗属性情報131をスコアSCが高い順番に並べ替える(S93)。
ステップS89からステップS93の処理は、店舗リストSLが空になるまで(S88でYes)、店舗リストSL内の各店舗属性情報131に対して行われる。
以上のような処理により、店舗リストSL2の上位一定数の店舗属性情報131、つまり、過去一定期間にプレーヤが来店した近隣の店舗であって、プレーヤが現在プレイするゲームアプリに関連性の高い店舗が一定数取り出される(S94)。
[ゲーム画面描画・表示処理]
以上説明したような店舗コラボ情報34を用いたゲーム画面描画・表示処理について説明する。図24は、ゲーム画面描画・表示処理のフローチャートである。図25は、店舗コラボ画像28bの生成処理のフローチャートである。図26は、店舗コラボ画像28bの一例を示す図である。
図24に示されるように、ゲーム部23は、まず、ゲーム固有画像28aの描画・表示を行う(S101)。店舗コラボフラグがONである場合(S102でYes)、ゲーム部23は、SDK部24に店舗コラボ画像28bの描画・表示要求を送信する(S103)。
図25に示されるように。店舗コラボ画像28bの描画・表示要求を受信したSDK部24は、まず、店舗コラボ画像28b(図26)の背景部分を描画する(S111)。続いて、SDK部24は、店舗コラボ情報34からスタンプ数34b(獲得スタンプ数およびゴールスタンプ数)を取得し(S112)、店舗コラボ画像28bのうちスタンプ数表示部28cを描画する(S113)。
さらに、SDK部24は、店舗コラボ情報34からメッセージ34cを取得し(S114)、店舗コラボ画像28bのうちメッセージ表示部28dを描画する(S115)。なお、メッセージ表示部28dにおいては、メッセージ34cは、スクロール表示される。
[ゲーム処理および報酬付与処理]
次に、ゲーム処理および報酬付与処理について説明する。図27は、ゲーム処理および報酬付与処理のシーケンス図である。
ゲーム処理S121において、ゲーム部23は、達成度送信要求をSDK部に送信する(S122)。達成度送信要求を受信したSDK部24は、達成度送信処理を行う(S123)。SDK部24は、具体的には、サーバ制御部11に報酬付与判定要求を送信する(S124)。なお、報酬付与判定要求には、達成度が含まれる。
サーバ制御部11は、送信された報酬付与判定要求に基づいて報酬付与判定処理を行い(S125)、報酬付与が不要であると判定した場合には、報酬付与無しの応答(報酬付与情報)をSDK部24に送信する(S126)。そして、SDK部24は、報酬付与無しの応答(報酬付与情報)をゲーム部23に送信する(S127)。
報酬付与がなされる場合も同様に、ゲーム部23は、達成度送信要求をSDK部に送信し(S128)、SDK部24は、達成度送信処理を行う(S129、S130)。サーバ制御部11は、送信された報酬付与判定要求に基づいて報酬付与判定処理を行い(S131)、報酬付与が必要であると判定した場合には、報酬付与有りの応答(報酬付与情報)をSDK部24に送信する(S132)。そして、SDK部24は、報酬付与有りの応答をゲーム部23に送信する(S133)。
報酬付与有りの応答を受信したゲーム部23は、報酬画面表示要求をSDK部24に送信する(S134)。報酬画面表示要求を受信したSDK部24は、報酬画面表示処理を行う(S135)。具体的には、SDK部24は、報酬画面情報要求をサーバ制御部11に送信する(S136)。報酬画面情報要求を受信したサーバ制御部11は、報酬画面情報を生成し(S137)、生成した報酬画面情報をSDK部24に送信する(S138)。SDK部24は、受信した報酬画面情報を利用して、モバイル端末20の表示部に報酬獲得の旨の表示を行う。
報酬画面情報を表示した後、SDK部24は、報酬付与処理を行う(S139)。SDK部24は、具体的には、報酬情報要求をサーバ制御部11に送信する(S140)。報酬情報要求を受信したサーバ制御部11は、報酬情報を生成し(S141)、生成した報酬情報をSDK部24に送信する(S142)。
SDK部24は、受信した報酬情報をゲーム部23に送信し(S143)、ゲーム部23は、報酬処理を行う(S144)。
上述のように、実施の形態1に係るゲームにおいては、ユーザがゲーム上で商品を販売し、その売り上げが所定の金額に達するとスタンプが付与される。図28は、ゲーム上で商品を販売するときのゲーム画面27bを示す図である。
図28の(a)に示されるように、ゲーム画面の左上には、売り上げが示されている。ここで、図28の(b)に示されるように、売り上げが「190G」(Gは、ゲーム内での通貨単位)の状態でゲーム上の商品の販売がなされると、図28の(c)に示されるように、売り上げが増える。ここでは、「80G」が追加され、売り上げは「250G」に増える。このような、売り上げの増加は、「達成度」として上記達成度送信要求に含められ、ゲーム部23からSDK部24に送信される。また、この達成度は、上記報酬付与判定要求にも含められ、SDK部24からサーバ制御部11に送信される。
ここで、上記達成度に応じて行われるスタンプの付与、つまり、上述のスタンプシート画面27cにおいてスタンプを追加する処理は、上記報酬付与判定処理に含まれる(なお、スタンプシートを表示する処理は、上記報酬画面表示処理に含まれる。)。図29は、スタンプシート画面27cにスタンプが押される様子を示す図である。
図29の(a)〜(e)に示されるように、報酬付与判定処理においては、ゲームで一定の達成をする毎にひとつずつスタンプが報酬として与えられ、報酬画面情報生成処理によって、スタンプシート画面27cにスタンプがひとつずつ押されていく画面が生成される。スタンプは、サーバ10で管理される報酬情報であり、ゲーム部24は獲得スタンプ数、ゴールスタンプ数を意識する必要はない。獲得スタンプ数がゴールスタンプ数(ここでは5つ)に達した場合、図29の(f)に示されるように、ユーザに対してゲーム内で貴重なアイテムが付与される。
ここでユーザに付与されるアイテムは、スタンプと異なり、ゲーム部23が付与処理を行う必要のある情報である。アイテム付与に関する表示は、報酬画面情報生成処理によって行われるが、付与アイテムをゲームへ反映させる処理は、SDK部24より送信される報酬情報を受け取ったゲーム部24が、報酬処理にて行う。
次に、ゲーム処理および報酬処理についてフローチャートを用いて詳細に説明する。図30は、ゲーム処理および報酬処理のフローチャートである。
ゲーム部23は、SDK部24から報酬情報を受信している場合、つまり報酬情報がある場合(S151でYes)、報酬情報にしたがってゲーム制御用の変数・DBを更新する(S158)。
報酬情報がない場合(S151でNo)、および、ステップS158の処理の後には、ゲーム固有ロジック処理が行われる(S152)。そして、ゲーム部23は、SDK部24に達成度送信要求を送信する(S153)。
ここで、ゲーム部23は、報酬付与有りの応答を受信した場合(S154でYes)には、SDK部24に報酬画面表示要求を送信し、報酬画面表示終了を待つ(S157)。
ゲーム部23が店舗コラボ画像報酬付与無しの応答を受信した場合(S154でNo)、又は報酬画面表示が終了した後、ゲーム部23は、ゲーム固有画描画・表示処理を行い(S155)、SDK部24は、店舗コラボ画像描画・表示処理を行う(S156)。そして、再度、報酬情報の有無の判断(S151)が行われる。
次に、SDK部24の達成度送信処理についてフローチャートを用いて詳細に説明する。図31は、達成度送信処理のフローチャートである。図32は、報酬付与判定要求(図32の(a))および報酬付与情報(図32の(b))の一例を示す図である。
図31に示されるように、SDK部24は、アプリユーザID38a、アプリID38b、および達成度38cを引数とする報酬付与判定要求38をサーバ10(サーバ制御部11)に送信する(S161)。そして、SDK部24は、サーバ10から報酬付与情報39を受信する(S162)。報酬付与情報には、エラーの有無を示す応答39aと、報酬付与の有無を示す応答39bとが含まれる。
報酬付与情報が報酬付与有りを示す応答39bを含む場合(S163でYes)、SDK部24は、ゲーム部23に報酬付与有りの応答を送信する(S164)。一方、報酬付与情報が報酬付与無しを示す応答39bを含む場合(S163でNo)、SDK部24は、ゲーム部23に報酬付与無しの応答を送信する(S165)。
次に、サーバ制御部11の報酬付与判定処理についてフローチャートを用いて詳細に説明する。図33は、報酬付与判定処理のフローチャートである。図34は、報酬付与条件情報143の一例を示す図である。図35は、ユーザ達成度ログ154(図35の(a)および(b))およびユーザ報酬付与情報155(図35の(c))の一例を示す図である。
サーバ制御部11は、SDK部24から受信した報酬付与判定要求38からアプリユーザID38a、アプリID38b、および達成度38cを取得する(S171)。サーバ制御部11は、ユーザ情報DB15内のユーザ達成度情報を参照して、アプリユーザID38aおよびアプリID38bの組合せに対応するユーザ達成度情報152fを取得する(S172)。
そして、サーバ制御部11は、アプリユーザID38a、アプリID38b、および達成度38cに現在時刻を付与したユーザ達成度ログ情報154aを生成し、ユーザ達成度ログ154に追加する(S173)。また、サーバ制御部11は、報酬付与条件情報143を参照してアプリID38bおよびユーザのレベルに対応する報酬付与条件情報143aを取得する(S174)。なお、図34に示されるように、報酬付与条件情報143aには報酬ID143bが含まれる。
ユーザ達成度ログ154を集計した結果が報酬付与条件情報143aを満たす場合(S175でYes)、サーバ制御部11は、ユーザ報酬付与情報155を生成する(S177)。図35の(c)に示されるように、具体的なユーザ報酬付与情報155aは、アプリユーザID38a、アプリID38b、報酬ID143b、ギフトID、画面表示済みフラグ、および報酬付与済みフラグを含む。なお、ギフトIDは、任意のユニークな数値であり(例えば1より単純増加する整数であり、他のユーザ報酬付与情報と重複しない)、画面表示済みフラグおよび報酬付与済みフラグは、いずれもこの時点では「FALSE」に設定される。
そして、サーバ制御部11は、報酬付与有りを示す応答39bを含む報酬付与情報39をSDK部24に送信する(S178)。
ステップS175においてユーザ達成度ログ154を集計した結果が報酬付与条件情報143aを満たさない場合(S175でNo)、サーバ制御部11は、報酬付与無しを示す応答39bを含む報酬付与情報39をSDK部24に送信する(S176)。
次に、報酬画面表示処理についてフローチャートを用いて詳細に説明する。図36は、報酬画面表示処理のフローチャートである。図37は、報酬画面情報要求の一例を示す図である。図38は、スタンプシート画面27cを表示する場合の報酬画面情報の一例を示す図である。図39は、アイテム付与画面を表示する場合の報酬画面情報の一例を示す図である。
SDK部24は、WebViewを作成し、アプリユーザID41aおよびアプリID41bを引数とする報酬画面情報要求41を、サーバ10(サーバ制御部11)に送信する(S181)。
次に、SDK部24は、サーバ制御部11から報酬画面情報42a(または報酬画面情報42b)を受信し、WebView上に報酬画面としてスタンプシート画面27c(またはアイテム付与画面27d)を表示する(S182)。
例えば、スタンプシート画面27cにスタンプが4つ押された状態から5つ目のスタンプを押すような表示を行う場合、報酬画面情報42aは、図38の太線枠のように記述される。また、例えば、アイテムの画像と、名称と、個数とを指定してアイテム付与画面27dを表示する場合、報酬画面情報42bは、図39のように記述される。すなわち、JavaScript(登録商標)にて記述された画面表示処理showScreen()が、引数に応じてスタンプ付与画面や、報酬画面の表示を動的に行う。なお、showScreen()の処理詳細については、記載しない。
なお、報酬画面情報42a(または報酬画面情報42b)にゲーム側報酬付与情報42dが含まれる場合(S183でYes)、報酬付与処理が行われる(S184)。ゲーム側報酬付与情報42dとは、具体的には、報酬画面情報42bの14行目の「location.href=”appcmd:gift=”+GIFT_ID」のことである。これは、JavaScript(登録商標)で記述された処理から、SDK部24の報酬付与処理を呼び出すための一般的な方法である。
location.href=URLは、WebViewにて表示しているWEBページをURLへ切り替えるために利用されるが、WebViewは、切り替え可否をWebViewの生成元であるSDK部24に問い合わせる。SDK部24は、URLとappcmd:が前方一致する場合、URL切り替えとは判断せず、JavaScript(登録商標)からSDK部24への処理要求と判断する。報酬画面情報42bの場合は、「gift=1」を引数として報酬付与処理が行われる。
なお、報酬画面情報42bの14行目の処理は、関数screen_show_completed()内部の処理である。この関数screen_show_completed()は、前記のshowScreen()の引数として指定され、showScreen()は、報酬画面の表示後、screen_show_completed()を呼び出す。
次に、報酬画面情報の生成方法についてフローチャートを用いて説明する。図40は、報酬画面情報の生成方法のフローチャートである。図41は、報酬一覧情報144の一例を示す図である。
サーバ制御部11は、報酬画面情報要求41からアプリユーザID41aおよびアプリID41bを取得する(S191)。次に、サーバ制御部11は、取得したアプリユーザID41aおよびアプリID41bに対応するユーザ報酬付与情報155aをユーザ報酬付与情報155から取得する(S192)。なお、このときの検索条件には、画面表示済みフラグが「FALSE」であるという条件、すなわち、未だ表示されていないユーザ報酬付与情報155aのみに限定するという条件が含まれる。
続いて、サーバ制御部11は、アプリID41bおよび取得したユーザ報酬付与情報155に対応する報酬一覧情報144aを報酬一覧情報144から取得する(S193)。
報酬一覧情報144aの報酬種別がスタンプである場合(S194でYes)、サーバ制御部11は、報酬画面情報42aを生成する(S195)。サーバ制御部11は、具体的には、ユーザ達成度情報152fに含まれるスタンプシート152bおよびスタンプ数152c、及び当該スタンプ数に報酬一覧情報144aの「報酬個数」を加算した報酬付与後スタンプ数(加算した結果、ゴールスタンプ数を超える場合は、ゴールスタンプ数とする)とを用いて報酬画面情報42aを生成する。
報酬一覧情報144aの報酬種別がアイテムである場合(S194でNo)、サーバ制御部11は、ユーザ報酬付与情報155aに含まれるギフトIDと、報酬一覧情報144aに含まれる報酬イメージおよび報酬名とを用いて報酬画面情報42bを生成する(S196)。
最後に、サーバ制御部11は、ユーザ報酬付与情報155の画面表示済みフラグを「TRUE(ON)」とし、報酬画面情報42a(または報酬画面情報42b)をSDK部24に送信する(S197)。なお、サーバ制御部11は、報酬画面情報42a(または報酬画面情報42b)をSDK部24に送信してからユーザ報酬付与情報155の画面表示済みフラグを「TRUE」としてもよい。
次に、報酬付与処理(図38のS184)についてフローチャートを用いて詳細に説明する。図42は、報酬付与処理のフローチャートである。図43は、報酬情報要求(図43の(a))および報酬情報(図43の(b))の一例を示す図である。
SDK部24は、サーバ制御部11から送信された報酬画面情報42a(または報酬画面情報42b)からギフトIDを取得する(S201)。そして、アプリユーザID43a、アプリID43b、およびギフトID43cを引数とする報酬情報要求43を生成し、サーバ制御部11に送信する(S202)。
続いて、SDK部24は、サーバ制御部11から報酬情報44を受信する(S203)。報酬情報44にエラーなしを示す応答(”ERROR”:”NONE”)が含まれている場合(S204でYes)、報酬情報44の報酬IDおよび報酬個数を少なくとも含む、ゲーム部23用の報酬情報をゲーム部23に送信する(S205)。
次に、報酬情報生成処理についてフローチャートを用いて詳細に説明する。図44は、報酬情報生成処理のフローチャートである。
サーバ制御部11は、SDK部24から取得した報酬情報要求43からアプリユーザID43a、アプリID43b、およびギフトID43cを取得する(S211)。そして、サーバ制御部11は、アプリユーザID43a、アプリID43b、およびギフトID43cに対応するユーザ報酬付与情報155aをユーザ報酬付与情報155から取得する(S212)。なお、このときの検索条件には、報酬付与済みフラグが「FALSE」であるという条件も含まれる。
対応するユーザ報酬付与情報155aを取得できた場合(S213でYes)、サーバ制御部11は、アプリID43bおよびユーザ報酬付与情報155aに含まれる報酬IDに対応する報酬一覧情報144aを報酬一覧情報144から取得する(S214)。
報酬一覧情報144aの報酬種別がスタンプである場合(S215でYes)、サーバ制御部11は、アプリユーザID43aおよびアプリID43bに対応するユーザ達成度情報152fをユーザ達成度情報152から取得する(S216)。そして、サーバ制御部11は、ユーザ達成度情報152fのスタンプ数に報酬一覧情報144aにより特定される報酬個数(スタンプ数)を加算し、かつ、報酬情報44を生成および送信する(S217)。これにより、上述した図13の(c)に示されるように、ユーザ達成度情報152fのスタンプ数が加算される。
報酬一覧情報144aの報酬種別がアイテムである場合(S215でNo)、サーバ制御部11は、報酬情報44を生成および送信する(S196)。このときの報酬情報44には、ユーザ報酬付与情報155aに含まれる報酬IDと、報酬一覧情報144aに含まれる報酬個数とが含まれる。
サーバ制御部11は、ステップS217ステップS218の後、ユーザ報酬付与情報155aの報酬付与済みフラグを「TRUE」とする(S219)。
上記ステップS212で対応するユーザ報酬付与情報155aを取得できなかった場合(S213でNo)、サーバ制御部11は、エラーが発生したことを示す応答(”ERROR”:”NO_REWARD_FOUND”)を含む報酬情報44を生成および送信する(S220)。
なお、図示されないが、上記スタンプ加算処理において、スタンプ数がゴールスタンプ数を超えた場合は、サーバ制御部11は、スタンプ情報141から、現在のスタンプシート152bの報酬IDを取得し、ユーザ報酬付与情報155aを生成する。なお、ユーザ報酬付与情報生成の手順は、ステップS177と同様であるため、詳細な説明は省略する。サーバ制御部11は、あわせて、ユーザ達成度情報152fを更新する(スタンプシートを1加算し、スタンプ数をリセットする)。
[チェックインに基づく報酬付与]
次に、ゲーム報酬付与システム100の特徴的な処理であるチェックイン(または店舗30における購買)に基づく報酬付与について説明する。図45は、チェックインに基づく報酬付与のシーケンス図である。なお、実施の形態1において、チェックインとは、店舗30に設けられた2次元コードをモバイル端末20の撮像部により読み取る等により、モバイル端末20がスタンプ付与のための識別情報(実施の形態1では店舗IDまたは購入IDを含む情報)を取得する処理を意味する。
まず、SDK部24は、来店予備行動感知処理を行い(S221)、近隣店舗判定要求をサーバ制御部11に送信する(S222)。サーバ制御部11は、近隣店舗判定処理を行い(S223)、近隣店舗情報をSDK部24に送信する(S224)。
SDK部24は、近隣店舗判定処理の結果に応じて、表示切替要求をゲーム部23に送信する(S225)。このときゲーム部23は、ゲーム処理中であるため(S226)、表示切替要求を受信後、プレーヤに対するゲーム体験を妨げないようゲーム処理を進めた後、来店情報取得要求をSDK部24に送信する(S227)。なお、ゲーム部24は、表示切替要求受信時に、「チェックイン画面に切り替える」旨のボタンを表示し、ユーザが本ボタンを押下したタイミングで来店情報取得要求をSDK部24に送信してもよい。
続いて、SDK部は、来店情報取得処理を行う(S228)。具体的には、チェックイン要求(または購買要求)をサーバ制御部11に送信し(S229)、サーバ制御部11は、チェックイン処理(購買処理)を行う(S230)。サーバ制御部11は、報酬付与が必要である場合には、報酬付与有りの応答(報酬付与情報)をSDK部24に送信する(S231)。以降、報酬画面表示処理(S232)〜報酬処理(S241)が行われるが、これらの処理は、既に説明した処理と同様であるため、詳細な説明は省略される。
次に、来店予備行動感知処理についてフローチャートを用いて詳細に説明する。図46は、来店予備行動感知処理のフローチャートである。図47は、近隣店舗判定要求(図47の(a))および近隣店舗情報(図47の(b))の一例を示す図である。
まず、SDK部24は、モバイル端末20が備える位置情報取得部を起動し、位置情報を取得する(S251)。位置情報取得部は、具体的にはGPSモジュールであるが、モバイル端末20の位置が取得できるのであればどのような態様であってもよい。
次に、SDK部24は、近隣店舗判定要求45を生成し、サーバ制御部11に送信する(S252)。図47の(a)に示されるように、近隣店舗判定要求45は、アプリユーザID45a、アプリID45b、および位置情報45cを含む。
続いて、SDK部24は、サーバ制御部11から近隣店舗情報46を受信する(S253)。図47の(b)に示されるように、近隣店舗情報46は、近隣店舗の有無を示す応答46aを含む。
近隣店舗がある場合、すなわち、近隣店舗情報46に近隣店舗が有ることを示す応答46aが含まれる場合(S254でYes)、SDK部24は、ゲーム部23に表示切替要求を送信する(S255)。
次に、近隣店舗判定処理についてフローチャートを用いて詳細に説明する。図48は、近隣店舗判定処理のフローチャートである。
サーバ制御部11は、受信した近隣店舗判定要求45から、アプリユーザID45a、アプリID45b、および位置情報45cを取得する(S261)。続いて、サーバ制御部11は、店舗属性情報131を参照して店舗の位置が所定の範囲内である店舗属性情報を取得する(S262)。サーバ制御部11は、例えば、位置情報45cが示す位置から500mの範囲内の店舗属性情報を取得する。
店舗属性情報を1つ以上取得できた場合(S263でYes)、近隣店舗が有ることを示す応答46aを含む近隣店舗情報46を生成し、SDK部24に送信する(S264)。店舗属性情報を取得できなかった場合(S263でNo)、近隣店舗が無いことを示す応答46aを含む近隣店舗情報46を生成し、SDK部24に送信する(S265)。
次に、来店情報取得処理についてフローチャートを用いて詳細に説明する、図49は、来店情報取得処理のフローチャートである。図50は、チェックイン要求(図50の(a))および報酬付与情報(図50の(b))の一例を示す図である。図51は、チェックインに用いられる2次元コードの一例を示す図である。
まず、SDK部24は、モバイル端末20が備える撮像部を起動し、撮像部に2次元コードを読み取らせることによって2次元コードから店舗ID(店舗IDを含む識別情報)を取得する(S271)。図51に示されるように、店舗30には2次元コードが印刷されたパネルが設置されており、この2次元コードは、店舗IDを情報として含む。ユーザは、店舗30に来店してモバイル端末20によって2次元コードの読み取りを行う。2次元コードは、例えば、QRコード(登録商標)であるが、その他の2次元コードであってもよい。また、2次元コードに代えてバーコード等、その他の識別情報が用いられてもよい。なお、ステップS271において取得されるIDは、後述する購買IDであってもよい。
続いて、SDK部24は、モバイル端末20が備える位置情報取得部を起動し、位置情報を取得する(S272)。
次に、SDK部24は、チェックイン要求47を生成し、サーバ制御部11に送信する(S273)。図50の(a)に示されるように、チェックイン要求47は、アプリユーザID47a、アプリID47b、位置情報47c、および店舗又は購買ID47dを含む。
続いて、SDK部24は、サーバ制御部11から報酬付与情報48を受信する(S274)。図50の(b)に示されるように、報酬付与情報48は、報酬付与の有無を示す応答48aを含む。
報酬付与がある場合(S275でYes)、SDK部24は、ゲーム部23に報酬画面の表示を行う旨を通知する(S276)。そして、上述の報酬画面表示処理が行われる。なお、実際ここで行われる報酬画面表示処理には、上述の報酬画面表示処理とは、広告バナーが表示されるなどの差異がある。
次に、チェックイン処理(購買処理)についてフローチャートを用いて詳細に説明する。図52は、チェックイン処理(購買処理)のフローチャートである。図53は、報酬出現確率情報145の一例を示す図である。図54は、広告情報132の一例を示す図である。図55は、購入者特典情報133の一例を示す図である。
サーバ制御部11は、SDK部24からチェックイン要求47を受信し、アプリユーザID47a、アプリID47b、位置情報47c、および店舗又は購買ID47dを受信したチェックイン要求47から取得する(S281)。
ここで、サーバ制御部11は、店舗又は購買ID47dが店舗IDか、又は購買IDかを判定するために、購入者特典情報133を参照して店舗又は購買ID47dと購買IDが一致する購入者特典情報133aを取得する(S282)。ここで購入者特典情報133aを取得できなかった場合(S283でNo)、サーバ制御部11は、店舗又は購買ID47dは、購買IDであると判定し、店舗属性情報131を参照して、店舗又は購買ID47dと店舗IDが一致する店舗属性情報(一例として店舗属性情報131aとする)を取得する(S284)。なお、購入者特典情報133aを取得できた場合は、(S283でYes)、後述する購入者特典付与処理が行われる(S296)。
ステップS284において取得の対象となる店舗属性情報131aは、店舗ID47d(以下、店舗及び購買ID47dではなく、店舗ID47dと記載する)、および、取得した位置情報47cに近接する位置情報(緯度および経度)を有する店舗属性情報131aである。ここで、これらの条件を満たす店舗属性情報131aを取得できなかった場合(S285でNo)は、サーバ制御部11は、報酬付与無しを示す応答を含む報酬付与情報をSDK部24に送信する(S286)。
このような、ステップS284〜ステップS286の処理は、ユーザがチェックインに基づく報酬付与を受けるためには、2次元コードを読み取るだけでは十分でなく、店舗30の近辺で2次元コードを読み取らなければならないことを意味する。このような構成によりユーザを確実に店舗30に集めることができる。
ステップS285において条件を満たす店舗属性情報131aを取得できた場合(S285でYes)、サーバ制御部11は、ユーザ達成度情報152を参照してアプリユーザID47aおよびアプリID47bを有するユーザ達成度情報152fを取得する。サーバ制御部11は、取得したユーザ達成度情報152fからユーザID152aを取り出す(S287)。そして、サーバ制御部11は、ユーザチェックインログ153を参照して、取り出したユーザID152aを有し、かつ、時刻が当日の時刻であるチェックイン情報(一例としてチェックイン情報153aとする)を取得する(S288)。
チェックイン情報153aが取得できた場合(S289でYes)、サーバ制御部11は、報酬付与無しを示す応答を含む報酬付与情報をSDK部24に送信する(S286)。
このような、ステップS287〜ステップ289の処理は、ユーザが1日に1回だけチェックインに基づく報酬付与を受けることができるようにするために行われる。なお、チェックインに基づく報酬付与を再度受けるために必要な期間は、上記のように1日に限定されるものではなく、どのように設定されてもよい。また、期間に関係なく1回だけ報酬付与が行われる場合は、ステップS287〜ステップS289において時刻の判断が不要となる。
ステップS289においてチェックイン情報153aが取得できなかった場合(S289でNo)、サーバ制御部11は、ユーザチェックインログ153に、ユーザID152a、店舗ID47d、アプリID47b、および現在時刻を含むチェックイン情報を追加(登録)する(S290)。
次に、サーバ制御部11は、ステップS287において取得したユーザ達成度情報152fからレベル152dを取り出し、報酬出現確率情報145を参照して、アプリID47bおよびレベル152dを有する報酬出現確率情報145aを1以上取得する(S291)。
ここで、レベル152dは、ゲームの進行状況を示す進行レベルを意味し、レベル152dは、進行レベルに応じて報酬の内容を変えるために用いられる。
例えば、報酬として付与されるスタンプまたはアイテムの数は、ゲームの進行レベルが進む程多く設定される。一般に、ゲームにおいては、ゲームの進行レベルが進むほど難易度が上がるため、ゲームバランスを保つために上記のように設定される。
次に、サーバ制御部11は、取得した1以上の報酬出現確率情報145aの抽選を行う(S292)。抽選は、報酬出現確率情報に含まれる報酬出現確率に基づいて行われる。また、サーバ制御部11は、抽選した報酬出現確率情報に含まれる報酬IDを取り出す(S293)。一方で、サーバ制御部11は、広告情報132から店舗ID47dを有する広告情報132aを取り出す(S294)。なお、広告情報132は、店舗属性情報131と組み合わせられて使用される情報であるため、広告情報132には、店舗ID等は含まれない。
最後に、サーバ制御部11は、ステップS293において取り出した報酬IDに基づいて報酬画面情報の生成処理(図40のステップS193〜S197)を行う(S295)。
なお、ステップS294において広告情報132aを取り出すことができた場合は、取り出した広告情報に含まれるバナーイメージ(バナー情報)を追加した報酬画面情報が生成される。図56は、バナーイメージを追加した報酬画面情報の一例を示す図である。なお、図56に示される報酬画面情報は、アイテム付与画面27dの表示に用いられるものであるが、スタンプシート画面27cの表示に用いられる報酬画面情報についても同様である。
図56に示される報酬画面情報42cによれば、モバイル端末20の表示部には、バナーイメージを含むアイテム付与画面27dが表示される。アイテム付与画面27dのように、バナーイメージには、例えば、チェックイン用の2次元コードが設けられた店舗にて買い物を行えばさらにスタンプが追加で付与される旨が表示されてもよい。これにより、ユーザに対して店舗30における商品の購入を促すことができる。
次に、購入者特典付与処理について説明する。図57は、購入者特典付与処理に用いられる2次元コードが印刷されたチケットの一例を示す図である。
図57に示されるチケットは、購買IDを含む2次元コードを含む名刺サイズ程度の紙であって、店舗30で商品を購入した場合に配布されるものである。実施の形態1では、商品の購入金額に応じて異なるチケットが配布される。例えば、商品の購入金額が所定の金額(ここでは1000円)未満のユーザには、図57の(a)に示されるチケットが配布され、商品の購入金額が所定の金額以上のユーザには図57の(b)に示されるチケットが配布される。つまり、ユーザの購入金額に応じて異なる種類のチケットが配布される。なお、図57に示されるチケットは、商品購入の対価として配布されるため、店舗30に設けられたチェックイン用の2次元コード(図51)とは異なり、店舗30の近隣において読み取られる必要はない。
以下、購入者特典付与処理(図52のステップS283でYesの場合の処理)について、フローチャートを用いて詳細に説明する。図58は、購入者特典付与処理のフローチャートである。図59は、購入者特典報酬情報146の一例を示す図である。
図52のステップS283において取得した購入者特典情報133aの使用済みフラグが「TRUE」である場合(S301でYes)、サーバ制御部11は、報酬付与無しを示す応答を含む報酬付与情報をSDK部24に送信する(S302)。
図52のステップS283において取得した購入者特典情報133aの使用済みフラグが「FALSE」である場合(S301でNo)、サーバ制御部11は、購入者特典報酬情報146を参照して、購入者特典報酬情報146aを取得する(S303)ここで、取得の対象となる購入者特典報酬情報146aは、購入者特典情報133aに含まれる購入者特典IDを有する購入者特典報酬情報である。
続いて、購入者特典情報133aの使用済みフラグを「TRUE」に更新する(S304)。そして、サーバ制御部11は、取得した購入者特典報酬情報146aに含まれる報酬IDに基づいて報酬画面情報の生成処理(図40のステップS193〜S197)を行う(S305)。
以上説明したように、実施の形態1に係るゲーム報酬付与システム100によれば、ユーザは、ゲーム進行させて得られる報酬と同じ態様の報酬をチェックインに基づいて得ることができる。
ゲーム報酬付与システム100においては、小さな達成の積み重ねをスタップの押印のような効果的な視覚効果で表現し、大きな達成と報酬につなげるゲーム的手法をユーザの現実の行動(店舗への来店)に適用しているといえる。このような手法は、ゲーミフィケーションと呼ばれ、効果的であることが実証されている。なお、ゲーミフィケーションとは、ゲームのメカニズムを健康・教育等の他分野へ応用し、これらを改善する方法論を意味する。
また、ゲーム報酬付与システム100を実現するためには、既存のゲーム用アプリケーション(ゲーム部23)に上記SDK(SDK部24)を組み込むだけでよい。言い換えれば、既存のゲーム用アプリケーションに、上述のチェックインに基づく報酬付与機能を付加することは容易である。つまり、ゲーム報酬付与システム100は、汎用性が高いといえる。
[まとめ]
以上、実施の形態1に係るゲーム報酬付与システム100を用いた情報提供方法について説明した。ここで、ゲーム報酬付与システム100は、ゲームの進行レベルに応じてゲーム報償を得るタイプのゲーム用アプリケーションを搭載し且つディスプレイを有するモバイル端末20とネットワーク40を介して接続される。
ここで、ゲーム報酬付与システム100は、情報管理システムの一例であり、モバイル端末20は、情報機器の一例である。また、ゲーム報償は、具体的には、ゲーム上で得られるスタンプまたはアイテムである。
実施の形態1に係る情報提供方法においては、所定の店舗を示す店舗IDを含む識別情報(2次元コードに含まれる情報)を取得したモバイル端末20からネットワーク40を介して、店舗IDと共にモバイル端末20において起動中のゲーム用アプリケーションを示すアプリID及びゲーム用アプリケーションのユーザを示すユーザID(アプリユーザID)を受信する。
そして、実施の形態1に係る情報提供方法においては、アプリID及びアプリユーザIDに応じて、第1データベース(ユーザ情報DB15)、及び、第2データベース(ゲームアプリ情報DB14)を参照して、ゲームの進行レベルに応じた第1ゲーム報償が付与される旨の第1指示データ(報酬画面情報)を、ネットワーク40を介してモバイル端末20に送信する。
ここで、ユーザ情報DB15内のユーザ達成度情報152においては、アプリID及びユーザIDと対応付けてユーザによるゲームの進行レベルが管理されている。また、ゲームアプリ情報DB14の報酬出現確率情報145においては、アプリID及び進行レベルに対応して付与される第1ゲーム報償を示す第1ゲーム報償ID(報酬ID)が管理されている。
また、上記情報提供方法においては、具体的には、登録されている登録店舗を管理する第3データベース(店舗情報DB13の店舗属性情報131)を参照して、受信した店舗ID示す店舗が登録店舗に含まれるか否かを判断する(図52のS285)。そして、受信した店舗ID示す店舗が登録店舗に含まれる場合、第1指示データを、ネットワーク40を介してモバイル端末20に送信する(図52のS295)。
また、上記識別情報は、所定の店舗の位置を示す第1位置情報を含む(識別情報に含まれる店舗IDが店舗属性情報131において位置情報(緯度および経度)と対応付けられている)。
そこで、上記情報提供方法においては、モバイル端末20からモバイル端末20の位置を示す第2位置情報を、GPSシステムを用いて取得する(図52のS281)。そして、第2位置情報が示す位置が、第1位置情報が示す位置から所定距離の範囲内にある場合(図52のS285でYes)、第1指示データを、ネットワーク40を介してモバイル端末20に送信する(図52のS295)。
また、上記情報提供方法においては、第1指示データがモバイル情報端末に送信された後、アプリIDが示すアプリケーションを起動しているユーザIDが示すユーザに対して、第1ゲーム報償を既に付与した旨を示す状態情報(報酬付与済みフラグが「TRUE」)を管理する。
また、第1指示データは、店舗IDが示す店舗にて購買すればさらにゲーム報償が追加で付与される旨の広告情報(図56のバナーイメージ)を含む。そこで、上記情報提供方法においては、店舗30にて商品又はサービスを購買したことを示す購入ID(図57に示される2次元コードに含まれる購買ID)を読み取ったモバイル端末20からネットワーク40を介して、購入IDと共にアプリIDを受信する(図52のS281)。
そして、アプリIDに応じて、アプリID及びアプリIDに対応して付与される第2ゲーム報償を示す第2ゲーム報償ID(報酬ID)を管理する第3データベース(ゲームアプリ情報DB14の購入者特典報酬情報146)を参照して(図58のS303)、第2ゲーム報償が追加で付与される旨の第2指示データ(報酬画面情報)を、ネットワーク40を介してモバイル端末20に送信する(図58のS305)。
また、第3データベースは、アプリID及び第2ゲーム報償IDと対応付けて、どの価格帯の商品又はサービスを購入したかを示す特典ID(購入者特典ID)を管理している。
そこで、上記情報提供方法では、購入ID及び特典IDを読み取ったモバイル端末20からネットワーク40を介して、購入ID及び特典IDと共にアプリIDを受信する(図52のS281)。そして、特典ID及びアプリIDに応じて、第3データベースを参照して(図58のS303)、第2ゲーム報償が追加で付与される旨の第2指示データを、ネットワーク40を介してモバイル端末20に送信する。
このような情報提供方法によれば、ゲームのプレーヤに現実の店舗30への来店の動機を与えることができる。
(その他の実施の形態)
以上のように、本出願において開示する技術の例示として、実施の形態1を説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置き換え、付加、省略などを行った実施の形態にも適用可能である。また、上記実施の形態1で説明した各構成要素を組み合わせて、新たな実施の形態とすることも可能である。
上記実施の形態1では、チェックインは、2次元コードをモバイル端末20の撮像部により読み取る処理であると説明したが、モバイル端末20が店舗IDを取得できるのであれば、2次元コードの読み取り以外でチェックインが行われてもよい。例えば、店舗30において無線通信によって店舗IDが配信されることによりチェックインが行われてもよい。
ここでの無線通信には、例えば、無線LANまたはBluetooth(登録商標)などの通信規格が用いられる。この場合、無線通信が可能な範囲(無線通信の電波の強さ)が所定の範囲内に設定されれば、上記2次元コードの読み取り位置が店舗30の近辺であるかどうかの判定処理(図52のステップS284〜ステップS286の処理)が不要であるという利点がある。
また、上記実施の形態1において説明された複数のデータベース(店舗情報DB13、ゲームアプリ情報DB14、およびユーザ情報DB15)は、1つのデータベースとして構成されてもよい。また、上記実施の形態1データベースに記憶される情報の内容や、情報のデータベースへの振り分けは、一例であり、特に限定されるものではない。また、上記実施の形態1では、サーバ10が複数のデータベースを備えたが、複数のデータベースは、サーバ10の外部に設けられてもよい。
また、上記実施の形態1においてゲーム画面27b、スタンプシート画面27c、またはアイテム付与画面27dには、チェックインに基づく報酬付与のイベントが開催されている旨の広告(バナー広告)が表示されてもよい。また、このような広告は、モバイル端末20が備える位置情報取得部の位置情報の取得により、ユーザが店舗30の位置から所定の範囲内に位置している場合に表示されてもよい。これにより、さらに店舗30へ集客を図ることができる。なお、このような広告の表示は、上記実施の形態1で説明した、モバイル情報端末20のユーザ(モバイル端末20)が店舗30の近くにいるか否かの判定処理と同様の処理を用いて実現可能である。
なお、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
また、上記実施の形態1において、特定の処理部が実行する処理を別の処理部が実行してもよい。また、複数の処理の順序が変更されてもよいし、複数の処理が並行して実行されてもよい。
以上、一つまたは複数の態様に係る情報提供方法について、実施の形態に基づいて説明したが、本開示は、この実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。