実施の形態1.
以下、図面を参照して、本発明の実施形態について説明する。本実施形態においては、携帯端末にインストールされて動作し、広告表示機能を有するアプリケーション・プログラム(以降、「メディアアプリ」とする)がネットワークを介して広告の情報を取得することにより、画面上に広告を表示する広告情報管理システムにおいて、表示された広告によるリンクを経て新たなアプリケーション・プログラムがダウンロードされた場合に、その広告を表示したメディアアプリを特定するための処理について説明する。
図1は、本実施形態に係る広告管理システムの運用形態を示す図である。図1に示すように、本実施形態に係るシステムは、携帯電話、スマートフォン、タブレット、PDA(Personal Digital Assistant)等の携帯端末1、携帯端末1における広告表示を管理する広告管理サーバ2、携帯端末1においてダウンロードして利用することが可能なアプリケーション・プログラムを提供するアプリ提供サーバ3が、夫々インターネットなどのネットワーク回線を介して接続されて構成されている。
携帯端末1は、様々な機能を実現するために夫々専用の機能を有するアプリケーション・プログラム(以降、「アプリ」とする)がインストールされて動作可能となっている情報処理端末である。それらのアプリのうち、広告管理サーバ2と通信することにより広告管理サーバ2から広告情報を受信して広告を表示する機能を有するものがメディアアプリと呼ばれる。
本実施形態に係るメディアアプリは、広告管理サーバ2から受信した広告情報に基づいて広告を表示する機能に加えて、メディアアプリによる他のアプリのダウンロードへの貢献度を把握するための情報を生成して広告管理サーバ2に送信する機能を有する。そのため、本実施形態に係るメディアアプリは、表示された広告に対するタッチ操作によって告知対象のアプリがダウンロードされてインストールされた場合に、それを検知して広告管理サーバ2に対して情報を送信する。詳細は後述する。
広告管理サーバ2は、携帯端末1におけるメディアアプリの動作に応じて広告情報を提供する広告配信装置である。また、本実施形態に係る広告管理サーバ2は、メディアアプリの機能によって生成される確認情報を収集することにより、アプリ提供サーバ3からのアプリのダウンロードに対するメディアアプリの貢献度を解析する機能を有する。
アプリ提供サーバ3は、携帯端末1にダウンロードさせるためのアプリのインストールプログラムを記憶し、携帯端末1からの要求に応じて送信する機能を有する。アプリ提供サーバ3としては、例えば、iPhone(登録商標)のappstore(登録商標)や、android(登録商標)のgoogle play(登録商標)等が用いられる。多くのアプリが集められたダウンロードサービスの他、特定のアプリのみを提供しているサーバであってもアプリ提供サーバ3として採用可能である。
次に、本実施形態に係る携帯端末1、広告管理サーバ2及びアプリ提供サーバ3等の情報処理装置のハードウエア構成について図2を参照して説明する。図2に示すように、本実施形態に係る情報処理装置は、一般的なサーバやPC(Personal Computer)等と同様の構成を含む。即ち、本実施形態に係る情報処理装置は、CPU(Central Processing Unit)10、RAM(Random Access Memory)20、ROM(Read Only Memory)30、HDD(Hard Disk Drive)40及びI/F50がバス80を介して接続されている。また、I/F50にはLCD(Liquid Crystal Display)60及び操作部70が接続されている。
CPU10は演算手段であり、情報処理装置全体の動作を制御する。RAM20は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、CPU10が情報を処理する際の作業領域として用いられる。ROM30は、読み出し専用の不揮発性記憶媒体であり、ファームウエア等のプログラムが格納されている。HDD40は、情報の読み書きが可能な不揮発性の記憶媒体であり、OS(Operating System)や各種の制御プログラム、アプリケーション・プログラム等が格納される。
I/F50は、バス80と各種のハードウエアやネットワーク等を接続し制御する。LCD60は、ユーザが情報処理装置の状態を確認するための視覚的ユーザインタフェースである。操作部70は、キーボードやマウス等、ユーザが情報処理装置に情報を入力するためのユーザインタフェースである。尚、本実施形態に係る広告管理サーバ2及びアプリ提供サーバ3は、ユーザが直接操作することの無いサーバとして運用されるため、LCD60や操作部70等のユーザインタフェースは省略可能である。
このようなハードウエア構成において、ROM30に格納されたプログラムや、HDD40若しくは図示しない光学ディスク等の記憶媒体からRAM20にロードされたプログラムに従ってCPU10が演算を行うことにより、ソフトウエア制御部が構成される。このようにして構成されたソフトウエア制御部と、ハードウエアとの組み合わせによって、本実施形態に係る携帯端末1、広告管理サーバ2及びアプリ提供サーバ3の機能を実現する機能ブロックが構成される。
次に、本実施形態に係るシステム全体の動作について図3のシーケンス図に基づいて説明する。図3に示すシーケンス図は、携帯端末1において表示された広告に応じて携帯端末1にアプリがダウンロードされた場合に、ダウンロードに貢献した広告を表示したメディアアプリを特定するための情報が生成されて広告管理サーバ2に蓄積される際の動作を示す。
図3に示すように、携帯端末1においてメディアアプリが機能することにより、携帯端末1から広告管理サーバ2に対して広告要求が送信される(S301)。携帯端末1からの広告要求を受けた広告管理サーバ2は、要求元の携帯端末1に対して広告情報を送信する(S302)。要求に応じて広告情報を受信した携帯端末1においては、メディアアプリの機能により、受信した広告情報に基づいて広告が表示される(S303)。
携帯端末1においてメディアアプリ内に広告が表示されることにより、携帯端末1のユーザは広告が表示された部分をタップして広告によって告知されているアプリ、即ち、広告対象である対象プログラムのダウンロード画面にアクセスすることが可能となる。ユーザからの広告のタップを受け付けると(S304)、携帯端末1は、広告に埋め込まれたリンク機能により、リンク先のURLへアクセスする(S305)。本実施形態において広告に埋め込まれているリンクは、他のアプリをダウンロードするためのダウンロード画面にアクセスするためのURLへのリンクである。
また、携帯端末1は、広告のタップに応じて、広告がタップされたことを示す確認情報を生成する(S306)。S306において生成される情報が、後の処理において広告管理サーバ2に送信されることにより、アプリのダウンロードに貢献した広告表示を行ったメディアアプリを識別するための情報として用いられる。詳細は後述する。
携帯端末1からのURLアクセスを受け付けたアプリ提供サーバ3は、アクセスされたURLに応じたアプリのダウンロード画面の情報を携帯端末1に対して送信する(S307)。これにより、携帯端末1は、受信したダウンロード画面の情報に従ってダウンロード画面を表示する(S308)。
携帯端末1においてダウンロード画面が表示されることにより、携帯端末1のユーザは画面上に表示されたダウンロード要求のための操作部分をタップして、対象のアプリのダウンロード要求を行うことが可能となる。ユーザからのダウンロード要求のタップを受け付けると(S309)、携帯端末1は、ダウンロード画面の情報に埋め込まれたURLにアクセスすることにより、対象のアプリのダウンロード要求を行う(S310)。
携帯端末1からのダウンロード要求を受け付けたアプリ提供サーバ3は、アクセスされたURLに応じたアプリの送信を開始する(S311)。これにより、携帯端末1は対象のアプリをインストールするためのインストールプログラムのダウンロードを開始する(S312)。尚、S311においては、ユーザIDの確認やパスワード認証等が実行されることが一般的である。
その後、ダウンロードが完了すると(S313)、携帯端末1は、メディアアプリの機能により、S306において生成した確認情報を広告管理サーバ2に送信する(S314)。これにより、広告管理サーバ2は、携帯端末1から確認情報を受信して、記憶媒体に記憶させる(S315)。このような処理により、本実施形態に係るシステム全体の一連の動作が完了する。
このようにして蓄積されていく確認情報を解析することにより、どのようなアプリが、どのようなメディアアプリにおいて表示された広告をきっかけとしてダウンロードされているかを把握することが可能となる。このようなシステムの動作により、以下のようなメリットがある。
まず、携帯端末1から広告管理サーバ2に対して確認情報が送信されるのは、S312においてダウンロードが完了した後であり、それ以前には携帯端末1から広告管理サーバ2に対して何ら特別な処理を行っていない。従って、広告管理サーバ2に余分な負荷が発生することを防ぐことが可能であると共に、無駄なネットワーク負荷を発生させることもない。
メディアアプリによる広告表示の貢献度の測定のためには広告管理サーバ2においても何らかの処理を実行し、その結果負荷が発生することになる。しかしながら、スマートフォンやタブレット端末の普及に伴い、広告管理サーバ2は、数多くの携帯端末1に対して広告情報を送信する必要があり、そのための負荷も増大する傾向にある。従って、広告管理サーバ2の負荷は可能な限り軽減することが好ましい。
ここで、S305のタイミングは、ダウンロード画面に対するアクセスは実行されたが、未だダウンロードが開始されていないタイミングである。ユーザによる携帯端末1の操作の傾向として、ダウンロード画面にはアクセスしたが、ダウンロードの開始には至らないという場合もある。そのような場合が相当数あるという前提において、S305のタイミングで広告管理サーバ2やネットワークに負荷を発生させることは避けるべきであり、本実施形態に係るシステムにおいては、そのような課題が解決されている。
また、図3に示すように、アプリ提供サーバ3が担う機能は、ダウンロード画面の送信及びアプリのインストールプログラムの送信という一般的な機能であり、本件発明に際して何ら特別な処理を要求していない。そのため、既存のアプリダウンロードサービスにも適用可能である。
次に、図3に示す動作の各処理においてやり取りされる情報や、各処理を実現するための機能について説明する。まず、携帯端末1の機能や、処理される情報について説明する。図4は、本実施形態に係る携帯端末1の機能構成を示すブロック図である。図4に示すように、本実施形態に係る携帯端末1は、コントローラ100、ユーザI/F101及びネットワークI/F102を含む。また、コントローラ100は、ユーザI/F制御部110、ネットワーク制御部120、基本制御部130及び複数のメディアアプリ140を含む。
ユーザI/F101は、図2において説明したLCD60及び操作部70等、ユーザが携帯端末1を操作するためのインタフェースである。ネットワークI/F102は、携帯端末1がネットワークを介して他の機器と通信するためのインタフェースであり、Ethernet(登録商標)やUSB(Universal Serial Bus)インタフェースが用いられる。コントローラ100は、ソフトウエアとハードウエアとの組み合わせによって構成され、携帯端末1全体を制御する制御部として機能する。
ユーザI/F制御部110は、コントローラ100においてユーザI/F101を制御するための制御部であり、LCD60や、操作部70を制御するためのドライバソフトウエアを含む。ネットワーク制御部120は、ネットワークI/F102を制御するための制御部であり、ハードウエアであるネットワークI/F102を制御するためのドライバソフトウエアを含む。
基本制御部130は、コントローラ100において携帯端末1の基本的な機能を実現するためのソフトウエアモジュールであり、OSやミドルウエア等の基本的なソフトウエアモジュールである。メディアアプリ140は、上述したように、広告管理サーバ2から広告情報を受信して広告を表示する機能を有するアプリケーション・プログラムによって構成され、アプリコアモジュール141、基本設定情報142及び広告管理SDK(Software Development Kit)150を含む。
アプリコアモジュール141は、メディアアプリ140において元々のコアとなる機能を実現するためのソフトウエアモジュールであり、例えば、メディアアプリがゲームのアプリであれば、ゲーム機能を担う。また、メディアアプリがSNS(Social Networking Service)閲覧用のアプリであれば、SNS閲覧機能を担う。このメディアアプリが、広告を表示するための画面上の領域を提供している表示プログラムとして機能する。
基本設定情報142は、メディアアプリ140夫々の基本的な設定情報である。図5に示すように、本実施形態に係る基本設定情報は、メディアアプリ140を夫々識別する“メディアアプリID”、ユーザがメディアアプリ140のシステムにログインする際にユーザを識別するための識別情報として用いられる“ユーザID”を含む。即ち、“メディアアプリID”が、表示プログラム識別情報として機能する。
広告管理SDK150は、メディアアプリ140において、広告管理サーバ2から広告情報を受信して広告を表示する機能を担うソフトウエアモジュールであり、広告情報処理部151、確認情報処理部152及びDL(DownLoad)完了確認部153を含む。即ち、広告管理SDK150が、広告情報管理プログラムとして用いられると共に、広告管理SDK150が組み込まれたメディアアプリ140がインストールされた携帯端末1が広告表示装置として機能する。広告情報処理部151は、広告管理サーバ2からの広告情報の受信や、受信した広告情報に基づく広告の表示のための表示情報の生成等、広告情報に関する処理を行う。
具体的に、図3のS301においては、広告情報処理部151がネットワーク制御部120の機能を利用して広告管理サーバ2に対する広告情報の要求処理を実行する。また、広告情報処理部151は、広告管理サーバ2から送信された広告情報をネットワーク制御部120を介して取得する。図6は、本実施形態において広告を表示するための情報を含む広告情報の内容の例を示す図である。
図6に示すように、本実施形態員係る広告情報は、広告を識別するための広告識別情報である“広告ID”と、夫々の広告によって案内されるアプリを識別するための識別情報である“DL対象アプリID”と、案内されるアプリをダウンロードするためのダウンロード画面にアクセスするための“URL”と、メディアアプリのGUI(Graphical User Interface)上において広告が表示される領域に広告として表示するための画像の情報である“広告画像情報”とを含む。“DL対象アプリID”が、対象プログラム識別情報として用いられる。
S303において、広告情報処理部151は、ユーザI/F制御部110に含まれるディスプレイドライバの機能を利用することにより、図6に示す“広告画像情報”に基づいて広告表示を実行する。図7は、本実施形態に係るメディアアプリ140のGUIにおける広告表示の例を示す図である。
図7に示すように、携帯端末1にはLCD60が表示部として搭載されており、LCD60の表面はタッチパネルである操作部70として機能する。このような表示部兼操作部(以降、「表示操作部」とする)に表示されたメディアアプリ140のGUIには、広告表示領域701が設けられている。広告情報処理部151による処理により、この広告表示領域701に“広告画像情報”に基づいた広告画像表示が行われる。
また、広告情報処理部151は、S304においてユーザI/F制御部110から広告の表示エリア、即ち、図7に示す広告表示領域701がタップされたことを示す通知を受けると、S305におけるURLアクセスのために、図6に示す“URL”の情報を出力する。
確認情報処理部152は、図3のS306において生成される確認情報に関する処理を行う。具体的に、S306においては、確認情報処理部152が確認情報を生成する。ここで、本実施形態に係る確認情報について図8を参照して説明する。
図8に示すように、本実施形態に係る確認情報は、夫々の確認情報の生成に際して、そのきっかけとなったS304のタップ操作においてタップされた広告を識別する“広告ID”、タップされた広告が表示されていた広告表示領域701のGUIを提供したメディアアプリを識別する“メディアアプリID”、その広告において告知されていたアプリ、即ちダウンロード対象のアプリを識別する“DL対象アプリID”、タップ操作を受け付けた“日時”、タップ操作を行ったユーザを識別する“ユーザID”の情報を含む。
従って、確認情報においては、広告をタップすることによってダウンロード画面が要求された場合に、タップされた広告を識別するための広告識別情報と、広告対象であるプログラムを識別する対象プログラム識別情報と、広告が表示される領域を提供する表示プログラムを識別する表示プログラム識別情報と、日時の情報と、表示プログラムにおいてユーザを識別するためのユーザ識別情報とが関連付けて記憶されている。即ち、確認情報処理部152が、関連付け情報記憶処理部として機能する。
確認情報処理部152は、S306において、図6の“広告ID”及び“DL対象アプリID”を広告情報から取得して、図8に示す確認情報の“広告ID”及び“DL態様アプリID”とする。また、図5の“メディアアプリID”及び“ユーザID”を基本設定情報から取得して、図8に示す確認情報の“メディアアプリID”及び“ユーザID”とする。また、S304における実際の時刻を取得し、図8に示す確認情報の“タップ日時”とする。
また、確認情報処理部152は、S314において、ネットワーク制御部120の機能を用いることにより、広告管理サーバ2に対して確認情報を送信する。即ち、確認情報処理部152は、情報出力部としても機能する。そのため、確認情報処理部152は、確認情報を送信するために必要なネットワークアドレス等の情報を予め記憶している。但し、確認情報を送信するために必要な情報は、例えば図6において説明した広告情報に含まれても良い。
DL完了確認部153は、図3のS1313におけるダウンロードの確認処理を行うダウンロード確認部である。図9は、DL完了確認部153によるダウンロード確認処理の詳細な動作を示すフローチャートである。図9に示すように、DL完了確認部153は、まず、上述したように図3のS306において生成された確認情報を選択する(S901)。ここで、広告管理SDK150において生成される確認情報の態様について図10を参照して説明する。
図3においては、広告表示、広告タップ、確認情報生成、ダウンロード開始、ダウンロード確認といった処理が一連となって説明されているが、上述したように、確認情報は広告がタップされた時点で生成されるため、図10に示すように、広告管理SDK150において複数の確認情報が生成されることとなる。従って、図3のS306の処理に際して、確認情報処理部152は、同一の“広告ID”を有する確認情報を過去に生成していないかを確認し、同一の“広告ID”を有する確認情報が既に生成されていれば、図3のS306の処理を省略することが好ましい。
尚、図10においては、広告管理SDK150内部に確認情報が生成されて記憶されているように示しているが、実際には、広告管理SDK150によって認識されているHDD40内部の記憶領域等に記憶される。
ユーザによる広告のタップ操作に応じて、図10に示すように複数の確認情報が生成されるため、DL完了確認部153は、S901において、複数生成される確認情報から1つを選択する。確認情報を1つ選択したDL完了確認部153は、選択した確認情報の“タップ日時”を参照し、その確認情報が有効期限内であるか否かを確認する(S902)。S902の処理の意義は、広告のタップ操作と、アプリのダウンロードとの関連性の確認である。例えば、図3のS304のタイミングから1年が経過した後に、その広告に対応するアプリがダウンロードされてインストールされたとしても、そのダウンロードは広告効果が発揮された上でのダウンロードである可能性は低い。
従って、本実施形態に係るDL完了確認部153は、夫々の確認情報に対応するアプリのダウンロード完了の確認に際して、夫々の確認情報の有効性を“タップ日時”に基づいて確認する。S902における有効期限は、例えば“タップ日時”から1か月であるが、この期間は、広告効果が発揮されたことを判断するための期間として任意に設定可能である。
S902の判断の結果、有効期限ないではなかった場合(S902/NO)、DL完了確認部153は、選択中の確認情報が無効であるとして記憶媒体から削除する(S904)。他方、有効期限内であった場合(S902/YES)、DL完了確認部153は、携帯端末1にインストールされているアプリ(以降、「インストール済みアプリ」とする)の一覧を取得する(S903)。インストール済みアプリの一覧は、例えば基本制御部130の機能によって生成され、メディアアプリ140が基本制御部130から情報を取得することにより、DL完了確認部153によって参照可能である。
尚、本実施形態に係るインストール済みアプリ一覧においては、図6や図8において説明した“DL対象アプリID”に対応するIDが記述されている。従って、DL完了確認部153は、図8に示す“DL対象アプリID”とインストール済みアプリ一覧に記述されたIDとを比較することにより、確認情報において対象となっているダウンロード対象のアプリが、既に携帯端末1にインストールされているか否かを確認することが出来る。
インストール済みアプリ一覧を取得したDL完了確認部153は、選択中の確認情報の“DL対象アプリID”及びインストール済みアプリ一覧を比較し、一致するものを検索する(S905)。その結果、一致するものがあった場合(S905/YES)、選択中の確認情報が対象としてダウンロード対象のアプリは既にダウンロードされてインストールされていると判断し、ダウンロードが完了したことを示すDL完了イベントを生成する(S906)。
S906の処理により、図3のS313の処理が実現される。その結果、選択中の確認情報が、図3のS314において広告管理サーバ2に送信されることとなる。尚、図3のS314において確認情報の送信が完了した後、確認情報処理部152は、送信した確認情報を携帯端末1の記憶媒体から削除することが好ましい。これにより、以降に図9の動作が再度実行された場合に、既に送信されている確認情報が再度送信されてしまうことを防ぐことが出来る。この他、送信済みであることを示すフラグ情報を付すことにより、既に送信された確認情報が図9のS901において選択されないようにしても良い。
他方、一致するものがなければ(S905/NO)、DL完了確認部153は次の処理に進む。S906におけるDL完了イベントの生成、S905において一致するものがなかった場合、S904における確認情報の削除の処理の後、DL完了確認部153は、図10に示すように複数生成されている確認情報の全てについてS901からの処理を行ったかを確認する(S907)。
そして、DL完了確認部153は、確認情報の全てについて処理を完了するまで、S901からの処理を繰り返し(S907/NO)、生成された全ての確認情報の選択を完了したら(S907/YES)、ダウンロード確認の動作を完了する。このような処理により、本実施形態に係るダウンロード確認の動作が完了する。
尚、図9においては、確認情報の有効期限の確認処理や、有効期限の切れた確認情報の削除処理を、ダウンロード完了の確認動作に組み込んでいるが、他の処理としても良い。例えば、確認情報処理部152が、図9のS902及びS904の処理を定期的に実行するようにしても良い。
図9に示すような動作は、メディアアプリ140の動作中におけるあらゆるタイミングで実行される。図11は、図9に示す動作(以降、「DL確認動作」とする)の実行タイミングを示すフローチャートである。図11においては、携帯端末1において、アプリが起動された後、バックグラウンド化されるまでのDL確認動作の実行判断が示されている。尚、アプリのバックグラウンド化とは、携帯端末1において、基本制御部130によるタスク上には残っているが、GUIが表示されていない状態を示す。
図11に示すように、メディアアプリ140が起動すると(S1101)、起動時の処理としてDL完了確認部153が図9に示すDL確認動作を実行する(S1102)。その後、DL完了確認部153は、所定期間のカウントを開始し(S1103)、設定された所定期間の経過をカウントすると(S1104/YES)、カウンタをリセットして(S1105)、DL確認動作を実行する(S1106)。
S1103の処理は、定期的にDL確認動作を実行するためのカウントである。DL確認動作を定期的に実行する際の周期は任意の期間を設定可能であるが、例えば1分毎である。他方、基本制御部130の機能により、携帯端末1に新規にアプリがダウンロードされてインストールされた場合には、その旨を示す通知(以降、「新規インストール通知」とする)を受け取ることが可能である。この場合、基本制御部130が、新規ダウンロード通知部として機能する。従って、新規インストール通知を受けた場合にも(S1107/YES)、DL完了確認部153は、DL確認動作を実行する(S1108)
尚、S1108におけるDL確認動作は、新規にアプリがインストールされた場合における確認動作であるため、新規にインストールされたアプリについてのみ確認を行っても良い。その場合、図9のS903においてはインストール済みアプリ一覧を取得するのではなく、新規にインストールされたアプリのIDを取得し、そのIDと確認情報における“DL対象アプリID”とが一致するか否かをS905において確認すれば良い。
DL完了確認部153は、メディアアプリ140がバックグラウンド化されるまで、S1104からの処理を繰り返し実行する(S1109/NO)。その後、メディアアプリ140がバックグラウンド化されると(S1109/YES)、DL完了確認部153は、メディアアプリ140がバックグラウンド化された状態でDL確認動作を実行する(S1110)。
DL完了確認部153は、メディアアプリ140がバックグラウンド化された後、設定されたチェックループ期間が完了するまで、繰り返しDL確認動作を実行し(S1111/NO)、チェックループ期間が完了すると(S1111/YES)、処理を終了する。このように、本実施形態に係るDL完了確認部153は、メディアアプリ起動時、所定期間経過時、新規インストール通知時、バックグラウンド化後のチェックループ期間において、DL確認動作を実行する。
次に、本実施形態に係る広告管理サーバ2の機能について説明する。図12は、本実施形態に係る広告管理サーバ2の機能構成を示すブロック図である。図12に示すように、本実施形態に係る広告管理サーバ2は、広告管理コントローラ200及びネットワークI/F201を含む。また、広告管理コントローラ200は、広告配信部210、広告情報DB211、確認情報記憶処理部220、確認情報DB221及びユーザ情報DB222を含む。
ネットワークI/F201は、広告管理サーバ2がネットワークを介して他の機器と通信するためのインタフェースであり、Ethernet(登録商標)やUSB(Universal Serial Bus)インタフェースが用いられる。広告管理コントローラ200は、ソフトウエアとハードウエアとの組み合わせによって構成され、広告管理サーバ2全体を制御する制御部として機能する。
広告配信部210は、図3のS301において送信された広告要求をネットワークI/F201を介して取得し、S302において、広告情報DB211に記憶されている広告情報を取得して要求元の携帯端末1に対して送信する。広告情報DB211は、図6において説明した広告情報が複数蓄積されたデータベースである。従って、広告配信部210は、広告情報DB211に記憶されている複数の広告情報から1つを選択して、S302において送信する。
広告配信部210による広告情報の選択は、S301において送信される広告要求において具体的に広告IDが特定されていても良いし、広告配信部210が、要求元の携帯端末1におけるメディアアプリ140の種類に応じた広告を選択するようにしても良い。また、ランダムで1つの広告が選択されても良い。
確認情報記憶処理部220は、図3のS314において広告管理サーバ2に送信された確認情報をネットワークI/F201を介して取得し、確認情報DB221に記憶させる。確認情報DB221は、図8において説明した確認情報を蓄積して記憶しているデータベースである。従って、確認情報DB221に蓄積されている確認情報を解析することにより、どのようなメディアアプリが、どのようなアプリのダウンロードに貢献しているかを把握することができる。
ユーザ情報DB222は、識別子としては異なるが、実際には同一のユーザを示している異なる複数のユーザIDを、同一ユーザを示すものとして関連付けているデータベースである。ユーザ情報DB222は、確認情報記憶処理部220が、重複した確認情報を識別して整理するために用いられる。ここで、まず重複した確認情報が発生する要因について説明する。
図13は、重複した確認所法が生成される態様を示す図である。図3において説明したように、確認情報は広告がタップされた時点で生成される。これは、広告に対するタップ操作は、メディアアプリ140上での操作であるため、メディアアプリ140に組み込まれている広告管理SDK150において認識することが可能であるが、広告がタップされることにより表示されたダウンロード画面はメディアアプリ140上での操作ではないため、広告管理SDK150はそれを検知することができず、ダウンロード画面でのダウンロード開始をトリガとして認識することが出来ないからである。
従って、図13に示すように、複数のメディアアプリ140において同一のDL対象アプリについての広告が表示され、夫々タップ操作が行われたものの、ダウンロード画面において実際のダウロード要求には至らなった場合、夫々のメディアアプリ140毎に、同一のDL対象アプリIDが設定された確認情報が生成され、結果的に1つの携帯端末1において重複した確認情報が複数生成されることとなる。
このように確認情報が複数生成された状態において、その後に、そのDL対象アプリがダウンロードされてインストールされた場合、確認情報の有効期限内に夫々のメディアアプリ140において図9に示すDL確認動作が実行されると、夫々のメディアアプリ140が個別に広告管理サーバ2に対して確認情報を送信することとなる。
ここで、図8において説明したように、確認情報には、メディアアプリ140にログインするためのユーザIDが含まれる。そのため、複数の確認情報において、DL対象アプリIDが同一であり、且つユーザIDも同一であれば、上述したように重複した確認情報が個別に広告管理サーバ2に送信されたとしても広告管理サーバ2側で重複を判断することが可能である。
しかしながら、同一のユーザを示すユーザIDであっても、メディアアプリ毎に異なるユーザIDが用いられることが多い。そのため、異なるメディアアプリについてのユーザIDをそのまま比較しても、上述した重複した確認情報を判断することはできない。このような課題を解決するためにユーザ情報DB222が用いられる。
図14は、本実施形態に係るユーザ情報DB222によるユーザ情報の関連付けの概念を示す図である。図14に示すように、本実施形態に係るユーザ情報DB222においては、メディアアプリごとに異なる複数のユーザID(以降、「アプリユーザID」とする)が、ユーザ1人に対して一意である基本となるユーザID(以降、「ベースユーザID」とする)に関連付けられる構成となっている。このベースユーザIDは、専用に作りこまれたメディアアプリ(以降、「ベースメディアアプリ」とする)のユーザIDとしても用い荒れる。
ここで、通常のメディアアプリと、ベースメディアアプリとの違いについて説明する。メディアアプリとは、上述したように広告管理サーバ2との通信により広告を表示する機能を有するアプリであり、図4において説明した広告管理SDK150が組み込まれることによって実現される。これに対して、ベースメディアアプリとは、広告管理SDK150のみならず、アプリコアモジュール141側にも、広告管理に対応した機能が組み込まれており、より広告管理サーバ2との連携が強められているアプリである。
図14の例の場合、メディアアプリA、メディアアプリB、メディアアプリC及びベースメディアアプリは夫々別個のアプリであり、“Auser001”、“Auser002”、“Auser003”、“Buser001”という別個のユーザIDが用いられる。そして、“Auser001”、“Auser002”、“Auser003”は、“Buser001”に関連付けられており、この関連付けにより、“Auser001”、“Auser002”、“Auser003”夫々によって識別されるユーザが、“Buser001”によって識別されるユーザと同一であることが識別可能となる。
図15は、図14に示す関連付けに対応するユーザ情報DB222のテーブル構成を示す図である。図15に示すように、ユーザ情報DB222においては、“アプリユーザID”を主キーとして、そのアプリユーザIDが対応しているメディアアプリを示す“メディアアプリID”と、そのアプリユーザIDによって識別されるユーザと同一のユーザを識別するための“ベースユーザID”とが関連付けられている。
図16は、本実施形態に係る確認情報記憶処理部220が、重複した確認情報を識別して整理する際の動作を示すフローチャートである。図16に示すように、確認情報記憶処理部220は、図8に示す確認情報が蓄積された確認情報DB221を参照し、1つの“DL対象アプリID”を選択し(S1601)、選択した“DL対象アプリID”確認情報DB221に格納された確認情報を絞り込んで(S1602)、選択した“DL対象アプリID”を有する確認情報を抽出する。
次に、確認情報記憶処理部220は、抽出した確認情報に含まれる“ユーザID”について、アプリユーザIDをベースユーザIDに変換する処理を行う(S1603)。これにより、例えば図14に示す“Auser001”、“Auser002”、“Auser003”は、“Buser001”に変換される。
ユーザIDの変換処理を終えると、確認情報記憶処理部220は、ユーザIDの一致の有無を確認する(S1604)。例えば図14に示す状態であった場合、“Auser001”、“Auser002”、“Auser003”は、“Buser001”に変換されているため、“Buser001”というユーザIDが4つとなり、一致有と判断される。
S1604の判断の結果、一致があった場合(S1604/YES)、確認情報記憶処理部220は、ユーザIDが一致している複数の確認情報について、残すべき確認情報を選択する処理を行う(S1605)。S1605の処理は、一のDL対象アプリについて、複数のメディアアプリを介してユーザに対して広告が表示されている現状において、いずれのメディアアプリについて広告効果を認めるかを判断する処理に等しい。
従って、S1605の処理は、用途に応じた様々なアルゴリズムにより実現される。例えば、一のユーザに対して、最初に特定のアプリを告知できたメディアアプリが最も広告効果を発揮したメディアアプリであると判断する場合には、“タップ日時”が最も古い確認情報を残し、それ以外は削除するという処理を行う。
また、実際のダウンロードに直接的に寄与したメディアアプリが最も広告効果を発揮したメディアアプリである判断する場合には、“タップ日時”が最も新しい確認情報を残し、それ以外は削除するという処理を行う。S1605の処理が完了した場合、若しくはユーザIDの一致がなかった場合(S1604/NO)、確認情報記憶処理部220は、確認情報DB221に蓄積されている確認情報に含まれる“DL対象アプリID”をすべて選択し終えたか否かを確認する(S1606)。
そして確認情報記憶処理部220は、選択可能な“DL対象アプリID”をすべて選択し終えるまでS1601からの処理を繰り返し(S1606/NO)、すべて選択し終えたら(S1606/YES)、処理を終了する。このような処理により、本実施形態に係る確認情報記憶処理部220による、重複した確認情報の整理動作が完了する。
以上説明したように、本実施形態に係るシステムにおいては、携帯端末1にインストールされたメディアアプリ140に組み込まれている広告管理SDK150の機能により、携帯端末1に新たにアプリがインストールされて初めて広告管理サーバ2に対して確認情報を送信する。そのため、実際にはダウンロードが行われない場合にも確認情報を送信してしまうような処理を防ぐことが可能であり、無駄なネットワーク負荷の発生や無駄な情報記憶の発生を防ぐことができ、新たなアプリのダウンロードに貢献したメディアアプリの特定を効率的に行うことが可能となる。
尚、上記実施形態においては、図3のS306のタイミング、即ち、DL対象アプリのダウンロード画面を要求したタイミングにおいて図8に示す確認情報が生成され、その確認情報が図3のS314において送信される場合を例として説明した。ここで、確認情報は上述したように広告管理サーバ2に蓄積されて、広告効果の解析に用いることが可能であるが、元々は、図9において説明したように、新たにアプリがインストールされたされた場合に、そのアプリが広告に基づいてインストールされたものであるか否かを判断するための情報である。
従って、図3のS314において送信される情報は、図8に示す確認情報そのものでなくともよく。広告管理サーバ2において、どのようなメディアアプリが、どのようなDL対象アプリのダウンロードに貢献しているかを判断可能な情報であればよい。但し、“ユーザID”や“タップ日時”を含むことにより、図16において説明したような、実質的に同一なユーザの確認情報を識別することが可能となる。また、“タップ日時”を含むことにより、時系列の変化を解析することも可能となる。
実施の形態2.
実施の形態1においては、図13において説明したように、同一のDL対象アプリについての広告が異なる複数のメディアアプリで表示され、複数の確認情報が生成された場合に、生成された確認情報が夫々広告管理サーバ2に送信され、広告管理サーバ2側において重複チェックをする場合を例として説明した。
これに対して、携帯端末1側で予め重複を排除することも可能である。その場合、広告管理サーバ2において実行するべき処理を削減可能となり、広告管理サーバ2の処理負荷を更に低減することが出来る。例えば、上述したS1605の処理の1つの方針として実際のダウンロードに直接的に寄与したメディアアプリが最も広告効果を発揮したメディアアプリである判断する場合、最新の確認情報のみを残しておけば良いことは、上述した通りである。
その場合、図3のS306において、確認情報処理部152が確認情報を生成した際に、他のメディアアプリの確認情報を削除することにより、同様の効果を得ることが可能である。図17は、そのような場合の動作を示すフローチャートである。図17の動作は、図3のS306の処理に応じて実行される動作である。
図17に示すように、確認情報処理部152は、図3のS306において確認情報を生成すると、他のメディアアプリ140において生成済みである確認情報を参照する(S1701)。上述したように、同一のメディアアプリ140において生成した確認情報については、確認情報の生成時に確認することが好ましく、ここでは他のメディアアプリ140において生成された確認情報を対象とする。
他のメディアアプリにおいて生成された確認情報を参照すると、確認情報処理部152は、今回新たに生成した確認情報の“広告ID”で絞り込みを行い、同一の“広告ID”を有する確認情報を抽出する(S1702)。その結果、一致するものが抽出された場合(S1703)、確認情報処理部152は、その抽出された確認情報を削除する(S1704)。このような処理により、1つの携帯端末1において同一の“広告ID”を有する確認情報が生成される場合には、常に最新の確認情報のみが残されることとなる。
その結果、その確認情報における“DL対象アプリID”によって識別されるアプリがダウンロードされてインストールされた後に図9の動作が実行された場合、広告管理サーバ2に対して送信される確認情報は、最新の確認情報1つのみとなる。その結果、広告管理サーバ2において確認情報の重複チェックを行う必要がなくなり、負荷を低減することが可能となる。
実施の形態3.
実施の形態1においては、図9に示すDL確認動作が実行されるタイミングとして、図11に示すフローチャートを例として説明した。しかしながら、図11に示す例の場合、図3のS310においてDL要求を行われ、S312においてダウンロードが開始された後、そのメディアアプリがバックグラウンド化してループ期間が経過する前にダウンロードおよびインストールが完了せず、且つ、その後にそのメディアアプリが起動されなかった場合には、永遠に確認情報が送信されないこととなってしまう。
例えば、携帯端末1において新たにアプリがダウンロードされてインストールされたことをトリガとして、各メディアアプリをバックグラウンドで起動することが可能であれば、図11のS1102によりDL確認動作が実行されるため、そのような課題は解決可能である。しかしながら、そのようなアプリの起動は一般的には図4に示す基本制御部130や、アプリコアモジュール141の機能に依存する。そのため、広告管理SDK150の配布によりシステムを普及させる場合には、そのような手法を用いることはできない。
これに対して、一般的なメディアアプリ140はそのような機能に対応していなかったとしても、アプリコアモジュール141の機能まで広告管理SDK150や広告管理サーバ2との連携を前提として作りこむベースメディアアプリの機能を用いることにより、上述した課題を解決することが可能となる。本実施形態においては、そのような態様について説明する。
図18は、本実施形態に係る携帯端末1の機能構成を示すブロック図である。図18に示すように、本実施形態に係る携帯端末1は、図4において説明した構成に加えて、ベースメディアアプリ160が追加された構成となっている。ベースメディアアプリ160は、アプリコアモジュール161及び基本設定情報162に加えて、広告管理SDK170を含む。
ベースメディアアプリ160も、メディアアプリ140と同様に、広告管理SDK170の機能により広告管理サーバ2と通信することによってGUI上の広告表示領域701に広告表示を行う機能を有する。そのため、広告管理SDK170は、広告管理SDK150と同様に広告情報処理部151、確認情報処理部152及びDL完了確認部153を含む。更に、ベースメディアアプリ160に組み込まれる広告管理SDK170は、確認情報収集部171を含む。
本実施形態に係るベースメディアアプリ160のアプリコアモジュール161は、携帯端末1において新たにアプリがダウンロードされてインストールされた場合に、基本制御部130からの通知に応じてバックグラウンドで起動する機能を有する。そのため、携帯端末1において新たにアプリがダウンロードされてインストールされた場合、ベースメディアアプリ160に組み込まれた広告管理SDK170の処理として、図11のS1102においてDL確認動作が実行されることとなる。
しかしながら、実施の形態1において説明した広告管理SDK150の機能によれば、ベースメディアアプリ160に組み込まれた広告管理SDKの処理としてDL確認動作が実行されたとしても、その結果広告管理サーバ2に送信される確認情報は、ベースメディアアプリ160のGUIにおいて表示された広告がタップされて生成された確認情報のみであり、メディアアプリ140に組み込まれた広告管理SDK150において生成された確認情報は送信されない。
そのため、本実施形態に係る広告管理SDK170は、広告管理SDK150と同一の機能に加えて、確認情報収集部171を有する。確認情報収集部171は、図19に示すように、他のメディアアプリ140に組み込まれた広告管理SDK150において生成された確認情報を複製し、広告管理SDK170において生成された確認情報と同様に記憶媒体に記憶させる。これにより、広告管理SDK170の処理として図9に示すDL確認動作が実行される場合、他のメディアアプリ140において生成された確認情報も、S901において選択対象の候補となる。
尚、図19に示す確認情報の複製処理は、確認情報を生成した側の確認情報処理部152が主体となって実行され、確認情報収集部171は、確認情報を生成した確認情報処理部152から、複製された確認情報を取得して記憶媒体に記憶する。この他、確認情報収集部171が、他のメディアアプリ140における確認情報の生成有無を監視し、他のメディアアプリ140において確認情報が生成された場合に、その複製情報を生成するようにしても良い。
このような態様により、仮に確認情報を生成したメディアアプリ140が、その後に起動されなかったとしても、ベースメディアアプリ160に複製された確認情報がベースメディアアプリ160によって送信されるため、広告管理サーバ2に確認情報が送信されなくなる問題を解消することが可能である。
これに対して、メディアアプリ140とベースメディアアプリ160との両方から確認情報が送信される可能性があるという問題が生じる。この問題は、例えば、広告管理サーバ2側において重複チェックをすることにより解消可能である。重複チェックの態様としては、図16において説明した動作と同様の動作により実現可能であるが、確認情報の複製に特有な情報を付加することにより、図16よりも更に簡易な処理でチェックが可能である。
図20は、確認情報の複製に特有な情報を付加する場合の一態様を示す図である。携帯端末1側における確認情報の複製に際して、図20に示すように乱数を生成し、複製元及び複製先の夫々の確認情報に付加する。そして、その両方が広告管理サーバ2に送信された場合、広告管理サーバ2の確認情報記憶処理部220は、付加されている乱数が一致するか否かを確認することにより、複製された確認情報であることを認識し、いずれか一方を削除して重複した確認情報を排除することが可能となる。
他方、携帯端末1側のみで、重複した確認情報の送信を排除する方法もある。具体的には、図3のS314において確認情報を送信する際に、複製されている確認情報を削除する方法である。そのような動作について説明する。図21、図22は、図9において説明したDL確認動作によってDL完了イベントが生成され、確認情報が送信される際の、ベースメディアアプリ160とメディアアプリ140との相対的な動作の例を示すシーケンス図である。
図21は、メディアアプリ140が起動状態若しくは図11のS1111において判断されるループ期間内であり、新たにアプリがインストールされた後、比較的早い段階でメディアアプリ140によって確認情報が送信される場合の動作を示している。図21に示すように、新規にアプリがインストールされたことが基本制御部130によって通知されると(S2101)、上述したようにベースメディアアプリ160はアプリコアモジュール161の機能によってバックグラウンド起動し(S2102)、図11において説明した動作により、DL確認動作が実行されることとなるが、本実施形態に係るベースメディアアプリ160に組み込まれた広告管理SDK170のDL完了確認部153は、バックグラウンド起動後、DL完了確認動作の実行を待機する(S2103)。
S2103における待機は、メディアアプリ140が確認情報を送信可能な状態である場合に、その送信処理の完了を待つための待機である。従って、待機期間は、確認情報の送信処理に要する時間に応じて定められる。具体的には、例えば、図11のS1104において判断される所定期間分等の期間を用いることも可能である。
また、図21においては、新規インストールが発生して、ベースメディアアプリ160がバックグラウンド起動する場合を例としているが、ベースメディアアプリが起動中であり、図11のS1107の判断によりS1108においてDL確認動作が実行される場合もあり得る。そのような場合も同様に、メディアアプリ140における確認情報の送信処理に対応する期間待機する。
メディアアプリ140においては、新規インストールが発生した後、図11のS1107や、S1104の判断によりDL確認動作が実行される(S2106)。その結果、図9のS906においてDL完了イベントが生成され、確認情報処理部152によって確認情報が広告管理サーバ2に送信されることとなる。そして、メディアアプリ140においては、ベースメディアアプリ160に複製されている確認情報の削除を行う(S2107)。
S2107の処理は、例えば、図20において説明したように、乱数の一致を判断することによって行われるが、そのほか、図8に示す各項目が同一であることをもって判断しても良い。他方、ベースメディアアプリ160においては、DL確認動作の実行を待機する期間が満了した後、DL確認動作が実行される(S2104)。しかしながら、待機期間中に、メディアアプリ140の処理によって確認情報が削除されているため、このDL確認動作によっては図9のS906のDL完了イベントは発生しない。結果的に、確認情報はメディアアプリ140からのみ送信されることとなる。
図22は、メディアアプリ140が起動状態ではなく、且つS1111において判断されるループ期間も経過しており、次にメディアアプリ140が起動されるまで、メディアアプリ140によっては確認情報が送信されない場合の動作を示している。S2201〜S2203までの処理は、図21のS2101〜S2103と同様である。図22の場合、メディアアプリ140は動作していないため、図21において説明したメディアアプリ140による確認情報削除処理は発生しない。
そのため、ベースメディアアプリ160において、DL確認動作の実行を待機する期間が満了した後、DL確認動作が実行されると(S2104)、図9のS906においてDL完了イベントが生成され、ベースメディアアプリ160に組み込まれた広告管理SDK170によって確認情報が広告管理サーバ2に送信されることとなる。そして、ベースメディアアプリ160においては、DL完了イベントの要因となった確認情報の複製元である、メディアアプリ140において記憶されている確認情報の削除を行う(S2205)。
S2205の処理は、図21のS2107の処理と同様に実行される。その後、メディアアプリ140がユーザの操作に応じて起動され、DL確認動作が実行されたとしても、対象の確認情報は既に削除されているため、このDL確認動作によっては図9のS906のDL完了イベントは発生しない。結果的に、確認情報はベースメディアアプリ160からのみ送信されることとなる。
このように、本実施形態に係るシステムによれば、携帯端末1におけるメディアアプリ140の起動状況により、確認情報が広告管理サーバ2に送信されなくなる状態を防ぐことが可能となる。また、ベースメディアアプリ160に複製された確認情報とメディアアプリ140で生成された元の確認情報とのいずれかのみが広告管理サーバ2に送信されるようにすることにより、広告管理サーバ2における負荷を低減することが可能となる。