(57)【要約】【課題】複数のアプリに対してプッシュ通知の仕組を共通に提供することができるとともに、動的に変化するユーザの状態に応じてプッシュ通知の対象となるユーザを適切に絞り込めるようにする。【解決手段】アプリケーションプログラムの提供者により定義された複数の属性についてのユーザの属性値をアプリケーションプログラムおよびユーザと対応付けて取得し、ユーザ情報として保持するユーザ情報登録手段と、アプリケーションプログラムを特定する情報と前記属性値の条件を伴うプッシュ通知要求を受け付けた場合、前記ユーザ情報から該当するユーザを抽出して当該ユーザに対応する宛先情報のリストを生成し、クラウドサービスに対して前記リストを伴うプッシュ通知要求を行うプッシュ通知要求手段とを備える。【選択図】図１
2015103031.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションプログラムの提供者により定義された複数の属性についてのユーザの属性値をアプリケーションプログラムおよびユーザと対応付けて取得し、ユーザ情報として保持するユーザ情報登録手段と、
アプリケーションプログラムを特定する情報と前記属性値の条件を伴うプッシュ通知要求を受け付けた場合、前記ユーザ情報から該当するユーザを抽出して当該ユーザに対応する宛先情報のリストを生成し、クラウドサービスに対して前記リストを伴うプッシュ通知要求を行うプッシュ通知要求手段と
を備えたことを特徴とするプッシュ通知管理装置。
【請求項２】
請求項１に記載のプッシュ通知管理装置において、
前記プッシュ通知要求手段が受け付けるプッシュ通知要求は配信予約日時を含み、
前記プッシュ通知要求手段は、前記配信予約日時に到達した場合に前記リストの生成およびクラウドサービスに対するプッシュ通知要求を行う
ことを特徴とするプッシュ通知管理装置。
【請求項３】
請求項１または２のいずれか一項に記載のプッシュ通知管理装置において、
前記属性値の条件は、前記属性および前記属性値の定義内容を閲覧可能な画面内において設定される
ことを特徴とするプッシュ通知管理装置。
【請求項４】
請求項３に記載のプッシュ通知管理装置において、
前記プッシュ通知要求手段は、アプリケーションプログラムを特定する情報と前記属性値の条件を伴う人数取得要求を受け付けた場合、前記ユーザ情報から該当するユーザを抽出し、抽出したユーザの人数を応答し、当該人数は前記画面に表示される
ことを特徴とするプッシュ通知管理装置。
【請求項５】
請求項１乃至４のいずれか一項に記載のプッシュ通知管理装置において、
前記属性値の条件は、複数の前記属性についての属性値の組み合わせを含む
ことを特徴とするプッシュ通知管理装置。
【請求項６】
プッシュ通知管理装置が実行する方法であって、
アプリケーションプログラムの提供者により定義された複数の属性についてのユーザの属性値をアプリケーションプログラムおよびユーザと対応付けて取得し、ユーザ情報として保持するユーザ情報登録工程と、
アプリケーションプログラムを特定する情報と前記属性値の条件を伴うプッシュ通知要求を受け付けた場合、前記ユーザ情報から該当するユーザを抽出して当該ユーザに対応する宛先情報のリストを生成し、クラウドサービスに対して前記リストを伴うプッシュ通知要求を行うプッシュ通知要求工程と
を備えたことを特徴とするプッシュ通知管理方法。
【請求項７】
プッシュ通知管理装置を構成するコンピュータを、
アプリケーションプログラムの提供者により定義された複数の属性についてのユーザの属性値をアプリケーションプログラムおよびユーザと対応付けて取得し、ユーザ情報として保持するユーザ情報登録手段、
アプリケーションプログラムを特定する情報と前記属性値の条件を伴うプッシュ通知要求を受け付けた場合、前記ユーザ情報から該当するユーザを抽出して当該ユーザに対応する宛先情報のリストを生成し、クラウドサービスに対して前記リストを伴うプッシュ通知要求を行うプッシュ通知要求手段
として機能させるプッシュ通知管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プッシュ通知を管理する技術に関する。
【背景技術】
【０００２】
プッシュ通知は、システム側からユーザの端末に対して能動的にメッセージの通知を行うものであり、ユーザは特に操作を行うことなくリアルタイムに情報を取得することができる（例えば、特許文献１等を参照。）。
【０００３】
スマートフォンのＯＳ（Operating System）にはプッシュ通知の機能が組み込まれているものが多く、クラウド上のサービス（ＡＰＮｓ：Apple Push Notification Service、ＧＣＭ：Google Cloud Messaging for Android等）と連携してプッシュ通知が行えるようになっている。ユーザが所定のアプリ（アプリケーションプログラム）に関してプッシュ通知の受け取りを許可している場合、サーバはユーザの端末を識別するデバイストークンを指定してＡＰＮｓ等のクラウドサービスにプッシュ通知を要求することで、ユーザの端末にプッシュ通知が行われる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１１９５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述したように、プッシュ通知は非常に便利な機能であるが、プッシュ通知はアプリ単位に行うものであるため、例えば１つの企業が複数のゲームアプリを提供するような場合、ゲームアプリ毎にゲームサーバを設けてプッシュ通知の機能を備えなければならず、設備の負担が大きかった。ゲームサーバが不要なゲームアプリの場合には、プッシュ通知のためだけにサーバを設ける必要があり、特に負担が大きかった。
【０００６】
また、ゲームサーバが設置されるタイプのゲームアプリであっても、多数のユーザに対して頻繁にプッシュ通知を行う場合、サーバ側の設備を増強しなければならず、コストアップが避けられない。プッシュ通知の内容によっては必ずしも全てのユーザを対象とするものではないため、必要なユーザに対してプッシュ通知を絞り込むことで、設備の最適化を図りたいというニーズがある。
【０００７】
また、ユーザの立場としても、頻繁に自分に関係の薄いプッシュ通知が来ることは迷惑であり、大事な通知を見落としてしまうという弊害もある。
【０００８】
一般に、プッシュ通知で知らせるべき内容は、ユーザの現在の状態（ゲームアプリの場合にあってはユーザのゲーム進行度合等）によって異なるものであるが、動的に変化するユーザの状態に応じてプッシュ通知の対象となる適切なユーザを絞り込む仕組は存在しなかった。
【０００９】
本発明は上記の従来の問題点に鑑み提案されたものであり、その目的とするところは、複数のアプリに対してプッシュ通知の仕組を共通に提供することができるとともに、動的に変化するユーザの状態に応じてプッシュ通知の対象となるユーザを適切に絞り込めるようにすることにある。
【課題を解決するための手段】
【００１０】
上記の課題を解決するため、本発明にあっては、アプリケーションプログラムの提供者により定義された複数の属性についてのユーザの属性値をアプリケーションプログラムおよびユーザと対応付けて取得し、ユーザ情報として保持するユーザ情報登録手段と、アプリケーションプログラムを特定する情報と前記属性値の条件を伴うプッシュ通知要求を受け付けた場合、前記ユーザ情報から該当するユーザを抽出して当該ユーザに対応する宛先情報のリストを生成し、クラウドサービスに対して前記リストを伴うプッシュ通知要求を行うプッシュ通知要求手段とを備えるようにしている。
【発明の効果】
【００１１】
本発明にあっては、複数のアプリに対してプッシュ通知の仕組を共通に提供することができるとともに、動的に変化するユーザの状態に応じてプッシュ通知の対象となるユーザを適切に絞り込めるようにすることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態にかかるシステムの構成例を示す図である。
【図２】処理に用いられる情報の構造例を示す図である。
【図３】端末装置のハードウェア構成例を示す図である。
【図４】ゲームサーバ等のハードウェア構成例を示す図である。
【図５】実施形態の処理例を示すシーケンス図（その１）である。
【図６】実施形態の処理例を示すシーケンス図（その２）である。
【図７】実施形態の処理例を示すシーケンス図（その３）である。
【図８】実施形態の処理例を示すシーケンス図（その４）である。
【図９】アプリ定義属性の登録、プッシュ通知条件の設定の画面例を示す図である。
【図１０】プッシュ通知の画面表示例を示す図である。
【図１１】メッセージ関連情報の構造例を示す図である。
【図１２】実施形態の処理例を示すシーケンス図（その５）である。
【図１３】実施形態の処理例を示すシーケンス図（その６）である。
【発明を実施するための形態】
【００１３】
以下、本発明の好適な実施形態につき説明する。
【００１４】
＜構成＞
図１は本発明の一実施形態にかかるシステムの構成例を示す図である。なお、ゲームアプリを対象とした例について説明するが、その他のアプリに対しても適用できることは言うまでもない。
【００１５】
図１において、システムは、ユーザ（プレイヤ）が操作するスマートフォン、携帯電話等の端末装置１（１Ａ、１Ｂ、・・）と、ゲームの管理を行うゲームサーバ３と、ゲームアプリの管理者（ゲームサーバ３の管理者）によりプッシュ通知の送信指示等が行われる管理用端末装置４と、クラウドサービスとして提供されるプッシュ通知の実行を行うプッシュ通知実行サーバ５と、プッシュ通知実行サーバ５へのプッシュ通知の要求の仲介を行うプッシュ通知管理サーバ６とが、インターネット等のネットワーク２を介して接続されて構成されている。なお、ゲームサーバ３はゲームアプリに対応して設けられるものであるが、ゲームアプリによってはゲームサーバ３を必要としないものもある。
【００１６】
端末装置１には、アプリ（ゲームアプリ）Ｘがインストールされており、その実行により、ユーザ登録要求部１１、デバイストークン取得要求部１２、デバイストークン登録要求部１３、アプリ定義属性値送信部１４、プッシュ通知要求部１５、応答情報送信部１６が実現されるようになっている。
【００１７】
ユーザ登録要求部１１は、アプリＸの初回の起動時等に、ゲームサーバ３に対してユーザ登録を行う機能を有している。
【００１８】
デバイストークン取得要求部１２は、アプリＸの起動時毎にプッシュ通知実行サーバ５に対してデバイストークンの取得要求を行う機能を有している。デバイストークンは、プッシュ通知実行サーバ５に対してプッシュ通知の送信要求を行う際に、宛先となる端末装置１を識別する情報である。デバイストークンは所定の頻度で更新されるため、アプリＸの起動時毎に取得する必要がある。
【００１９】
デバイストークン登録要求部１３は、プッシュ通知実行サーバ５から取得したデバイストークンをプッシュ通知管理サーバ６に対して登録要求を行う機能を有している。
【００２０】
アプリ定義属性値送信部１４は、予めアプリの提供者（開発者）によって定義された複数の属性（アプリ定義属性、タグ属性）についてのユーザの属性値（アプリ定義属性値）を、その属性値に変更があった時点等でゲームサーバ３またはプッシュ通知管理サーバ６に送信する機能を有している。アプリＸに対応するゲームサーバ３が存在しない場合はプッシュ通知管理サーバ６にのみ属性値の送信を行うこととなる。ゲームサーバ３が存在する場合、ゲームサーバ３側で各ユーザのアプリ定義属性値を取得できる場合には、アプリ定義属性値送信部１４は省略することができる。なお、ゲームサーバ３が存在する場合であっても、アプリ定義属性値送信部１４からゲームサーバ３に各ユーザのアプリ定義属性値を送信させてもよいし、アプリ定義属性値送信部１４からプッシュ通知管理サーバ６に各ユーザのアプリ定義属性値を直接に送信させてもよい。
【００２１】
プッシュ通知要求部１５は、プッシュ通知管理サーバ６に対してプッシュ通知の送信要求を行う機能を有している。
【００２２】
応答情報送信部１６は、プッシュ通知を受信した後に、プッシュ通知に応答する所定の操作（プッシュ通知に応答してアプリＸの所定画面を起動したり、バトル、クエスト、合成（複数のゲームアイテムの属性に基づいて強化された他のゲームアイテムを生成）、課金等の所定の行動をとったりした場合等）を行った際に、応答情報をプッシュ通知管理サーバ６に送信する機能を有している。
【００２３】
ゲームサーバ３には、ユーザ管理データベース３１、ユーザ登録部３２、アプリ定義属性値管理部３３、プッシュ通知要求部３４が設けられている。
【００２４】
ユーザ管理データベース３１は、図２に示すように、「ユーザＩＤ」「パスワード」「ユーザ属性」「使用言語」「ＯＳバージョン」「最終起動日時」「ゲーム履歴」「アプリ定義属性値」等の項目（フィールド）を有している。「ユーザＩＤ」は、ユーザを識別する情報である。「パスワード」は、認証に用いられる秘密の情報である。「ユーザ属性」は、当該ユーザの性別、年齢層、居住地域等の情報である。「使用言語」は、当該ユーザのアプリＸ上の使用言語を識別する情報である。「ＯＳバージョン」は、当該ユーザのアプリＸを実行するＯＳの版数を示す情報である。この「ＯＳバージョン」はデバイストークン管理データベース６１において管理してもよい。「最終起動日時」は、当該ユーザがアプリＸを最後に起動した日時の情報である。「ゲーム履歴」は、当該ユーザによるアプリＸによるゲームの履歴の情報である。
【００２５】
「アプリ定義属性値」は、所定数（例えば、５個）の属性についての属性値である数値を列挙（属性が５個の場合は５個の数値を列挙）したものである。属性としては、例えば、課金額、ステージ進行度、フレンド数等がある。例えば、属性「ステージ進行度」についての属性値は、チュートリアル突破前は「０」、チュートリアル突破後は「１」というように、アプリ運用側で自由に割り当てられる。
【００２６】
図１に戻り、ゲームサーバ３のユーザ登録部３２は、端末装置１からのユーザ登録の要求を受け付け、ユーザ登録の処理を行い、ユーザ情報をユーザ管理データベース３１に登録する機能を有している。
【００２７】
アプリ定義属性値管理部３３は、各ユーザのアプリ定義属性値を取得してユーザ管理データベース３１にアプリＩＤおよびユーザＩＤと対応付けて登録するとともに、変更（新規を含む）のあったユーザ情報を所定のタイミング（アプリ定義属性値に変更があった際または所定の周期もしくは時刻等）でプッシュ通知管理サーバ６に送信する機能を有している。各ユーザのアプリ定義属性値は、端末装置１のアプリ定義属性値送信部１４からアプリ定義属性値が送信されるものとしている場合は、その受信により取得する。ゲームサーバ３内で各ユーザの状態が管理される場合には、内部的に各ユーザのアプリ定義属性値を取得することができる。プッシュ通知管理サーバ６に送信するユーザ情報には、アプリＩＤ、ユーザＩＤと対応付けられたアプリ定義属性値が含まれる。
【００２８】
プッシュ通知要求部３４は、プッシュ通知管理サーバ６に対してプッシュ通知の送信要求を行う機能を有している。
【００２９】
管理用端末装置４には、プッシュ通知条件管理部４１、プッシュ通知要求部４２が設けられている。
【００３０】
プッシュ通知条件管理部４１は、アプリ定義属性（タグ属性）とアプリ定義属性値の定義内容をメモとして登録して管理するとともに、定義内容を見ながらプッシュ通知の条件の設定を行えるよう支援する機能を有している。
【００３１】
プッシュ通知要求部４２は、プッシュ通知管理サーバ６に対してプッシュ通知の送信要求を行う機能を有している。管理用端末装置４からのプッシュ通知は、条件を指定した一括送信の要求となる。この要求には、即時に送信を行う場合と、送信予約日時（配信予約日時）を指定して予約する場合とがある。
【００３２】
プッシュ通知管理サーバ６には、デバイストークン管理データベース６１、ユーザ情報データベース６２、メッセージ予約管理情報保持部６３、メッセージ管理データベース６４、デバイストークン登録部６５、ユーザ情報登録部６６、メッセージ管理部６７、プッシュ通知要求部６８、応答情報受信部６９が設けられている。
【００３３】
デバイストークン管理データベース６１は、図２に示すように、「アプリＩＤ」「ユーザＩＤ」「デバイストークン」等の項目を有している。「アプリＩＤ」は、アプリを識別する情報である。「ユーザＩＤ」は、ユーザを識別する情報である。「デバイストークン」は、当該ユーザに対してプッシュ通知実行サーバ５から発行されたデバイストークンである。
【００３４】
ユーザ情報データベース６２は、図２に示すように、「アプリＩＤ」「ユーザＩＤ」「ＯＳバージョン」「アプリ定義属性値」等の項目を有している。「アプリＩＤ」は、アプリを識別する情報である。「ユーザＩＤ」は、ユーザを識別する情報である。「ＯＳバージョン」は、当該ユーザのアプリＸを実行するＯＳの版数を示す情報である。「アプリ定義属性値」は、所定数の属性についての属性値である数値を列挙したものである。
【００３５】
メッセージ予約管理情報保持部６３は、図２に示すように、「メッセージＩＤ」「メッセージ内容」「配信予約日時」「条件」「配信未済」等の項目を有している。「メッセージＩＤ」は、プッシュ通知されるメッセージを識別する情報である。「メッセージ内容」は、メッセージの内容の情報である。「配信予約日時」は、プッシュ通知を行う日時の情報である。「条件」は、プッシュ通知を行う条件（ＯＳバージョン、関連メッセージ、アプリ定義属性値等）である。「配信未済」は、プッシュ通知が既に行われたか否かを示す情報である。
【００３６】
メッセージ管理データベース６４は、図２に示すように、「メッセージＩＤ」「アプリＩＤ」「送信先デバイストークン」「レスポンス状況」等の項目を有している。「メッセージＩＤ」は、メッセージを識別する情報である。「アプリＩＤ」は、アプリを識別する情報である。「送信先デバイストークン」は、プッシュ通知の宛先となったデバイストークンである。デバイストークンに代えてユーザＩＤを保持してもよい。
【００３７】
「レスポンス状況」は、当該プッシュ通知に対する応答の有無、応答の日時、応答の原因となった操作等を示す情報である。レスポンス状況は、端末装置１から送信される応答情報に基づくものである。なお、本実施形態では、端末装置１やゲームサーバ３から要求されて送信したプッシュ通知のレスポンス状況については利用していないため、管理用端末装置４から要求されて送信したプッシュ通知であるかを区別し、管理用端末装置４から要求されて送信したプッシュ通知以外はメッセージ管理データベース６４の管理対象外としている。
【００３８】
図１に戻り、プッシュ通知管理サーバ６のデバイストークン登録部６５は、端末装置１からのデバイストークンの登録要求に応じて、アプリＩＤおよびユーザＩＤと対応付けてデバイストークンをデバイストークン管理データベース６１に登録する機能を有している。
【００３９】
ユーザ情報登録部６６は、端末装置１のアプリ定義属性値送信部１４またはゲームサーバ３のアプリ定義属性値管理部３３から送信される、アプリＩＤおよびユーザＩＤと対応付けられたアプリ定義属性値をユーザ情報としてユーザ情報データベース６２に登録して管理する機能を有している。
【００４０】
メッセージ管理部６７は、端末装置１、ゲームサーバ３、管理用端末装置４からプッシュ通知の要求を受け付け、管理用端末装置４からの予約についてはメッセージ予約管理情報保持部６３に登録するとともに、プッシュ通知の状況をメッセージ管理データベース６４に登録する機能を有している。
【００４１】
プッシュ通知要求部６８は、端末装置１、ゲームサーバ３、管理用端末装置４から要求されたプッシュ通知をプッシュ通知実行サーバ５に対して要求する機能を有している。
【００４２】
応答情報受信部６９は、端末装置１においてプッシュ通知に対して所定の操作が行われたことを示す応答情報を受信する機能を有している。
【００４３】
図３は端末装置１のハードウェア構成例を示す図である。
【００４４】
図３において、端末装置１は、電源システム１０１と、プロセッサ１０３、メモリコントローラ１０４、周辺インタフェース１０５を含むメインシステム１０２と、記憶部１０６とを備えている。また、端末装置１は、外部ポート１０７と、高周波回路１０８と、アンテナ１０９と、オーディオ回路１１０と、スピーカ１１１と、マイク１１２と、近接センサ１１３と、ＧＰＳ（Global Positioning System）回路１１４とを備えている。また、端末装置１は、ディスプレイコントローラ１１６、光学センサコントローラ１１７、入力コントローラ１１８を含むＩ／Ｏ（Input/Output）サブシステム１１５と、タッチ反応型ディスプレイシステム１１９と、光学センサ１２０と、入力部１２１とを備えている。
【００４５】
図４はゲームサーバ３等のハードウェア構成例を示す図である。
【００４６】
図４において、ゲームサーバ３、管理用端末装置４、プッシュ通知実行サーバ５、プッシュ通知管理サーバ６は、システムバス３０１に接続されたＣＰＵ（Central Processing Unit）３０２、ＲＯＭ（Read Only Memory）３０３、ＲＡＭ（Random Access Memory）３０４、ＮＶＲＡＭ（Non-Volatile Random Access Memory）３０５を備えている。また、ゲームサーバ３等は、Ｉ／Ｆ（Interface）３０６と、Ｉ／Ｆ３０６に接続された、Ｉ／Ｏ（Input/Output Device）３０７、ＨＤＤ（Hard Disk Drive）３０８、ＮＩＣ（Network Interface Card）３０９と、Ｉ／Ｏ３０７に接続されたモニタ３１０、キーボード３１１、マウス３１２等を備えている。Ｉ／Ｏ３０７にはＣＤ／ＤＶＤ（Compact Disk/Digital Versatile Disk）ドライブ等を接続することもできる。
【００４７】
＜動作＞
図５は上記の実施形態の処理例を示すシーケンス図であり、プッシュ通知に先立って行われる、端末装置１のアプリＸによるユーザ登録とデバイストークンの取得・登録の処理例を示したものである。
【００４８】
図５において、端末装置１ＡでアプリＸを起動し（ステップＳ１０１）、その後にアプリＸのユーザ登録要求部１１からゲームサーバ３に対してユーザ登録要求を行うものとする（ステップＳ１０２）。なお、ユーザ登録はアプリＸについて原則として１回行えばよいものである。
【００４９】
ゲームサーバ３のユーザ登録部３２は、ユーザ登録要求を受け付けると、所定の手順に従って、ユーザＩＤ、パスワード等を発行してユーザ管理データベース３１に登録し（ステップＳ１０３）、端末装置１ＡのアプリＸに通知する（ステップＳ１０４）。
【００５０】
端末装置１ＢのアプリＸからも、同様にしてユーザ登録処理が行われる。
【００５１】
次に、端末装置１のアプリＸを起動すると（ステップＳ１１１）、その都度に、アプリＸのデバイストークン取得要求部１２からプッシュ通知実行サーバ５に対してデバイストークン取得要求を行う（ステップＳ１１２）。
【００５２】
プッシュ通知実行サーバ５は、デバイストークン取得要求を受け付けると、デバイストークンを発行して内部的に登録し（ステップＳ１１３）、端末装置１ＡのアプリＸに通知する（ステップＳ１１４）。
【００５３】
なお、アプリＸに対応するゲームサーバ３が設けられない場合は、アプリＸの機能によってユニークなユーザＩＤが生成される。
【００５４】
次いで、端末装置１ＡのアプリＸのデバイストークン登録要求部１３は、プッシュ通知管理サーバ６に対してデバイストークン登録要求を行う（ステップＳ１１５）。このデバイストークン登録要求には、アプリＩＤとユーザＩＤとＯＳバージョンを伴う。
【００５５】
プッシュ通知管理サーバ６のデバイストークン登録部６５は、デバイストークン登録要求を受け付けると、デバイストークン管理データベース６１等に登録を行ない（ステップＳ１１６）、正常に登録が行われると、その旨を端末装置１ＡのアプリＸに通知する（ステップＳ１１７）。
【００５６】
端末装置１ＢのアプリＸからも、同様にしてデバイストークン登録処理が行われる。
【００５７】
次に、図６は、アプリ定義属性値のプッシュ通知管理サーバ６への登録の処理例を示している。
【００５８】
図６において、端末装置１ＡにおいてアプリＸのステータス変化があると（ステップＳ１２１）、アプリＸのアプリ定義属性値送信部１４は、ゲームサーバ３に対してアプリＩＤおよびユーザＩＤと対応付けてアプリ定義属性値を送信する（ステップＳ１２２）。
【００５９】
ゲームサーバ３のアプリ定義属性値管理部３３は、アプリ定義属性値を受信すると、ユーザ管理データベース３１に登録する（ステップＳ１２３）。なお、ゲームサーバ３内でユーザの状態が管理される場合、アプリ定義属性値管理部３３は内部的にアプリ定義属性値を取得することができ、その取得したアプリ定義属性値をアプリＩＤおよびユーザＩＤと対応付けてユーザ管理データベース３１に登録する。
【００６０】
その後、ゲームサーバ３のアプリ定義属性値管理部３３は、所定のタイミングで、ユーザ管理データベース３１に登録されたユーザ情報をプッシュ通知管理サーバ６に送信する（ステップＳ１２４）。送信するユーザ情報は、プッシュ通知管理サーバ６側で必要とする、アプリＩＤ、ユーザＩＤ、アプリ定義属性値を含む。
【００６１】
プッシュ通知管理サーバ６のユーザ情報登録部６６は、ユーザ情報を受信すると、ユーザ情報データベース６２に登録する（ステップＳ１２５）。
【００６２】
一方、アプリＸに対応するゲームサーバ３が設けられない場合、端末装置１ＡにおいてアプリＸのステータス変化があると（ステップＳ１３１）、アプリＸのアプリ定義属性値送信部１４は、プッシュ通知管理サーバ６に対してアプリＩＤおよびユーザＩＤと対応付けてアプリ定義属性値（ＯＳバージョンも付帯）を送信する（ステップＳ１３２）。
【００６３】
プッシュ通知管理サーバ６のユーザ情報登録部６６は、アプリＩＤおよびユーザＩＤと対応付けられたアプリ定義属性値（ＯＳバージョンも付帯）を受信すると、ユーザ情報データベース６２に登録する（ステップＳ１３３）。
【００６４】
次に、図７は、端末装置１からのプッシュ通知要求と、ゲームサーバ３からのプッシュ通知要求についての処理例を示している。
【００６５】
ここでは、端末装置１ＡのユーザがアプリＸから、同じアプリＸを利用している端末装置１Ｂのユーザにプッシュ通知を行うものとする。
【００６６】
端末装置１ＡのアプリＸのプッシュ通知要求部１５は、プッシュ通知管理サーバ６に対してプッシュ通知要求を行う（ステップＳ２０１）。このプッシュ通知要求には、送信先のユーザＩＤとメッセージ内容を伴う。
【００６７】
プッシュ通知管理サーバ６のメッセージ管理部６７は、プッシュ通知要求を受け付けると、デバイストークン管理データベース６１から送信先のユーザＩＤをキーにして対応する送信先のデバイストークンを取得する（ステップＳ２０２）。
【００６８】
次いで、プッシュ通知管理サーバ６のプッシュ通知要求部６８は、プッシュ通知実行サーバ５に対してプッシュ通知要求を行う（ステップＳ２０３）。このプッシュ通知要求には、送信先のデバイストークンとメッセージ内容を伴う。
【００６９】
プッシュ通知実行サーバ５は、プッシュ通知要求を受け付けると、送信先のデバイストークンの示す端末装置１ＢのアプリＸにプッシュ通知を行ない（ステップＳ２０４）、端末装置１Ｂではプッシュ通知の着信の表示が行われる（ステップＳ２０５）。
【００７０】
次に、ゲームサーバ３からゲームの進行に応じてアプリＸを利用している端末装置１Ａのユーザにプッシュ通知を行うものとする。
【００７１】
ゲームサーバ３のプッシュ通知要求部３４は、プッシュ通知管理サーバ６に対してプッシュ通知要求を行う（ステップＳ２１１）。このプッシュ通知要求には、送信先のユーザＩＤとメッセージ内容を伴う。
【００７２】
プッシュ通知管理サーバ６のメッセージ管理部６７は、プッシュ通知要求を受け付けると、デバイストークン管理データベース６１から送信先のユーザＩＤをキーにして対応する送信先のデバイストークンを取得する（ステップＳ２１２）。
【００７３】
次いで、プッシュ通知管理サーバ６のプッシュ通知要求部６８は、プッシュ通知実行サーバ５に対してプッシュ通知要求を行う（ステップＳ２１３）。このプッシュ通知要求には、送信先のデバイストークンとメッセージ内容を伴う。
【００７４】
プッシュ通知実行サーバ５は、プッシュ通知要求を受け付けると、送信先のデバイストークンの示す端末装置１ＡのアプリＸにプッシュ通知を行ない（ステップＳ２１４）、端末装置１Ａではプッシュ通知の着信の表示が行われる（ステップＳ２１５）。
【００７５】
次に、図８は、管理用端末装置４からのプッシュ通知要求についての処理例を示している。
【００７６】
図８において、アプリＸの管理者（ゲームサーバ３の管理者）は、管理用端末装置４のプッシュ通知条件管理部４１の機能により、プッシュ通知の条件を設定する（ステップＳ２２１）。
【００７７】
管理用端末装置４のプッシュ通知条件管理部４１では、図９（ａ）に示すような画面により、アプリ毎にプッシュ通知の条件に用いるタグ（アプリ定義属性値）の定義内容の登録が行われ、条件の設定時に参照できるようになっている。図９（ａ）では、アプリ毎に、５つのタグについて「タグ名」と「説明」とが登録されるようになっている。ここで、「タグ名」としては、課金額、ステージ進行度、フレンド数等が入る。「説明」としては、タグ名「ステージ進行度」については、「チュートリアル突破前：０、チュートリアル突破後：１」といった内容となる。
【００７８】
図９（ｂ）は条件の設定時の画面例を示しており、アプリＩＤを選択・指定する欄、メッセージを入力する欄、ＯＳを選択・指定する欄、関連メッセージ（指定した先のメッセージに応答のあったユーザにプッシュ通知を絞り込む場合に設定）を選択・指定する欄、各タグの条件を選択・指定する欄、配信予約日時を指定する欄が設けられている。各タグの条件を設定する欄の後ろには、図９（ａ）で登録されたタグ名、説明等が参考として表示される。タグ（アプリ定義属性値）は数値に限っているため、タグの条件は一つの数値の指定または数値の範囲指定により行う。例えば、数値が１以上５以下である場合は「１≦５」のように指定する。
【００７９】
図９（ｃ）は、図９（ｂ）の画面から「続行」ボタンが押された場合のプレビュー画面を示しており、指定した内容が表示されている。また、画面の左下には「概略件数」が表示されているが、この表示を行う場合、プッシュ通知条件管理部４１はプッシュ通知管理サーバ６に対して現在の条件を送信してユーザ情報との照合により条件を満たすユーザの人数の応答を受けて行う。プッシュ通知管理サーバ６のメッセージ管理部６７は、アプリＩＤと条件を伴う人数取得要求を受け付けた場合、ユーザ情報データベース６２のユーザ情報から該当するユーザを抽出し、抽出したユーザの人数を応答する。
【００８０】
図８に戻り、プッシュ通知の条件設定を完了すると（図９（ｃ）の画面から「要求」ボタンが押下）、管理用端末装置４のプッシュ通知要求部４２は、プッシュ通知管理サーバ６に対してプッシュ通知要求を行う（ステップＳ２２２）。このプッシュ通知要求には、メッセージ内容（全ユーザに同一内容）と条件とを伴う。また、このプッシュ通知要求には、即座の送信でない場合、配信予約日時の予約を伴うことができる。
【００８１】
プッシュ通知管理サーバ６のメッセージ管理部６７は、プッシュ通知要求を受け付けると、配信予約日時を伴う場合、メッセージ予約管理情報保持部６３に予約内容を登録する（ステップＳ２２３）。
【００８２】
その後、プッシュ通知管理サーバ６のメッセージ管理部６７は、メッセージ予約管理情報保持部６３に予約情報がある場合には、予約された配信予約日時に達したか否かのタイミング判断を行う（ステップＳ２２４）。
【００８３】
プッシュ通知管理サーバ６のメッセージ管理部６７は、予約を伴わないプッシュ通知要求である場合は即座に、予約を伴うプッシュ通知要求である場合には配信予約日時に達した場合、指定された条件等に基づくユーザの絞り込みを行う（ステップＳ２２５）。すなわち、メッセージ管理部６７は、ユーザ情報データベース６２に対し、管理用端末装置４からのプッシュ通知要求で指定された、アプリＩＤ、ＯＳバージョン、タグ（アプリ定義属性値）の条件に基づいて検索を行ない、該当するユーザを抽出する。なお、ここでは関連メッセージの指定はないものとし、応答情報の有無による対象ユーザの選択はしないものとする。
【００８４】
次いで、プッシュ通知管理サーバ６のメッセージ管理部６７は、デバイストークン管理データベース６１から送信先のユーザＩＤをキーにして対応する送信先のデバイストークンを取得する（ステップＳ２２６）。
【００８５】
次いで、プッシュ通知管理サーバ６のプッシュ通知要求部６８は、プッシュ通知実行サーバ５に対してプッシュ通知要求を行う（ステップＳ２２７）。このプッシュ通知要求には、送信先のデバイストークンのリストとメッセージ内容を伴う。
【００８６】
プッシュ通知実行サーバ５は、プッシュ通知要求を受け付けると、送信先のデバイストークンの示す端末装置１Ａ、１Ｂ、・・等のアプリＸにプッシュ通知を行ない（ステップＳ２２８、Ｓ２２９）、端末装置１Ａ、１Ｂ、・・等ではプッシュ通知の着信の表示が行われる（ステップＳ２３０、Ｓ２３１）。
【００８７】
図１０はプッシュ通知の画面表示例を示す図であり、この例では画面中央部に「○○○○○○○○（ゲームタイトル名）  アプリインストールで回復薬ＧＥＴ！」という、他のアプリをインストールすることで特典がもらえることを通知している。その他に、「○○○○○○○○（ゲームタイトル名）  新イベントスタート！」といったイベント開始の通知等を行うことができる。
【００８８】
図８に戻り、その後、端末装置１Ａのユーザにより、表示されたプッシュ通知に対して所定の操作が行われると（ステップＳ２３２）、端末装置１ＡのアプリＸは所定の処理を行う（ステップＳ２３３）。例えば、図１０に示した「○○○○○○○○（ゲームタイトル名）  アプリインストールで回復薬ＧＥＴ！」というプッシュ通知の場合には、画面下部のボタンを右にスライドして「表示」操作を行うと、他のアプリをインストールする画面に遷移する。また、「○○○○○○○○（ゲームタイトル名）  新イベントスタート！」というプッシュ通知の場合には、同様の操作を行うことで、新イベントを紹介する画面に遷移する。なお、プッシュ通知に対する所定の操作により、起動されていないアプリを起動することも可能である。これらは、ＵＲＬスキーム等の仕組で実現することができる。
【００８９】
図８に戻り、端末装置１ＡのアプリＸの応答情報送信部１６は、プッシュ通知に対してユーザにより行われた操作に応じ、応答情報をプッシュ通知管理サーバ６に送信する（ステップＳ２３４）。この応答情報には、アプリＩＤ、ユーザＩＤ（もしくはデバイストークン）、メッセージＩＤが含まれている。
【００９０】
プッシュ通知管理サーバ６の応答情報受信部６９は、端末装置１Ａからの応答情報を受信し、メッセージ管理部６７はメッセージ管理データベース６４にレスポンス状況として登録する（ステップＳ２３５）。
【００９１】
その後、管理用端末装置４において、先にプッシュ通知要求（ステップＳ２２２）を行って既にプッシュ通知が行われたメッセージに関連する他の新たなメッセージについてプッシュ通知を行う場合を想定する。ここで、関連する他の新たなメッセージとは、先のメッセージの続編として位置付けられるメッセージである。
【００９２】
関連する他のメッセージについては、先のメッセージをプッシュ通知したユーザの範囲内で、かつ、そのプッシュ通知に対して所定の操作をしたとの応答情報が得られたユーザについてのみ、他のメッセージをプッシュ通知するものとしている。プッシュ通知に対して所定の操作をしたユーザは、そのプッシュ通知を欲している可能性が高く、そのようなユーザにのみ関連する他のメッセージをプッシュ通知することで、設備の肥大化を招くことなく、効果的なプッシュ通知を行うことができる。
【００９３】
図８において、アプリＸの管理者（ゲームサーバ３の管理者）は、管理用端末装置４のプッシュ通知条件管理部４１の機能により、プッシュ通知の条件を設定する（ステップＳ２４１）。既にプッシュ通知が行われたメッセージに関連する他の新たなメッセージについてプッシュ通知を行う場合、図９（ｂ）の画面において関連メッセージの指定を行う。
【００９４】
図８に戻り、プッシュ通知の条件設定を完了すると、管理用端末装置４のプッシュ通知要求部４２は、プッシュ通知管理サーバ６に対して新たなプッシュ通知要求を行う（ステップＳ２４２）。このプッシュ通知要求には、メッセージ内容（全ユーザに同一内容）と、条件と、関連する先のメッセージＩＤを伴う。また、このプッシュ通知要求には、即座の送信でない場合、配信予約日時を伴うことができる。
【００９５】
プッシュ通知管理サーバ６のメッセージ管理部６７は、プッシュ通知要求を受け付けると、配信予約日時を伴う場合、メッセージ予約管理情報保持部６３に予約内容を登録する（ステップＳ２４３）。
【００９６】
その後、プッシュ通知管理サーバ６のメッセージ管理部６７は、メッセージ予約管理情報保持部６３に予約情報がある場合には、予約された配信予約日時に達したか否かのタイミング判断を行う（ステップＳ２４４）。
【００９７】
プッシュ通知管理サーバ６のメッセージ管理部６７は、予約を伴わないプッシュ通知要求である場合は即座に、予約を伴うプッシュ通知要求である場合には配信予約日時に達した場合、指定された条件等に基づくユーザの絞り込みを行う（ステップＳ２４５）。
【００９８】
また、関連メッセージの指定がある場合、メッセージ管理部６７はメッセージ管理データベース６４から関連する先のメッセージＩＤをキーに、かつ、レスポンス状況が所定の操作が行われている送信先のデバイストークンを対象ユーザとして選択する（ステップＳ２４６）。
【００９９】
次いで、プッシュ通知管理サーバ６のプッシュ通知要求部６８は、プッシュ通知実行サーバ５に対してプッシュ通知要求を行う（ステップＳ２４７）。このプッシュ通知要求には、送信先のデバイストークンのリストとメッセージ内容を伴う。
【０１００】
プッシュ通知実行サーバ５は、プッシュ通知要求を受け付けると、送信先のデバイストークンの示す端末装置１Ａ（端末装置１Ｂは応答操作をしなかったため除外）等のアプリＸにプッシュ通知を行ない（ステップＳ２４８）、端末装置１Ａ等ではプッシュ通知の着信の表示が行われる（ステップＳ２４９）。
【０１０１】
その後も、関連する他の新たなメッセージのプッシュ通知を行う場合、同様の処理を繰り返す。
【０１０２】
なお、管理用端末装置４からのプッシュ通知要求（ステップＳ２２２、Ｓ２４２）においてメッセージ内容を伴う場合について説明したが、予め条件とメッセージ内容との対応付けの情報をプッシュ通知管理サーバ６に保持しておくことで、メッセージ内容を省略し、条件からメッセージ内容を自動生成してもよい。例えば、条件に含まれる属性「ステージ進行度」の属性値が「ステージ１クリア」を示す「２」であった場合、「ステージ１クリアおめでとう！」といったメッセージ内容を自動生成することができる。
【０１０３】
次に、図８で説明した処理の変形例について説明する。すなわち、図８で説明した処理では、関連する他のメッセージについてプッシュ通知を行う場合、予約の場合を含みバッチ処理的にプッシュ通知を行ない、その時点で所定の応答情報が得られているユーザにのみプッシュ通知を行っている。しかし、プッシュ通知にすぐに気付かず、それに関連する他のメッセージが既にプッシュ通知（先のプッシュ通知に気付かないユーザには送信されていない）された後に、先のメッセージのプッシュ通知に応答する場合も考えられる。
【０１０４】
そこで、この変形例では、既にプッシュ通知を開始した他のメッセージについても、先のメッセージについてユーザから所定の応答情報が得られた後には、プッシュ通知を行うようにしている。これにより、プッシュ通知のメッセージに順序性や物語性があって、連続して読んでいくべきものである場合等において有効となる。
【０１０５】
図１１はプッシュ通知管理サーバ６に新たに追加されるメッセージ関連情報６０の構造例を示す図であり、「親メッセージＩＤ」「子メッセージＩＤ」「プッシュ通知条件」「子メッセージ内容」等の項目を有している。「親メッセージＩＤ」は、関連する２つのメッセージにおける先のメッセージのメッセージＩＤである。「子メッセージＩＤ」は、関連する２つのメッセージにおける後のメッセージのメッセージＩＤである。「プッシュ通知条件」は、プッシュ通知要求で指定された条件等である。「子メッセージ内容」は、子メッセージの内容を示す情報である。なお、メッセージ内容を他で保持している場合には、「子メッセージ内容」を省略することができる。
【０１０６】
図１２および図１３はこの場合の処理例を示すシーケンス図である。図１２において、ステップＳ３０１〜Ｓ３１５は、図８におけるステップＳ２２１〜Ｓ２３５と同様である。図１２におけるステップＳ３２１〜Ｓ３３０においては、予約登録（ステップＳ３２３）の直後に、メッセージ関連情報登録（ステップＳ３２４）が追加されている点が、図８におけるステップＳ２４１〜Ｓ２４９と異なる。すなわち、プッシュ通知管理サーバ６のメッセージ管理部６７は、関連する他のメッセージについて、先のメッセージとの関連性等をメッセージ関連情報６０に登録する（ステップＳ３２４）。
【０１０７】
次いで、図１３において、端末装置１Ｂのユーザにより、既に受信していたプッシュ通知に対して所定の操作が行われると（ステップＳ３３１）、端末装置１ＢのアプリＸは画面遷移等の所定の処理を行う（ステップＳ３３２）。
【０１０８】
次いで、端末装置１ＢのアプリＸの応答情報送信部１６は、プッシュ通知に対してユーザにより行われた操作に応じ、応答情報をプッシュ通知管理サーバ６に送信する（ステップＳ３３３）。この応答情報には、アプリＩＤ、ユーザＩＤ（もしくはデバイストークン）、メッセージＩＤが含まれている。
【０１０９】
プッシュ通知管理サーバ６の応答情報受信部６９は、端末装置１Ｂからの応答情報を受信し、メッセージ管理部６７はメッセージ管理データベース６４にレスポンス状況として登録する（ステップＳ３３４）。
【０１１０】
次いで、プッシュ通知管理サーバ６のメッセージ管理部６７は、受信した応答情報のメッセージＩＤにメッセージ関連情報６０の親メッセージＩＤで一致するものがある場合、その子メッセージＩＤとメッセージ内容を取得する（ステップＳ３３５）。なお、送信先のデバイストークンは応答情報から直接・間接に取得することができる。
【０１１１】
次いで、プッシュ通知管理サーバ６のメッセージ管理部６７は、指定された条件等を、応答情報の得られたユーザのユーザ情報が満たすか否か判断する（ステップＳ３３６）。
【０１１２】
そして、指定された条件等を満たす場合、プッシュ通知管理サーバ６のプッシュ通知要求部６８は、プッシュ通知実行サーバ５に対してプッシュ通知要求を行う（ステップＳ３３７）。このプッシュ通知要求には、送信先のデバイストークンとメッセージ内容を伴う。
【０１１３】
プッシュ通知実行サーバ５は、プッシュ通知要求を受け付けると、送信先のデバイストークンの示す端末装置１ＢのアプリＸにプッシュ通知を行ない（ステップＳ３３８）、端末装置１Ｂではプッシュ通知の着信の表示が行われる（ステップＳ３３９）。
【０１１４】
＜総括＞
以上説明したように、本実施形態によれば、複数のアプリに対してプッシュ通知の仕組を共通に提供することができるとともに、動的に変化するユーザの状態に応じてプッシュ通知の対象となるユーザを適切に絞り込めるようにすることができる。
【０１１５】
なお、プッシュ通知について説明したが、電子メールやＳＭＳ（Short Message Service）等についても同様に適用することができる。
【０１１６】
以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更を加えることができることは明らかである。すなわち、具体例の詳細および添付の図面により本発明が限定されるものと解釈してはならない。
【符号の説明】
【０１１７】
１、１Ａ、１Ｂ      端末装置
Ｘ                  アプリ
１１                ユーザ登録要求部
１２                デバイストークン取得要求部
１３                デバイストークン登録要求部
１４                アプリ定義属性値送信部
１５                プッシュ通知要求部
１６                応答情報送信部
２                  ネットワーク
３                  ゲームサーバ
３１                ユーザ管理データベース
３２                ユーザ登録部
３３                アプリ定義属性値管理部
３４                プッシュ通知要求部
４                  管理用端末装置
４１                プッシュ通知条件管理部
４２                プッシュ通知要求部
５                  プッシュ通知実行サーバ
６                  プッシュ通知管理サーバ
６１                デバイストークン管理データベース
６２                ユーザ情報データベース
６３                メッセージ予約管理情報保持部
６４                メッセージ管理データベース
６５                デバイストークン登録部
６６                ユーザ情報登録部
６７                メッセージ管理部
６８                プッシュ通知要求部
６９                応答情報受信部
６０                メッセージ関連情報
【図１】
2015103031.tif 000003
【図２】
2015103031.tif 000004
【図３】
2015103031.tif 000005
【図４】
2015103031.tif 000006
【図５】
2015103031.tif 000007
【図６】
2015103031.tif 000008
【図７】
2015103031.tif 000009
【図８】
2015103031.tif 000010
【図９】
2015103031.tif 000011
【図１０】
2015103031.tif 000012
【図１１】
2015103031.tif 000013
【図１２】
2015103031.tif 000014
【図１３】
2015103031.tif 000015