(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024000243
(43)【公開日】2024-01-05
(54)【発明の名称】情報処理プログラム、情報処理方法及び端末装置
(51)【国際特許分類】
H04L 67/00 20220101AFI20231225BHJP
【FI】
H04L67/00
【審査請求】未請求
【請求項の数】19
【出願形態】OL
(21)【出願番号】P 2022098921
(22)【出願日】2022-06-20
(71)【出願人】
【識別番号】500257300
【氏名又は名称】LINEヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】廣井 透
(72)【発明者】
【氏名】山戸 茂樹
(72)【発明者】
【氏名】野口 晃平
(72)【発明者】
【氏名】愛場 大介
(57)【要約】 (修正有)
【課題】複数のアプリケーションでの識別情報の共有を可能にする情報処理プログラム、情報処理方法及び端末装置を提供する。
【解決手段】複数のアプリケーションがインストールされた端末装置100において実行される情報処理プログラムであって、複数のアプリケーションのうち、第1アプリケーションA11が複数のアプリケーション間で共有される、いわゆるクッキーのような識別情報である共有識別情報を有しない場合、複数のアプリケーションに含まれる第2アプリケーションB11に、第1アプリケーションへ共有識別情報を提供することを要求するS102要求手順を、端末装置に実行させる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
複数のアプリケーションがインストールされた端末装置において実行される情報処理プログラムであって、
前記複数のアプリケーションのうち、第1アプリケーションが前記複数のアプリケーション間で共有される識別情報である共有識別情報を有しない場合、前記複数のアプリケーションに含まれる第2アプリケーションに前記共有識別情報を前記第1アプリケーションへ提供することを要求する要求手順、
を前記端末装置に実行させることを特徴とする情報処理プログラム。
【請求項2】
データを収集する機能を有する前記複数のアプリケーションがインストールされた前記端末装置において実行されることを特徴とする請求項1に記載の情報処理プログラム。
【請求項3】
共通のロガーが搭載された前記複数のアプリケーションがインストールされた前記端末装置において実行されることを特徴とする請求項1に記載の情報処理プログラム。
【請求項4】
要求先となる前記第2アプリケーションが前記共有識別情報を有する場合、前記第2アプリケーションから、前記共有識別情報を取得する取得手順、
を前記端末装置に実行させることを特徴とする請求項1に記載の情報処理プログラム。
【請求項5】
前記取得手順は、
前記複数のアプリケーションの全てが前記共有識別情報を有しない場合、前記第2アプリケーションから、前記共有識別情報を有しないことを示す情報を取得する
ことを特徴とする請求項4に記載の情報処理プログラム。
【請求項6】
前記要求手順は、
前記複数のアプリケーションの全てが前記共有識別情報を有しない場合、識別情報を発行する発行サーバに、前記共有識別情報として用いる識別情報の発行を要求する
ことを特徴とする請求項1に記載の情報処理プログラム。
【請求項7】
前記要求手順は、
前記共有識別情報の生成に用いるシードを前記発行サーバに送信することにより、前記発行サーバに前記識別情報の発行を要求する
ことを特徴とする請求項6に記載の情報処理プログラム。
【請求項8】
前記要求手順は、
所定の識別情報が利用可能である場合、前記所定の識別情報を前記シードとして前記発行サーバに送信する
ことを特徴とする請求項7に記載の情報処理プログラム。
【請求項9】
前記要求手順は、
所定の識別情報が利用不可能である場合、所定の値でパディングされたパディング情報を前記シードとして前記発行サーバに送信する
ことを特徴とする請求項7に記載の情報処理プログラム。
【請求項10】
前記発行サーバから、前記識別情報を受信する受信手順、
を前記端末装置に実行させることを特徴とする請求項6に記載の情報処理プログラム。
【請求項11】
前記共有識別情報の前記第2アプリケーションへの提供の要求を、前記第2アプリケーションから受け付ける受付手順、
を前記端末装置に実行させることを特徴とする請求項10に記載の情報処理プログラム。
【請求項12】
前記受付手順により前記第2アプリケーションから前記要求が受け付けられた場合、前記共有識別情報を前記第2アプリケーションへ提供する提供手順、
を前記端末装置に実行させることを特徴とする請求項11に記載の情報処理プログラム。
【請求項13】
前記要求手順は、
前記複数のアプリケーションのうち、前記発行サーバから他の識別情報を受信した第3アプリケーションがあり、かつ前記他の識別情報が所定の条件を満たす場合、前記第3アプリケーションに、前記他の識別情報を前記共有識別情報として用いるために前記第1アプリケーションへ提供することを要求する
ことを特徴とする請求項10に記載の情報処理プログラム。
【請求項14】
前記要求手順は、
前記他の識別情報の発行日時が前記識別情報の発行日時よりも古い場合、前記第3アプリケーションに、前記他の識別情報を前記共有識別情報として用いるために前記第1アプリケーションへ提供することを要求する
ことを特徴とする請求項13に記載の情報処理プログラム。
【請求項15】
前記要求手順は、
前記他の識別情報の発行日時が前記識別情報の発行日時よりも新しい場合、前記第3アプリケーションに、前記識別情報を前記共有識別情報として用いることを要求する
ことを特徴とする請求項13に記載の情報処理プログラム。
【請求項16】
前記第1アプリケーションに含まれることを特徴とする請求項1に記載の情報処理プログラム。
【請求項17】
前記第1アプリケーションであることを特徴とする請求項1に記載の情報処理プログラム。
【請求項18】
複数のアプリケーションがインストールされた端末装置が実行する情報処理方法であって、
前記複数のアプリケーションのうち、第1アプリケーションが前記複数のアプリケーション間で共有される共有識別情報を有しない場合、前記複数のアプリケーションに含まれる第2アプリケーションに前記共有識別情報を前記第1アプリケーションへ提供することを要求する要求工程、
を含むことを特徴とする情報処理方法。
【請求項19】
複数のアプリケーションがインストールされた端末装置であって、
前記複数のアプリケーションのうち、第1アプリケーションが前記複数のアプリケーション間で共有される共有識別情報を有しない場合、前記複数のアプリケーションに含まれる第2アプリケーションに前記共有識別情報を前記第1アプリケーションへ提供することを要求する要求部、
を備えることを特徴とする端末装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理プログラム、情報処理方法及び端末装置に関する。
【背景技術】
【0002】
ユーザのインターネット上の行動に基づいてユーザに情報提供を行うための技術が提供されている。例えば、いわゆるクッキー等のユーザのインターネット上の行動を推定可能にするための様々な識別情報を用いて、ユーザが利用する端末装置にユーザにとって有用な広告を表示させることが可能な広告配信システムが提供されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の従来技術では、ユーザにとって適切な情報を提供することができるとは限らない。例えば、ユーザのインターネット上の行動が複数のアプリケーションにおいて行われる場合、各アプリケーションのみの断片的な情報ではユーザのインターネット上の行動を基に適切な情報提供を行うことが難しい。そこで、ユーザにとって適切な情報提供を行うために、複数のアプリケーションで識別情報を共有することが望まれている。
【0005】
本願は、上記に鑑みてなされたものであって、複数のアプリケーションでの識別情報の共有を可能にする情報処理プログラム、情報処理方法及び端末装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本願に係る情報処理プログラムは、複数のアプリケーションがインストールされた端末装置において実行される情報処理プログラムであって、前記複数のアプリケーションのうち、第1アプリケーションが前記複数のアプリケーション間で共有される識別情報である共有識別情報を有しない場合、前記複数のアプリケーションに含まれる第2アプリケーションに前記共有識別情報を前記第1アプリケーションへ提供することを要求する要求手順、を前記端末装置に実行させることを特徴とする。
【発明の効果】
【0007】
実施形態の一態様によれば、複数のアプリケーションでの識別情報の共有を可能にすることができるという効果を奏する。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施形態に係る情報処理手順を示すシーケンス図である。
【
図2】
図2は、実施形態に係る情報処理手順を示すシーケンス図である。
【
図3】
図3は、実施形態に係る情報処理システムの構成例を示す図である。
【
図4】
図4は、実施形態に係る端末装置の構成例を示す図である。
【
図5】
図5は、実施形態に係る情報処理の一例を示す図である。
【
図6】
図6は、実施形態に係る情報処理の一例を示す図である。
【
図7】
図7は、実施形態に係る情報処理の一例を示す図である。
【
図8】
図8は、端末装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0009】
以下に、本願に係る情報処理プログラム、情報処理方法及び端末装置を実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理プログラム、情報処理方法及び端末装置が限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0010】
(実施形態)
〔1.情報処理〕
まず、
図1及び
図2を用いて、実施形態に係る情報処理の一例について説明する。以下では、複数のアプリケーション(単に「アプリ」とする場合がある)がインストールされた端末装置100において実行される情報処理を説明する。例えば、端末装置100にインストールされた一のアプリ(「第1アプリケーション」ともいう)が複数のアプリ間で共有される識別情報(「共有識別情報」ともいう)を有しない場合、複数のアプリケーションに含まれる他のアプリ(「第2アプリケーション」ともいう)に共有識別情報を提供することを要求する。
図1及び
図2は、実施形態に係る情報処理システム1による情報処理手順を示すシーケンス図である。具体的には、
図1は、あるアプリケーションが他のアプリから共有識別情報を取得する場合の情報処理手順を示すシーケンス図である。また、
図2は、あるアプリが他のアプリから共有識別情報を取得できない場合の情報処理手順を示すシーケンス図である。
【0011】
なお、ここでいう識別情報は、インターネットにおける行動を推定(特定)するために用いることができる識別情報であればどのような情報であってもよい。識別情報は、インターネットにおける行動主体に対応付けることが可能な情報であれば、どのような情報であってもよい。例えば、識別情報は、インターネットにおける行動を推定(補足)する対象となるユーザに関連する識別情報であればどのような情報であってもよい。例えば、識別情報は、ユーザを識別するためのユーザ識別子(ユーザID)等の識別情報であってもよい。また、識別情報は、ユーザに対応する端末装置を識別するための端末識別子(デバイスID)等の識別情報であってもよい。また、識別情報は、端末装置100に永続領域(記憶部120等)に保存される情報であってもよいし、端末装置100に一時領域に保存される情報であってもよい。また、例えば、識別情報は、いわゆるクッキーのような情報であってもよい。また、ここでいう第1アプリケーション(「第1アプリ」ともいう)及び第2アプリケーション(「第2アプリ」ともいう)は、端末装置100にインストールされた各アプリのうち主体となるアプリケーションを明示的に説明するための用語に過ぎない。すなわち、第1アプリケーション及び第2アプリケーションは、相対的な概念であって、第1アプリケーションとして説明したアプリが他のアプリに対しては第2アプリケーションになる。例えば、以下で第1アプリケーションの一例として説明するアプリA11は、他のアプリを第1アプリケーションとした場合、第2アプリケーションとなる。また、以下で第2アプリケーションの一例として説明するアプリB11は、アプリB11を主体として説明する場合、第1アプリケーションとなる。
【0012】
〔1-1.情報処理システムの構成〕
図1及び
図2に示す処理の説明に先立って、
図3を用いて情報処理システム1の構成について説明する。
図3は、実施形態に係る情報処理システムの構成例を示す図である。
【0013】
図3に示すように、情報処理システム1は、端末装置100と、発行サーバ装置10とが含まれる。端末装置100と、発行サーバ装置10とは所定のネットワークNを介して、有線または無線により通信可能に接続される。なお、
図3に示した情報処理システム1には、複数台の端末装置100や、複数台の発行サーバ装置10が含まれてもよい。
【0014】
端末装置100は、ユーザによって利用される情報処理装置である。端末装置100は、ユーザによる操作に従って、端末装置100にインストールされたアプリケーション(アプリ)を起動したり、種々の処理を行ったりする。なお、以下では、端末装置100をユーザと表記する場合がある。すなわち、以下では、ユーザを端末装置100と読み替えることもできる。例えば、端末装置100は、ユーザが利用するスマートフォン等のデバイス装置である。なお、上述した端末装置100は、スマートフォンに限らず、例えば、タブレット型端末や、ノート型PC(Personal Computer)や、デスクトップPCや、携帯電話機や、PDA(Personal Digital Assistant)等であってもよい。
【0015】
端末装置100は、複数のアプリケーションがインストールされ、情報処理プログラムを実行する。端末装置100は、要求手順、取得手順、受信手順、受付手順及び提供手順を含む情報処理プログラムを実行する。端末装置100は、データを収集する機能を有する複数のアプリケーションがインストールされる。
【0016】
端末装置100は、インターネットにおける行動を収集する機能(以下「ロガー」ともいう)がインストールされたスマートフォンである。例えば、端末装置100は、共通のロガー(Logger)が搭載された複数のアプリケーション(「ロガー搭載アプリ」ともいう)がインストールされたスマートフォンである。端末装置100は、共通のロガーが搭載された複数のロガー搭載アプリ(Logger搭載アプリ)がインストールされる。例えば、ログを収集するための所定のSDK(Software Development Kit)が搭載された複数のロガー搭載アプリがインストールされる。例えば、端末装置100は、共通のロガーが搭載されたロガー搭載アプリである第1アプリケーション及び第2アプリケーションがインストールされる。
【0017】
端末装置100は、第1アプリケーションに含まれる情報処理プログラムを実行する。例えば、端末装置100は、ロガー搭載アプリに含まれる情報処理プログラムを実行する。なお、アプリケーション自体が、共有識別情報の共有に関する各種の処理を行う情報処理プログラムであってもよい。この場合、端末装置100は、第1アプリケーションである情報処理プログラムを実行する。例えば、端末装置100は、ロガー搭載アプリである情報処理プログラムを実行する。
【0018】
発行サーバ装置10は、発行した各種の情報を端末装置100へ提供するサーバ装置(コンピュータ)である。発行サーバ装置10は、端末装置100からの要求に応じて識別情報を発行し、発行した識別情報を端末装置100へ提供する。発行サーバ装置10は、端末装置100にインストールされたアプリからの要求に応じて識別情報を発行し、発行した識別情報を端末装置100にインストールされたアプリへ提供する。
【0019】
発行サーバ装置10は、端末装置100から共有識別情報の発行の要求を受け付ける。発行サーバ装置10は、端末装置100にインストールされたアプリから共有識別情報の発行の要求を受け付ける。発行サーバ装置10は、端末装置100から共有識別情報の発行を要求する情報を受信する。例えば、発行サーバ装置10は、端末装置100から共有識別情報のシードとして用いる情報を受信する。発行サーバ装置10は、端末装置100にインストールされたアプリから共有識別情報のシードとして用いる情報を受信する。
【0020】
発行サーバ装置10は、端末装置100により受信された情報を基に、共有識別情報を生成する。発行サーバ装置10は、外部の情報処理装置に種々の情報を送信する。例えば、発行サーバ装置10は、共有識別情報を送信する。発行サーバ装置10は、共有識別情報発行の要求元である端末装置100に共有識別情報を送信する。
【0021】
〔1-2.情報処理システムにおける処理概要〕
ここから、
図1及び
図2に示す情報処理の概要を説明する。
図1及び
図2では、アプリA11を第1アプリケーション(第1アプリ)とし、アプリB11を第2アプリケーション(第2アプリ)として説明する。アプリA11及びアプリB11は、端末装置100にインストールされているロガー搭載アプリである。なお、
図1及び
図2では説明を簡単にするために、アプリA11及びアプリB11の2つのアプリを一例として説明するが、端末装置100には3つ以上のアプリがインストールされていてもよい。
【0022】
〔1-2-1.他のアプリからの共有識別情報の取得例〕
まず、
図1を用いて、第1アプリが第2アプリから共有識別情報を取得する場合の情報処理手順を説明する。具体的には、
図1では、共有識別情報を発行済みであり、第1アプリが発行済みの共有識別情報を有する他のアプリ(第2アプリ)から共有識別情報を取得する場合を説明する。
図1では、アプリB11が共有識別情報を取得済みである場合を一例として説明する。
【0023】
まず、端末装置100にインストールされている第1アプリケーションであるアプリA11が起動される(ステップS101)。例えば、端末装置100を利用するユーザの操作に応じて、端末装置100は、アプリA11を起動する。
【0024】
そして、アプリA11は、共有識別情報を有しない場合、端末装置100にインストールされている他のロガー搭載アプリである第2アプリケーションに共有識別情報を提供することを要求する(ステップS102)。例えば、アプリA11は、起動時において、共有識別情報を有しているか否かを判定する。アプリA11は、共有識別情報を取得済みであるか否かを判定する。アプリA11は、例えば記憶部12(
図4参照)において対応する領域(アプリ情報記憶部120A等)を参照し、アプリ情報記憶部120Aに共有識別情報が記憶されているか否かを判定する。
【0025】
アプリA11は、共有識別情報を有すると判定した場合、その共有識別情報を用いてロガーに関する処理を実行する。一方、アプリA11は、共有識別情報を有していないと判定した場合、第2アプリケーションであるアプリB11に共有識別情報を提供することを要求する。
図1では、アプリA11は、共有識別情報を有していないと判定し、第2アプリケーションであるアプリB11に共有識別情報を提供することを要求する。
【0026】
アプリA11から共有識別情報の提供の要求を受け付けたアプリB11は、共有識別情報を有するか否かを判定する(ステップS103)。アプリB11は、共有識別情報を取得済みであるか否かを判定する。例えば、アプリB11は、例えば記憶部12において対応する領域(アプリ情報記憶部120B等)を参照し、アプリ情報記憶部120Bに共有識別情報が記憶されているか否かを判定する。
【0027】
アプリB11は、判定結果に応じた情報をアプリA11に提供する(ステップS104)。例えば、アプリB11は、共有識別情報を有していないと判定した場合、アプリA11に共有識別情報を有しないことを示す情報(「未取得通知情報」ともいう)を提供する。この場合、アプリB11は、例えば共有識別情報を有しないことを示す未取得通知情報(信号)をアプリA11に伝達する。
【0028】
一方、アプリB11は、共有識別情報を有していると判定した場合、アプリA11に共有識別情報を提供する。この場合、アプリB11は、例えば共有識別情報を含む情報(信号)をアプリA11に伝達する。
図1では、アプリB11は、共有識別情報を有していると判定し、アプリA11に共有識別情報を提供する。
【0029】
アプリB11から共有識別情報を取得したアプリA11は、アプリB11から取得した共有識別情報を用いて各種処理を実行する(ステップS105)。例えば、アプリB11から共有識別情報を取得したアプリA11は、アプリB11から取得した共有識別情報を用いてロガーに関する処理を実行する。アプリA11は、アプリB11から取得した共有識別情報を保存する。アプリA11は、例えば記憶部12(
図4参照)において対応する領域(アプリ情報記憶部120A等)に共有識別情報を格納する。アプリA11は、ロガーに関する処理を実行する際には、取得した共有識別情報を用いる。
【0030】
上述したように、端末装置100にインストールされたアプリA11は、共有識別情報を有しない場合、端末装置100にインストールされた他のアプリ(アプリB11等)に、共有識別情報を提供することを要求する。このように、端末装置100にインストールされた第1アプリケーションは、共有識別情報を有しない場合、端末装置100にインストールされた他のアプリ(第2アプリケーション)に、共有識別情報を提供することを要求する。これにより、端末装置100は、複数のアプリケーションでの識別情報の共有を可能にすることができる。
【0031】
〔1-2-2.共有識別情報の新規発行例〕
次に、
図2を用いて、第1アプリが第2アプリから共有識別情報を取得できない場合の情報処理手順を説明する。具体的には、
図2では、共有識別情報を未発行であり、第1アプリが発行サーバ装置10に共有識別情報の発行を要求する場合を説明する。
図2では、アプリB11が共有識別情報を未取得である場合を一例として説明する。なお、上述した
図1等と同様の点については適宜説明を省略する。
【0032】
まず、端末装置100にインストールされている第1アプリケーションであるアプリA11は、共有識別情報を有するか否かを判定する(ステップS201)。例えば、アプリA11は、起動時において、共有識別情報を有するか否かを判定する。例えば、端末装置100を利用するユーザの操作に応じて、端末装置100においてアプリA11が起動されたタイミングで、アプリA11は、共有識別情報を有するか否かを判定する。
【0033】
そして、アプリA11は、共有識別情報を有しない場合、端末装置100にインストールされている他のロガー搭載アプリである第2アプリケーションに共有識別情報を提供することを要求する(ステップS202)。
図2では、アプリA11は、共有識別情報を有していないと判定し、第2アプリケーションであるアプリB11に共有識別情報を提供することを要求する。
【0034】
アプリA11から共有識別情報の提供の要求を受け付けたアプリB11は、共有識別情報を有するか否かを判定する(ステップS203)。アプリB11は、判定結果に応じた情報をアプリA11に提供する(ステップS204)。
図2では、アプリB11は、共有識別情報を有していないと判定し、アプリA11に未取得通知情報を提供する。
【0035】
第2アプリから未取得通知情報を取得した第1アプリは、発行サーバ装置10に共有識別情報の発行を要求する(ステップS205)。例えば、端末装置100にインストールされている全ての第2アプリから未取得通知情報を取得した第1アプリは、発行サーバ装置10に共有識別情報の発行を要求する。端末装置100における自アプリ以外の全てのロガー搭載アプリから未取得通知情報を取得した第1アプリは、発行サーバ装置10に共有識別情報の発行を要求する。
【0036】
図2では、アプリB11から未取得通知情報を取得したアプリA11は、発行サーバ装置10に共有識別情報の発行を要求する。例えば、アプリA11は、発行サーバ装置10に共有識別情報として用いる識別情報の発行を要求する。アプリA11は、共有識別情報の生成に用いるシードを発行サーバ装置10に送信することにより、発行サーバ装置10に識別情報の発行を要求する。例えば、アプリA11は、広告ID等の所定の識別情報が利用可能である場合、所定の識別情報をシードとして発行サーバ装置10に送信する。なお、所定の識別情報は、広告IDに限らず、シードとしての利用が可能な任意の識別情報が採用可能である。
【0037】
一方、アプリA11は、広告ID等の所定の識別情報が利用不可能である場合、所定の値でパディングされたパディング情報をシードとして発行サーバ装置10に送信する。例えば、アプリA11は、所定の識別情報が利用不可能である場合、値「0」でパディングすることにより、0パディングされたパディング情報をシードとして発行サーバ装置10に送信する。
図2では、アプリA11は、所定の識別情報が利用不可能であり、0パディングされたパディング情報をシードとして発行サーバ装置10に送信する。
【0038】
アプリA11から識別情報の発行の要求を受け付けた発行サーバ装置10は、アプリA11へ提供する識別情報を生成する(ステップS206)。例えば、アプリA11からシードを取得した発行サーバ装置10は、取得したシードを用いて、アプリA11へ提供する識別情報を生成する。
図2では、アプリA11から0パディングされたパディング情報をシードとして取得した発行サーバ装置10は、取得したパディング情報を用いて、アプリA11へ提供する識別情報を生成する。なお、発行サーバ装置10がシードから識別情報を生成する際の生成ロジックについては、任意の生成ロジックが採用可能である。
【0039】
発行サーバ装置10は、生成した識別情報をアプリA11へ提供する(ステップS207)。発行サーバ装置10は、生成した識別情報をアプリA11へ送信する。例えば、発行サーバ装置10は、生成した識別情報をアプリA11がインストールされた端末装置100へ送信する。アプリA11は、発行サーバ装置10が送信した識別情報を受信する。例えば、アプリA11がインストールされた端末装置100は、発行サーバ装置10が送信した識別情報を受信する。
【0040】
発行サーバ装置10から識別情報を受信したアプリA11は、発行サーバ装置10から受信した識別情報を共有識別情報として用いて各種処理を実行する(ステップS208)。例えば、アプリA11は、発行サーバ装置10から受信した識別情報を共有識別情報として用いてロガーに関する処理を実行する。アプリA11は、発行サーバ装置10から受信した識別情報を共有識別情報として保存する。アプリA11は、例えば記憶部12(
図4参照)において対応する領域(アプリ情報記憶部120A等)に、発行サーバ装置10から受信した識別情報を共有識別情報として格納する。アプリA11は、ロガーに関する処理を実行する際には、発行サーバ装置10から受信した識別情報を共有識別情報として用いる。
【0041】
第1アプリは、他のアプリである第2アプリに対して共有識別情報に関する各種処理を実行する(ステップS209)。例えば、第1アプリは、第2アプリから共有識別情報の提供の要求が受け付けられた場合、共有識別情報を第2アプリへ提供する。第2アプリから共有識別情報の提供の要求を受け付けた第1アプリは、共有識別情報を有するか否かを判定する。第1アプリは、共有識別情報を取得済みであるか否かを判定する。例えば、第1アプリは、例えば記憶部12において対応する領域(アプリ情報記憶部120A等)を参照し、アプリ情報記憶部120Aに共有識別情報が記憶されているか否かを判定する。
【0042】
第1アプリは、判定結果に応じた情報を第2アプリに提供する。例えば、第1アプリは、共有識別情報を有していないと判定した場合、第2アプリに共有識別情報を有しないことを示す情報(未取得通知情報)を提供する。この場合、第1アプリは、例えば共有識別情報を有しないことを示す未取得通知情報(信号)を第2アプリに伝達する。
【0043】
一方、第1アプリは、共有識別情報を有していると判定した場合、第2アプリに共有識別情報を提供する。この場合、第1アプリは、例えば共有識別情報を含む情報(信号)を第2アプリに伝達する。
図2では、第1アプリであるアプリA11は、第2アプリであるアプリB11から共有識別情報の提供の要求が受け付けた場合、共有識別情報を有していると判定し、アプリB11に共有識別情報を提供する。
【0044】
上述したように、アプリA11は、共有識別情報を有しない場合、他のアプリ(アプリB11等)に共有識別情報を提供することを要求し、他のアプリも共有識別情報を未取得の場合、発行サーバ装置10に共有識別情報の発行を要求する。このように、端末装置100にインストールされた第1アプリケーションは、端末装置100にインストールされた他のアプリ(第2アプリケーション)も含め、いずれのアプリも共有識別情報を有しない場合、識別情報を発行する発行サーバに共有識別情報を提供することを要求する。これにより、端末装置100は、複数のアプリケーションでの識別情報の共有を可能にすることができる。
【0045】
〔1-2-3.複数の識別情報が発行された場合の例〕
ここで、複数の識別情報が発行された場合の処理例について説明する。端末装置100にインストールされた複数のアプリの各々が、共有識別情報として用いる識別情報を発行サーバ装置10から受信する場合がある。例えば、端末装置100にインストールされた複数のアプリが同じタイミングで起動された場合等、複数のアプリの各々が発行サーバ装置10に共有識別情報の発行を要求し、複数の識別情報が共有識別情報とされる場合がある。
【0046】
このような場合、端末装置100にインストールされた複数のアプリの各々は、所定の基準に基づいて、共有識別情報として用いる識別情報を決定する。例えば、端末装置100にインストールされた複数のアプリの各々は、共有識別情報に用いる識別情報として発行された識別情報のうち、タイムスタンプが最も古い識別情報を共有識別情報に決定する。なお、共有識別情報に用いる識別情報として発行された識別情報のうち、タイムスタンプが最も古い識別情報が複数ある場合、端末装置100は、所定の基準に基づいて共有識別情報に用いる識別情報を決定してもよい。端末装置100は、タイムスタンプが最も古い複数の識別情報のうち、アプリの名称が辞書順で最初のアプリの識別情報を共有識別情報に決定してもよい。
【0047】
例えば、発行サーバ装置10から識別情報を受信したアプリは、他のアプリに識別情報の取得有無を示す情報の提供を要求し、識別情報を取得済みである他のアプリに対して取得済みの識別情報の発行日時を含む識別情報発行に関する情報の提供を要求してもよい。そして、他のアプリから識別情報発行に関する情報を取得したアプリは、他のアプリが有する識別情報の発行日時と、自装置が有する識別情報の発行日時とを比較して、発行日時が最も古い識別情報を共有識別情報として用いると決定してもよい。
【0048】
例えば、発行サーバ装置10から識別情報(「第1識別情報」ともいう)を受信したアプリは、発行サーバ装置10から他の識別情報(「第2識別情報」ともいう)を受信したアプリ(「第3アプリケーション」ともいう)があり、かつ第2識別情報が所定の条件を満たす場合、第3アプリケーション(「第3アプリ」ともいう)に、第2識別情報を共有識別情報として用いるために提供することを要求する。例えば、発行サーバ装置10から識別情報(第1識別情報)を受信したアプリは、自アプリが受信した識別情報(第1識別情報)の発行日時(「第1タイムスタンプ」ともいう)と第2識別情報の発行日時(「第2タイムスタンプ」ともいう)とを比較し、第2タイムスタンプが第1タイムスタンプよりも古い場合、第3アプリに、第2識別情報を共有識別情報として用いるために提供することを要求する。また、アプリは、第1識別情報の発行日時(第1タイムスタンプ)よりも第2識別情報の発行日時(第2タイムスタンプ)が新しい場合、第3アプリに、自アプリが受信した識別情報を共有識別情報として用いることを要求する。
【0049】
なお、上述した処理は一例に過ぎず、端末装置100にインストールされた複数のアプリ間で利用する共有識別情報が決定できれば、どのような処理により共有識別情報が決定されてもよい。
【0050】
〔2.端末装置の構成〕
次に、
図4を用いて、実施形態に係る端末装置100の構成について説明する。
図4は、実施形態に係る端末装置の構成例を示す図である。
図4に示すように、端末装置100は、通信部11と、記憶部12と、制御部13とを有する。また、端末装置100は、図示することを省略するが、ユーザから各種操作を受け付ける入力部や、各種情報を出力するための出力部を有する。入力部は、例えば、端末装置100がタッチパネルの機能を有する場合、端末装置100の表示画面を介してユーザから各種操作を受け付ける。また、出力部は、例えば液晶ディスプレイや有機EL(Electro Luminescence)ディスプレイ等によって実現される端末装置100の表示画面を備え、各種情報を表示する。
【0051】
(通信部11)
通信部11は、例えば、通信回路等によって実現される。そして、通信部11は、図示しない所定の通信網と有線または無線で接続され、発行サーバ装置10との間で情報の送受信を行う。
【0052】
(記憶部12)
記憶部12は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部12は、例えば、端末装置100にOSに関する情報、例えばプログラム等を記憶する。実施形態に係る記憶部12は、
図4に示すように、アプリ情報記憶部120A及びアプリ情報記憶部120B等を有する。
【0053】
なお、各アプリを特に区別せずに説明する場合、アプリ情報記憶部120A及びアプリ情報記憶部120B等を総称して「アプリ情報記憶部120」と記載する場合がある。
図4では2つのアプリ情報記憶部120のみ図示するが、記憶部12は、各アプリに対応するアプリ情報記憶部120を有する。例えば、端末装置100に3つのアプリがインストールされている場合、記憶部12は、アプリ情報記憶部120A、アプリ情報記憶部120B及びアプリ情報記憶部120Cの3つのアプリ情報記憶部120を有する。
【0054】
(アプリ情報記憶部120)
また、アプリ情報記憶部120は、端末装置100にインストールされているアプリケーションに関する情報、例えばプログラム等を記憶する。アプリ情報記憶部120は、アプリケーションに関する識別情報を記憶する。例えば、アプリ情報記憶部120は、共有識別情報を記憶する。
【0055】
例えば、アプリ情報記憶部120Aは、アプリA11に関する各種情報を記載する。アプリ情報記憶部120Aは、アプリA11がデータを収集する機能を実現するための各種情報を記載する。アプリ情報記憶部120Aは、アプリA11に含まれるアプリ共通のロガーに関する各種情報を記載する。アプリ情報記憶部120Aは、アプリA11に含まれるSKDに関する各種情報を記載する。アプリ情報記憶部120Aは、アプリA11が取得した共有識別情報を記憶する。例えば、アプリ情報記憶部120Aは、複数のアプリのうちアプリA11のみがアクセス可能であってもよい。
【0056】
例えば、アプリ情報記憶部120Bは、アプリB11に関する各種情報を記載する。アプリ情報記憶部120Bは、アプリB11がデータを収集する機能を実現するための各種情報を記載する。アプリ情報記憶部120Bは、アプリB11に含まれるアプリ共通のロガーに関する各種情報を記載する。アプリ情報記憶部120Bは、アプリB11に含まれるSKDに関する各種情報を記載する。アプリ情報記憶部120Bは、アプリB11が取得した共有識別情報を記憶する。例えば、アプリ情報記憶部120Bは、複数のアプリのうちアプリB11のみがアクセス可能であってもよい。
【0057】
(制御部13)
図4の説明に戻って、制御部13は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)やMPU(Micro Processing Unit)等によって、端末装置100内部の記憶装置に記憶されている各種プログラム(端末装置100にインストールされたアプリが実行する情報処理プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。例えば、この各種プログラムは、インストールされているアプリケーションのプログラムが含まれる。また、制御部13は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
【0058】
図4に示すように、制御部13は、アプリ制御部130A、アプリ制御部130B等を有する。なお、制御部13の内部構成は、
図4に示した構成に限られず、端末装置100がスマートフォンとしての機能を実現するための他の構成を含む。なお、
図4では2つのアプリ制御部130のみ図示するが、記憶部12は、各アプリに対応するアプリ制御部130を有する。
【0059】
なお、各アプリを特に区別せずに説明する場合、アプリ制御部130A及びアプリ制御部130B等を総称して「アプリ制御部130」と記載する場合がある。
図4では2つのアプリ制御部130のみ図示するが、制御部13は、各アプリに対応するアプリ制御部130を有する。例えば、端末装置100に3つのアプリがインストールされている場合、制御部13は、アプリ制御部130A、アプリ制御部130B及びアプリ制御部130Cの3つのアプリ制御部130を有する。
【0060】
図4では、アプリ制御部130Aは、アプリA11に対応する制御部であって、アプリA11の各種処理を行う。例えば、アプリ制御部130Aとアプリ情報記憶部120AがアプリA11に対応し、アプリA11は、記憶部12におけるアプリ情報記憶部120Aに対応する領域にのみアクセス可能であってもよい。アプリ制御部130Aは、要求部131Aと、取得部132Aと、受信部133Aと、受付部134Aと、提供部135Aとに対応する機能を有する。
【0061】
また、アプリ制御部130Bは、アプリB11に対応する制御部であって、アプリB11の各種処理を行う。例えば、アプリ制御部130Bとアプリ情報記憶部120BがアプリB11に対応し、アプリB11は、記憶部12におけるアプリ情報記憶部120Bに対応する領域にのみアクセス可能であってもよい。アプリ制御部130Bは、要求部131Bと、取得部132Bと、受信部133Bと、受付部134Bと、提供部135Bとに対応する機能を有する。
【0062】
なお、各アプリを特に区別せずに説明する場合、要求部131A及び要求部131B等を総称して「要求部131」と記載し、取得部132A及び取得部132B等を総称して「取得部132」と記載する場合がある。各アプリを特に区別せずに説明する場合、受信部133A及び受信部133B等を総称して「受信部133」と記載し、受付部134A及び受付部134B等を総称して「受付部134」と記載する場合がある。また、各アプリを特に区別せずに説明する場合、提供部135A及び提供部135B等を総称して「提供部135」と記載する場合がある。
【0063】
(アプリ制御部130)
ここから、アプリ制御部130の各構成について説明する。アプリ制御部130は、要求部131と、取得部132と、受信部133と、受付部134と、提供部135とに対応する機能を有する。なお、アプリ制御部130の内部構成は、
図4に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、アプリ制御部130の内部構成には、対応するアプリの各種処理を実現するための他の構成が含まれてもよい。
【0064】
(要求部131)
要求部131は、各種要求を行う。要求部131は、外部の情報処理装置からの情報やアプリ情報記憶部120に記憶された情報に基づいて、各種情報を要求する。要求部131は、アプリ情報記憶部120に記憶された情報に基づいて、各種情報を要求する。要求部131は、発行サーバ装置10へ各種要求を行う。要求部131は、通信部11を介して発行サーバ装置10へ情報を送信することにより、発行サーバ装置10へ各種要求を行う。
【0065】
要求部131は、各種情報を送信する送信部として機能する。要求部131は、外部の情報処理装置へ各種情報を送信する。要求部131は、通信部11を介して、発行サーバ装置10へ情報を送信する。要求部131は、他のアプリへ各種要求を行う。要求部131は、端末装置100にインストールされた他のアプリへの各種要求を行う。
【0066】
要求部131は、判定処理を行う判定部として機能する。要求部131は、共有識別情報の提供を要求する条件を満たすか否かを判定する。要求部131は、共有識別情報の他のアプリに提供を要求する条件を満たすか否かを判定する。要求部131は、共有識別情報を有しているか否かを判定する。要求部131は、共有識別情報を有していない場合、他のアプリ(第2アプリ)へ要求する条件を満たすと判定する。要求部131は、共有識別情報として用いる識別情報の発行を発行サーバ装置10へ要求する条件を満たすか否かを判定する。要求部131は、他のアプリ(第2アプリ)の全てが共有識別情報を有していない場合、発行サーバ装置10へ要求する条件を満たすと判定する。
【0067】
要求部131は、複数のアプリケーションのうち、第1アプリケーションが複数のアプリケーション間で共有される識別情報である共有識別情報を有しない場合、複数のアプリケーションに含まれる第2アプリケーションに共有識別情報を第1アプリケーションへ提供することを要求する。要求部131は、複数のアプリケーションの全てが共有識別情報を有しない場合、識別情報を発行する発行サーバ装置10に、共有識別情報として用いる識別情報の発行を要求する。
【0068】
要求部131は、共有識別情報の生成に用いるシードを発行サーバ装置10に送信することにより、発行サーバ装置10に識別情報の発行を要求する。要求部131は、所定の識別情報が利用可能である場合、所定の識別情報をシードとして発行サーバ装置10に送信する。要求部131は、所定の識別情報が利用不可能である場合、所定の値でパディングされたパディング情報をシードとして発行サーバ装置10に送信する。
【0069】
要求部131は、複数のアプリケーションのうち、発行サーバ装置10から他の識別情報を受信した第3アプリケーションがあり、かつ他の識別情報が所定の条件を満たす場合、第3アプリケーションに、他の識別情報を共有識別情報として用いるために第1アプリケーションへ提供することを要求する。要求部131は、他の識別情報の発行日時が識別情報の発行日時よりも古い場合、第3アプリケーションに、他の識別情報を共有識別情報として用いるために第1アプリケーションへ提供することを要求する。要求部131は、他の識別情報の発行日時が識別情報の発行日時よりも新しい場合、第3アプリケーションに、識別情報を共有識別情報として用いることを要求する。
【0070】
要求部131は、決定処理を行う決定部として機能する。要求部131は、所定の基準に基づいて、共有識別情報として用いる識別情報を決定する。要求部131は、共有識別情報に用いる識別情報として発行された識別情報のうち、タイムスタンプが最も古い識別情報を共有識別情報に決定する。要求部131は、他のアプリに識別情報の取得有無を示す情報の提供を要求する。要求部131は、識別情報の取得有りとの情報提供を行った他のアプリに対して取得済みの識別情報の発行日時を含む識別情報発行に関する情報の提供を要求する。要求部131は、他のアプリから識別情報発行に関する情報を取得したアプリは、他のアプリが有する識別情報の発行日時と、自装置が有する識別情報の発行日時とを比較して、発行日時が最も古い識別情報を共有識別情報として用いると決定する。
【0071】
例えば、要求部131は、発行サーバ装置10から第2識別情報を受信したアプリ(第3アプリ)があり、かつ第2識別情報が所定の条件を満たす場合、第3アプリに、第2識別情報を共有識別情報として用いるために提供することを要求する。例えば、要求部131は、自アプリが受信した識別情報(第1識別情報)の発行日時(第1タイムスタンプ)と第2識別情報の発行日時(第2タイムスタンプ)とを比較し、第2タイムスタンプが第1タイムスタンプよりも古い場合、第3アプリに、第2識別情報を共有識別情報として用いるために提供することを要求する。要求部131は、第1識別情報の発行日時(第1タイムスタンプ)よりも第2識別情報の発行日時(第2タイムスタンプ)が新しい場合、第3アプリに、自アプリが受信した識別情報を共有識別情報として用いることを要求する。
【0072】
(取得部132)
取得部132は、各種情報を取得する。例えば、取得部132は、アプリ情報記憶部120から各種情報を取得する。取得部132は、他のアプリから各種情報を取得する。取得部132は、端末装置100にインストールされた他のアプリから各種情報を取得する。
【0073】
取得部132は、第2アプリケーションから共有識別情報を取得する。取得部132は、他のアプリから共有識別情報を取得する。取得部132は、端末装置100にインストールされた他のアプリから共有識別情報を取得する。取得部132は、取得した共有識別情報をアプリ情報記憶部120に登録する。
【0074】
取得部132は、要求先となる第2アプリケーションが共有識別情報を有する場合、第2アプリケーションから、共有識別情報を取得する。取得部132は、複数のアプリケーションの全てが共有識別情報を有しない場合、第2アプリケーションから、共有識別情報を有しないことを示す情報を取得する。
【0075】
取得部132は、自装置が有する識別情報よりも発行日時が古い識別情報を他のアプリが有する場合、他のアプリから識別情報を取得する。例えば、取得部132は、他のアプリから、他のアプリが有する識別情報を共有識別情報として用いる識別情報として取得する。取得部132は、他のアプリから共有識別情報として用いる識別情報として取得した識別情報を共有識別情報としてアプリ情報記憶部120に登録する。例えば、取得部132は、アプリ情報記憶部120に共有識別情報が登録済みである場合、アプリ情報記憶部120に登録された共有識別情報を、他のアプリから共有識別情報として用いる識別情報として取得した識別情報に更新する。
【0076】
(受信部133)
受信部133は、外部の情報処理装置から各種情報を受信する。受信部133は、通信部11を介して、発行サーバ装置10から情報を受信する。
【0077】
受信部133は、発行サーバ装置10から、識別情報を受信する。受信部133は、受信した識別情報を共有識別情報としてアプリ情報記憶部120に登録する。受信部133は、識別情報を発行が要求された発行サーバ装置10から、要求に対応する識別情報を受信する。
【0078】
(受付部134)
受付部134は、各種情報を受け付ける。受付部134は、各種要求を受け付ける。受付部134は、他のアプリから各種要求を受け付ける。受付部134は、端末装置100にインストールされた他のアプリから各種要求を受け付ける。
【0079】
受付部134は、第2アプリケーションから要求を受け付ける。受付部134は、共有識別情報の第2アプリケーションへの提供の要求を、第2アプリケーションから受け付ける。受付部134は、共有識別情報を有しない第2アプリケーションから、共有識別情報の提供の要求を受け付ける。
【0080】
受付部134は、他のアプリから、共有識別情報として用いる識別情報の提供の要求を受け付ける。例えば、受付部134は、自装置が有する識別情報よりも発行日時が新しい識別情報を有する他のアプリから、共有識別情報として用いる識別情報の提供の要求を受け付ける。
【0081】
(提供部135)
提供部135は、各種情報を提供する。提供部135は、他のアプリへ各種情報を提供する。提供部135は、端末装置100にインストールされた他のアプリへ共有識別情報を提供する。提供部135は、他のアプリからの要求に応じて、他のアプリへ共有識別情報を提供する。
【0082】
提供部135は、受付部134により第2アプリケーションから要求が受け付けられた場合、共有識別情報を第2アプリケーションへ提供する。提供部135は、受付部134により第2アプリケーションから共有識別情報の提供の要求が受け付けられ、共有識別情報を有する場合、共有識別情報を第2アプリケーションへ提供する。提供部135は、受付部134により第2アプリケーションから共有識別情報の提供の要求が受け付けられ、共有識別情報を有しない場合、共有識別情報を有しないことを示す情報を第2アプリケーションへ提供する。
【0083】
提供部135は、他のアプリへ、共有識別情報として用いる識別情報を提供する。例えば、提供部135は、自装置が有する識別情報よりも発行日時が新しい識別情報を有する他のアプリへ、自装置が有する識別情報を共有識別情報として用いる識別情報として提供する。
【0084】
図4では、アプリA11に対応するアプリ制御部130Aアプリ情報記憶部120A、及びアプリB11に対応するアプリ制御部130B、アプリ情報記憶部120Bのみを図示した。なお、上述したように、端末装置100は、アプリA11、アプリB11のみに限らず、端末装置100にインストールされている各アプリに対して、アプリ制御部130及びアプリ情報記憶部120を有する。例えば、端末装置100は、3以上のアプリ制御部130及びアプリ情報記憶部120を有してもよい。なお、上述したアプリ制御部130による情報処理等の処理は、例えば、JavaScript(登録商標)などの任意のプログラム言語等により実現されてもよい。
【0085】
〔3.情報処理例〕
次に、
図5~7を用いて、情報処理の具体例を説明する。
図5~
図7は、実施形態に係る情報処理の一例を示す図である。具体的には、
図5は、アプリの起動時における情報処理の一例を示す図である。
図6は、識別情報の新規発行に関する情報処理の一例を示す図である。
図7は、共有識別情報の取得に関する情報処理の一例を示す図である。なお、
図1、
図2等で上述した内容と同様の点については適宜説明を省略する。また、
図5~
図7では識別情報を文字列「Cookie」と記載するが、
図5~
図7での文字列「Cookie」は識別情報と読み替えられてもよい。すなわち、
図5~
図7の説明における「Cookie」は、識別情報と同義であってもよい。例えば、
図5~
図7の説明における「Cookie」は、ユーザについて発行され、そのユーザが利用する端末装置100に永続領域に保存される識別情報(ユーザ識別子等)であってもよい。
【0086】
図5~
図7に示す「Logger搭載アプリ」と記載されたアプリ(「当該アプリ」ともいう)及び「他のLogger搭載アプリ」と記載されたアプリ(「他のアプリ」ともいう)は、端末装置100にインストールされたアプリに対応する。例えば、「Logger搭載アプリ」と記載されたアプリ(当該アプリ)は、第1アプリに対応し、「他のLogger搭載アプリ」と記載されたアプリ(他のアプリ)は、第2アプリに対応する。
図6~
図7に示す「Cookie発行サーバ」と記載されたサーバ(「発行サーバ」ともいう)は、例えばユーザ識別子発行サーバ等であり、識別情報を発行するサーバ装置である発行サーバ装置10に対応する。
【0087】
図5に示すように、当該アプリが共有用のCookie(「共有識別情報」ともいう)を保持していない場合、他のアプリが存在有無に応じて以下のような処理を実行する。
【0088】
当該アプリは、他のアプリが存在する場合、他アプリへアクセスする。例えば、当該アプリは、「ContentProvider」等のクラスを用いて、他アプリへアクセスする。
【0089】
当該アプリは、他のアプリが共有識別情報を保持している場合、他アプリの中で最も作成日時が古い共有用Cookie(共有識別情報)を取得して保存する。
【0090】
当該アプリは、他のアプリが共有識別情報を保持していない場合、
図6に示すような他アプリから共有識別情報が取得できない場合の処理を実行する。
【0091】
当該アプリは、他のアプリが存在しない場合、
図6に示すような他アプリから共有識別情報が取得できない場合の処理を実行する。
【0092】
図6に示すように、当該アプリが他アプリから共有識別情報が取得できない場合、以下のような処理を実行する。
【0093】
当該アプリは、当該アプリが自アプリ用の識別情報を既に保持している場合、自アプリ用の識別情報をコピーして共有識別情報として保存する。この場合、当該アプリは、タイムスタンプも同時に保存する。
【0094】
当該アプリは、当該アプリが自アプリ用の識別情報を既に保持していない場合、広告IDを発行サーバへ送信する。広告IDが0paddingされていない場合、当該アプリは、広告IDをシードとして生成された識別情報を発行サーバから受信し、受信した識別情報を共有識別情報として保存する。広告IDが0paddingされている場合、当該アプリは、ランダムシードを用いて生成された識別情報を発行サーバから受信し、受信した識別情報を共有識別情報として保存する。
【0095】
そして、当該アプリは、他アプリへアクセスする。例えば、当該アプリは、「ContentProvider」等のクラスを用いて、他アプリへアクセスする。
【0096】
当該アプリは、他のアプリが識別情報を保存済みである場合、当該アプリ及び他アプリの中で最も作成日時が古い識別情報を共有識別情報として保存する。
【0097】
また、
図7に示すように、当該アプリは共有識別情報の取得処理を実行する。例えば、
図7は、起動時の任意のタイミング(PVリクエスト時等)で識別情報を取得する場合の処理の一例を示す。当該アプリは、当該アプリが自アプリ用の識別情報を既に保持していない場合、広告IDを発行サーバへ送信する。広告IDが0paddingされていない場合、当該アプリは、広告IDをシードとして生成された識別情報を発行サーバから受信し、受信した識別情報を共有識別情報として保存する。広告IDが0paddingされている場合、当該アプリは、ランダムシードを用いて生成された識別情報を発行サーバから受信し、受信した識別情報を共有識別情報として保存する。
【0098】
そして、当該アプリは、他アプリへアクセスする。例えば、当該アプリは、「ContentProvider」等のクラスを用いて、他アプリへアクセスする。当該アプリは、他のアプリが識別情報を保存済みである場合、当該アプリ及び他アプリの中で最も作成日時が古い識別情報を共有識別情報として保存する。
【0099】
〔4.効果〕
上述してきたように、実施形態に係る端末装置100は、複数のアプリケーションがインストールされ、要求手順(実施形態においては「要求部131」)を含む情報処理プログラムを実行する。要求手順は、複数のアプリケーションのうち、第1アプリケーション(実施形態においては例えば「アプリA11」)が複数のアプリケーション間で共有される識別情報である共有識別情報を有しない場合、複数のアプリケーションに含まれる第2アプリケーション(実施形態においては例えば「アプリB11」)に共有識別情報を第1アプリケーションへ提供することを要求する。
【0100】
このように、実施形態に係る端末装置100は、複数のアプリケーションのうち、第1アプリケーションが共有識別情報を有しない場合、第2アプリケーションに共有識別情報を第1アプリケーションへ提供することを要求することにより、複数のアプリケーションでの識別情報の共有を可能にすることができる。
【0101】
また、実施形態に係る端末装置100は、データを収集する機能を有する複数のアプリケーションがインストールされる。
【0102】
これにより、実施形態に係る端末装置100は、データを収集する機能を有する複数のアプリケーションがインストールされ、複数のアプリケーションのうち、第1アプリケーションが共有識別情報を有しない場合、第2アプリケーションに共有識別情報を第1アプリケーションへ提供することを要求することにより、複数のアプリケーションでの識別情報の共有を可能にすることができる。
【0103】
また、実施形態に係る端末装置100は、共通のロガーが搭載された複数のアプリケーションがインストールされる。
【0104】
これにより、実施形態に係る端末装置100は、共通のロガーが搭載された複数のアプリケーションがインストールされ、複数のアプリケーションのうち、第1アプリケーションが共有識別情報を有しない場合、第2アプリケーションに共有識別情報を第1アプリケーションへ提供することを要求することにより、複数のアプリケーションでの識別情報の共有を可能にすることができる。
【0105】
また、実施形態に係る端末装置100は、取得手順(実施形態においては「取得部132」)を含む情報処理プログラムを実行する。取得手順は、要求先となる第2アプリケーションが共有識別情報を有する場合、第2アプリケーションから、共有識別情報を取得する。
【0106】
このように、実施形態に係る端末装置100は、要求先となる第2アプリケーションが共有識別情報を有する場合、第2アプリケーションから、共有識別情報を取得することにより、複数のアプリケーションでの識別情報の共有を可能にすることができる。
【0107】
また、実施形態に係る端末装置100において、取得手順は、複数のアプリケーションの全てが共有識別情報を有しない場合、第2アプリケーションから、共有識別情報を有しないことを示す情報を取得する。
【0108】
このように、実施形態に係る端末装置100は、複数のアプリケーションの全てが共有識別情報を有しない場合、第2アプリケーションから、共有識別情報を有しないことを示す情報を取得することにより、共有識別情報を生成することが必要であることを把握することができる。
【0109】
また、実施形態に係る端末装置100において、要求手順は、複数のアプリケーションの全てが共有識別情報を有しない場合、識別情報を発行する発行サーバ(実施形態においては「発行サーバ装置10」)に、共有識別情報として用いる識別情報の発行を要求する。
【0110】
このように、実施形態に係る端末装置100は、複数のアプリケーションの全てが共有識別情報を有しない場合、識別情報を発行する発行サーバに、共有識別情報として用いる識別情報の発行を要求することにより、複数のアプリケーションでの識別情報の共有を可能にすることができる。
【0111】
また、実施形態に係る端末装置100において、要求手順は、共有識別情報の生成に用いるシードを発行サーバに送信することにより、発行サーバに識別情報の発行を要求する。
【0112】
このように、実施形態に係る端末装置100は、共有識別情報の生成に用いるシードを発行サーバに送信することにより、発行サーバに識別情報の発行を要求することにより、複数のアプリケーションでの識別情報の共有を可能にすることができる。
【0113】
また、実施形態に係る端末装置100において、要求手順は、所定の識別情報が利用可能である場合、所定の識別情報をシードとして発行サーバに送信する。
【0114】
このように、実施形態に係る端末装置100は、所定の識別情報が利用可能である場合、所定の識別情報をシードとして発行サーバに送信することにより、複数のアプリケーションでの識別情報の共有を可能にすることができる。
【0115】
また、実施形態に係る端末装置100において、要求手順は、所定の識別情報が利用不可能である場合、所定の値でパディングされたパディング情報をシードとして発行サーバに送信する。
【0116】
このように、実施形態に係る端末装置100は、所定の識別情報が利用不可能である場合、所定の値でパディングされたパディング情報をシードとして発行サーバに送信することにより、複数のアプリケーションでの識別情報の共有を可能にすることができる。
【0117】
また、実施形態に係る端末装置100は、受信手順(実施形態においては「受信部133」)を含む情報処理プログラムを実行する。受信手順は、発行サーバから、識別情報を受信する。
【0118】
このように、実施形態に係る端末装置100は、発行サーバから、識別情報を受信することにより、その識別情報を共有識別情報として利用することができるため、複数のアプリケーションでの識別情報の共有を可能にすることができる。
【0119】
また、実施形態に係る端末装置100は、受付手順(実施形態においては「受付部134」)を含む情報処理プログラムを実行する。受付手順は、共有識別情報の第2アプリケーションへの提供の要求を、第2アプリケーションから受け付ける。
【0120】
このように、実施形態に係る端末装置100は、共有識別情報の第2アプリケーションへの提供の要求を、第2アプリケーションから受け付けることにより、自身が共有識別情報を有する場合は他のアプリに共有識別情報を提供することができるため、複数のアプリケーションでの識別情報の共有を可能にすることができる。
【0121】
また、実施形態に係る端末装置100は、提供手順(実施形態においては「提供部135」)を含む情報処理プログラムを実行する。提供手順は、受付手順により第2アプリケーションから要求が受け付けられた場合、共有識別情報を第2アプリケーションへ提供する。
【0122】
このように、実施形態に係る端末装置100は、第2アプリケーションから要求が受け付けられた場合、共有識別情報を第2アプリケーションへ提供することにより、複数のアプリケーションでの識別情報の共有を可能にすることができる。
【0123】
また、実施形態に係る端末装置100において、要求手順は、複数のアプリケーションのうち、発行サーバから他の識別情報を受信した第3アプリケーションがあり、かつ他の識別情報が所定の条件を満たす場合、第3アプリケーションに、他の識別情報を共有識別情報として用いるために第1アプリケーションへ提供することを要求する。
【0124】
このように、実施形態に係る端末装置100は、発行サーバから他の識別情報を受信した第3アプリケーションがあり、かつ他の識別情報が所定の条件を満たす場合、第3アプリケーションに、他の識別情報を共有識別情報として用いるために第1アプリケーションへ提供することを要求することにより、1つの識別情報を共有識別情報として用いることができ、複数のアプリケーションでの識別情報の共有を可能にすることができる。
【0125】
また、実施形態に係る端末装置100において、要求手順は、他の識別情報の発行日時が識別情報の発行日時よりも古い場合、第3アプリケーションに、他の識別情報を共有識別情報として用いるために第1アプリケーションへ提供することを要求する。
【0126】
このように、実施形態に係る端末装置100は、他の識別情報の発行日時が識別情報の発行日時よりも古い場合、第3アプリケーションに、他の識別情報を共有識別情報として用いるために第1アプリケーションへ提供することを要求することにより、1つの識別情報を共有識別情報として用いることができ、複数のアプリケーションでの識別情報の共有を可能にすることができる。
【0127】
また、実施形態に係る端末装置100において、要求手順は、他の識別情報の発行日時が識別情報の発行日時よりも新しい場合、第3アプリケーションに、識別情報を共有識別情報として用いることを要求する。
【0128】
このように、実施形態に係る端末装置100は、他の識別情報の発行日時が識別情報の発行日時よりも新しい場合、第3アプリケーションに、識別情報を共有識別情報として用いることを要求することにより、1つの識別情報を共有識別情報として用いることができ、複数のアプリケーションでの識別情報の共有を可能にすることができる。
【0129】
また、実施形態に係る端末装置100は、第1アプリケーションに含まれる情報処理プログラムを実行する。
【0130】
これにより、実施形態に係る端末装置100は、第1アプリケーションに含まれる情報処理プログラムを実行することにより、複数のアプリケーションでの識別情報の共有を可能にすることができる。
【0131】
また、実施形態に係る端末装置100は、第1アプリケーションである情報処理プログラムを実行する。
【0132】
これにより、実施形態に係る端末装置100は、第1アプリケーションである情報処理プログラムを実行することにより、複数のアプリケーションでの識別情報の共有を可能にすることができる。
【0133】
〔5.ハードウェア構成〕
上述してきた実施形態に係る発行サーバ装置10は、例えば
図8に示すような構成のコンピュータ1000によって実現される。
図8は、端末装置100の機能を実現するコンピュータ1000の一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
【0134】
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0135】
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、ネットワークNを介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータをネットワークNを介して他の機器へ送信する。
【0136】
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インターフェイス1600を介して出力装置へ出力する。
【0137】
メディアインターフェイス1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0138】
例えば、コンピュータ1000が実施形態に係る発行サーバ装置10として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部13の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置からネットワークNを介してこれらのプログラムを取得してもよい。
【0139】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0140】
〔6.その他〕
また、上記各実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0141】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0142】
また、上述してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0143】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。
【符号の説明】
【0144】
1 情報処理システム
100 端末装置
11 通信部
12 記憶部
120A、120B アプリ情報記憶部
13 制御部
130A、130B アプリ制御部
131A、131B 要求部
132A、132B 取得部
133A、133B 受信部
134A、134B 受付部
135A、135B 提供部
10 発行サーバ装置
N ネットワーク