Unity Analytics Raw Data Export の使用で、生のイベントデータすべてにアクセスすることができます。これにより、例えば、カスタムクエリの作成やデータの視覚化など、データを望みのままに使用できます。
Unity Analytics に送られるデータ位置すべては Unity のデータストアに保存されます。データは受信、保存されているため、Raw Data Export APIs によって、生のイベントデータをファイルにダウンロードできます。
すべてのリクエストは Unity Project ID (UPID) と API Key を使った HTTP Basic 認証を必要とします。
リクエスト期間 (startDate から endDate まで) は 31 日です。
Google Analytics による追加制限があります。
注意
Raw Data Export はプロジェクトとデータセット (イベントタイプ) 単位で特定されます。リクエストの期間は 31 日間に限られます。これは、今後のリリースで変更される場合があります。
Raw Data Export を作成するには以下の HTTP 関数を使用します。
POST api/v2/projects/{UNITY_PROJECT_ID}/rawdataexports
引数は、Content-Type application/json の記載とともにJSON 形式でリクエスト paload に表示されます。
リクエスト引数 | 必須/オプショナル | タイプ | 説明 |
---|---|---|---|
startDate | continueFrom を指定しない場合は必須 | string | エキスポートの開始日 (この日を含む)。日にちは YYYY-MM-DD 形式 (ISO–8601) で表示。 |
endDate | 必須 | string | エキスポートの終了日 (この日は含まれない)。日にちは YYYY-MM-DD 形式 (ISO 8601) で表示。この日付はクエリを止める日付です。現時点を検索する場合は、endDate に次の日の日付を入力します。 |
format | 必須 | string | 出力データ形式: json (改行区切り) か tsv |
dataset | 必須 | string | 次のイベントタイプのうちの 1 つ: appStart, appRunning, deviceInfo, custom, transaction, userInfo |
continueFrom | オプション | string | 継続的にデータをエキスポートするための Raw Data Export ID。これは、以前のエキスポートをそれが終了した時点から継続するために使用されます。詳しくは Continuing を参照してください。startDate を特定する代わりに、continueFrom で前の Raw Data Export ID を指定することもあります。continueFrom と startDate 両方を指定するのは誤りです。 |
コマンドラインに URL を使ったリクエストのテンプレート
curl --user {UNITY_PROJECT_ID}:{API_KEY} --request POST --header "Content-Type: application/json" --data {REQUEST_JSON}
https://analytics.cloud.unity3d.com/api/v2/projects/{UNITY_PROJECT_ID}/rawdataexports
値の例
UNITY_PROJECT_ID = aa43ae0a-a7a7-4016-ae96-e253bb126aa8
API_KEY = 166291ff148b2878375a8e54aebb1549
REQUEST_JSON = { "startDate": "2016-05-15" , "endDate": "2016-05-16", "format": "tsv", "dataset": "appStart" }
値の例を使った実際のリクエスト
curl --user aa43ae0a-a7a7-4016-ae96-e253bb126aa8:166291ff148b2878375a8e54aebb1549 --request POST --header "Content-Type: application/json" --data '{ "startDate": "2016-05-15" , "endDate": "2016-05-16", "format": "tsv", "dataset": "appStart" }' https://analytics.cloud.unity3d.com/api/v2/projects/aa43ae0a-a7a7-4016-ae96-e253bb126aa8/rawdataexports
応答は、JSON 形式の一般的な Raw Data Export Response Attributes (応答属性) を使用します。
応答属性 | タイプ | 説明 |
---|---|---|
id | string | Raw Data Export ID |
upid | string | Unity Project ID |
createdAt | string | 作成時間 (ISO 8601 形式) |
status | string | エクスポートの現在の状態。可能な値は running, completed, failed。 |
duration | long | データをエクスポートするのにかかった時間 (単位はミリ秒) |
request | json | リクエスト引数 |
result | json | エキスポートしたデータを説明する属性を含みます。result はエキスポートが問題なく終了したあとにのみ取得できます。結果を表す属性は以下をご覧ください。 |
result.size | long | エクスポートデータの合計サイズ (バイト) |
result.eventCount | long | エクスポートしたイベントの合計数 |
result.intraDay | boolean | リクエストが現在の日付を含んでいるとき、その日のすべてのデータが含まれていない場合があります。最後の日付のデータが不完全な場合、この属性は FALSE です。 |
result.fileList | json | エキスポートしたデータを含むファイルのリスト。データが何もないときは、ファイルリストは空です。 |
result.fileList.name | string | ファイル名 |
result.fileList.url | string | ファイルのダウンロード URL。ファイルは gzip 形式に圧縮されます。 |
result.fileList.size | long | ファイルのサイズ (バイト) |
result.fileList.date | string | ファイルはこの特定の日付のイベントを含みます。この日付はイベントの提出時間に基づいています。同じ日に複数のファイルがある場合があります。日付の形式は ISO 8601 です。 |
応答の例
{
"id":"8228d1e9-31b3-4a5e-aabe-55d9c8afa052",
"upid":"beff3f49-b9ed-41a4-91ea-677e9b85e71e",
"createdAt":"2016-05-10T10:10:10.100+0000",
"status":"running",
"duration" : 0,
"request":{
"startDate":"2016-05-01",
"endDate":"2016-05-02",
"format":"json",
"dataset":"appRunning"
}
}
定期的に Raw Data Exports を行うとき、確実に前の Raw Data Exports から継続したい場合は、startDate の代わりに continueFrom 引数を渡す必要があります。以前の Raw Data Export ID は GET API 経由でフェッチ、または、Dashboard 経由でアクセスできます。
Raw Data Export、または、継続中のエクスポート状態を取得するには、以下の HTTP メソッドを使用します。
GET api/v2/projects/{UNITY_PROJECT_ID}/rawdataexports/{raw_data_export_id}
必要な引数はすべて URL パスに含まれています。
リクエストの例
curl --user {UNITY_PROJECT_ID}:${API_KEY} https://analytics.cloud.unity3d.com/api/v2/projects/{UNITY_PROJECT_ID}/rawdataexports/${ID}
応答は、JSON 形式の Raw Data Export です。Create Raw Data Export の応答と同様です。
応答の例
{
"id":"6601f70e-6a0b-48ed-909f-26711af82b49",
"status":"success",
"createdAt":"2016-05-21T04:41:54.000+0000",
"duration":8631714000,
"request":{
"startDate":"2016-02-11T00:00:00.000+0000",
"endDate":"2016-03-11T00:00:00.000+0000",
"format":"tsv",
"dataset":"custom"
},
"result":{
"size":78355,
"eventCount":17473,
"fileList":[
{
"name":"headers.gz",
"url":"https://uca-export.s3.amazonaws.com/staging/devTest/custom/appid%3DUNITY_PROJECT_ID/jid%3D6601f70e-6a0b-48ed-909f-26711af82b49/headers.gz?AWSAccessKeyId=AKIAJUXGNF66F4XPWSWA&Expires=1463872651&Signature=PnzIeeI%2FNxSOlKkLVpLcfK%2FxVpU%3D",
"size":105
},
{
"name":"part-4b0cf376-3478-4bc8-845e-f73aff5c0be4.gz",
"url":"https://uca-export.s3.amazonaws.com/staging/devTest/custom/appid%3DUNITY_PROJECT_ID/jid%3D6601f70e-6a0b-48ed-909f-26711af82b49/part-4b0cf376-3478-4bc8-845e-f73aff5c0be4.gz?AWSAccessKeyId=AKIAJUXGNF66F4XPWSWA&Expires=1463872651&Signature=xZk3%2BzQNTQ6yjK2Mh%2FaH338ABn8%3D",
"size":78250,
"date":"2016-02-13T00:00:00.000+0000"
}
],
"intraDay":false
}
}
指定したプロジェクトのすべての Raw Data Exports のリストを取得するにはこの HTTP メソッドを使用します。
GET api/v2/projects/{UNITY_PROJECT_ID}/rawdataexports
必要な引数はすべて URL パスに含まれています。
リクエストの例
curl --user {UNITY_PROJECT_ID}:${API_KEY} https://analytics.cloud.unity3d.com/api/v2/projects/${UNITY_PROJECT_ID}/rawdataexports/
応答は、JSON 形式の Raw Data Exports のリストです。エキスポートリストの各要素の定義に関しては、Raw Data Export Response Attributes (応答属性) をご覧ください。
応答の例
[
{
"id":"6601f70e-6a0b-48ed-909f-26711af82b49",
"status":"success",
"createdAt":"2016-05-21T04:41:54.000+0000",
"duration":8631714000,
"request":{
"startDate":"2016-02-11T00:00:00.000+0000",
"endDate":"2016-03-11T00:00:00.000+0000",
"format":"tsv",
"dataset":"custom"
},
"result":{
"size":78355,
"eventCount":17473,
"fileList":[
{
"name":"headers.gz",
"url":"https://uca-export.s3.amazonaws.com/staging/devTest/custom/appid%3DUNITY_PROJECT_ID/jid%3D6601f70e-6a0b-48ed-909f-26711af82b49/headers.gz?AWSAccessKeyId=AKIAJUXGNF66F4XPWSWA&Expires=1463872651&Signature=PnzIeeI%2FNxSOlKkLVpLcfK%2FxVpU%3D",
"size":105
},
{
"name":"part-4b0cf376-3478-4bc8-845e-f73aff5c0be4.gz",
"url":"https://uca-export.s3.amazonaws.com/staging/devTest/custom/appid%3DUNITY_PROJECT_ID/jid%3D6601f70e-6a0b-48ed-909f-26711af82b49/part-4b0cf376-3478-4bc8-845e-f73aff5c0be4.gz?AWSAccessKeyId=AKIAJUXGNF66F4XPWSWA&Expires=1463872651&Signature=xZk3%2BzQNTQ6yjK2Mh%2FaH338ABn8%3D",
"size":78250,
"date":"2016-02-13T00:00:00.000+0000"
}
],
"intraDay":false
}
},
{
"id":"6601f70e-6a0b-48ed-909f-26711af82b48",
"status":"success",
"createdAt":"2016-05-21T04:41:54.000+0000",
"duration":8631714000,
"request":{
"startDate":"2016-02-11T00:00:00.000+0000",
"endDate":"2016-03-11T00:00:00.000+0000",
"format":"tsv",
"dataset":"custom"
},
"result":{
"size":78355,
"eventCount":17473,
"fileList":[
{
"name":"headers.gz",
"url":"https://uca-export.s3.amazonaws.com/staging/devTest/custom/appid%3DUNITY_PROJECT_ID/jid%3D6601f70e-6a0b-48ed-909f-26711af82b48/headers.gz?AWSAccessKeyId=AKIAJUXGNF66F4XPWSWA&Expires=1463872651&Signature=PnzIeeI%2FNxSOlKkLVpLcfK%2FxVpU%3D",
"size":105
},
{
"name":"part-4b0cf376-3478-4bc8-845e-f73aff5c0be4.gz",
"url":"https://uca-export.s3.amazonaws.com/staging/devTest/custom/appid%3DUNITY_PROJECT_ID/jid%3D6601f70e-6a0b-48ed-909f-26711af82b48/part-4b0cf376-3478-4bc8-845e-f73aff5c0be4.gz?AWSAccessKeyId=AKIAJUXGNF66F4XPWSWA&Expires=1463872651&Signature=xZk3%2BzQNTQ6yjK2Mh%2FaH338ABn8%3D",
"size":78250,
"date":"2016-02-13T00:00:00.000+0000"
}
],
"intraDay":false
}
}
]
TSV 形式のエキスポートを選択する場合、ヘッダーは headers.gz の別のファイルで提供されます。データファイルはヘッダーを含んでいません。
ヘッダーファイルの例
ts appid type userid sessionid remote_ip platform sdk_ver debug_device user_agent submit_time name custom_params
6 つのデータタイプ (イベントタイプ) はそれぞれ異なります。それらのスキーマの定義は、以下を参照してください。
注意
ts
はイベントがデバイスで発生した timestamp (タイムスタンプ) です。デバイスで作成されたタイムスタンプは、デバイスの時計とイベントを受け取る遅延により、ずれている場合があります。
submit_time
は Unity Analytics がイベントを受け取った timestamp (タイムスタンプ) です。
{
"namespace":"com.unity.analytics.commons.schema",
"name":"AppStartEvent",
"type":"record",
"fields":[
{"name": "ts", "type": "long", "default": 0},
{"name": "appid", "type": "string", "default": ""},
{"name": "type", "type": "string", "default": ""},
{"name": "userid", "type": "string", "default": ""},
{"name": "sessionid", "type": "string", "default": ""},
{"name": "remote_ip", "type": "string", "default": ""},
{"name": "platform", "type": "string", "default": ""},
{"name": "sdk_ver", "type": "string", "default": ""},
{"name": "debug_device", "type": "boolean", "default": false},
{"name": "user_agent", "type": "string", "default": ""},
{"name": "submit_time", "type": "long", "default": 0}
]
}
{
"namespace":"com.unity.analytics.commons.schema",
"name":"AppRunningEvent",
"type":"record",
"fields":[
{"name": "ts", "type": "long", "default": 0},
{"name": "appid", "type": "string", "default": ""},
{"name": "type", "type": "string", "default": ""},
{"name": "userid", "type": "string", "default": ""},
{"name": "sessionid", "type": "string", "default": ""},
{"name": "remote_ip", "type": "string", "default": ""},
{"name": "platform", "type": "string", "default": ""},
{"name": "sdk_ver", "type": "string", "default": ""},
{"name": "debug_device", "type": "boolean", "default": false},
{"name": "user_agent", "type": "string", "default": ""},
{"name": "submit_time", "type": "long", "default": 0},
{"name": "duration", "type": "int", "default": 0}
]
}
{
"namespace":"com.unity.analytics.commons.schema",
"name":"CustomEvent",
"type":"record",
"fields":[
{"name": "ts", "type": "long", "default": 0},
{"name": "appid", "type": "string", "default": ""},
{"name": "type", "type": "string", "default": ""},
{"name": "userid", "type": "string", "default": ""},
{"name": "sessionid", "type": "string", "default": ""},
{"name": "remote_ip", "type": "string", "default": ""},
{"name": "platform", "type": "string", "default": ""},
{"name": "sdk_ver", "type": "string", "default": ""},
{"name": "debug_device", "type": "boolean", "default": false},
{"name": "user_agent", "type": "string", "default": ""},
{"name": "submit_time", "type": "long", "default": 0},
{"name": "name", "type": "string", "default": ""},
{
"name":"custom_params",
"type":["null",{
"type":"map",
"values": ["string","null"],
"default": ""
}],
"default": null
}
]
}
{
"namespace":"com.unity.analytics.commons.schema",
"name":"DeviceInfoEvent",
"type":"record",
"fields":[
{"name": "ts", "type": "long", "default": 0},
{"name": "appid", "type": "string", "default": ""},
{"name": "type", "type": "string", "default": ""},
{"name": "userid", "type": "string", "default": ""},
{"name": "sessionid", "type": "string", "default": ""},
{"name": "remote_ip", "type": "string", "default": ""},
{"name": "platform", "type": "string", "default": ""},
{"name": "sdk_ver", "type": "string", "default": ""},
{"name": "debug_device", "type": "boolean", "default": false},
{"name": "user_agent", "type": "string", "default": ""},
{"name": "submit_time", "type": "long", "default": 0},
{"name": "debug_build", "type": "boolean", "default": false},
{"name": "rooted_jailbroken", "type": "boolean", "default": false},
{"name": "processor_type", "type": "string", "default": ""},
{"name": "system_memory_size", "type": "string", "default": ""},
{"name": "make", "type": "string", "default": ""},
{"name": "app_ver", "type": "string", "default": ""},
{"name": "deviceid", "type": "string", "default": ""},
{"name": "license_type", "type": "string", "default": ""},
{"name": "app_install_mode", "type": "string", "default": ""},
{"name": "model", "type": "string", "default": ""},
{"name": "engine_ver", "type": "string", "default": ""},
{"name": "os_ver", "type": "string", "default": ""},
{"name": "app_name", "type": "string", "default": ""},
{"name": "timezone", "type": "string", "default": ""},
{"name": "ads_tracking", "type": "boolean", "default": false},
{"name": "adsid", "type": "string", "default": ""}
]
}
{
"namespace":"com.unity.analytics.commons.schema",
"name":"TransactionEvent",
"type":"record",
"fields":[
{"name": "ts", "type": "long", "default": 0},
{"name": "appid", "type": "string", "default": ""},
{"name": "type", "type": "string", "default": ""},
{"name": "userid", "type": "string", "default": ""},
{"name": "sessionid", "type": "string", "default": ""},
{"name": "remote_ip", "type": "string", "default": ""},
{"name": "platform", "type": "string", "default": ""},
{"name": "sdk_ver", "type": "string", "default": ""},
{"name": "debug_device", "type": "boolean", "default": false},
{"name": "user_agent", "type": "string", "default": ""},
{"name": "submit_time", "type": "long", "default": 0}, {
"name":"receipt",
"type":["null",{
"type":"record",
"name": "receiptRecord",
"fields":[
{"name": "data", "type": "string", "default": ""},
{"name": "signature", "type": "string", "default": ""}
]
}],
"default": null
},
{"name": "currency", "type": "string", "default": "USD"},
{"name": "amount", "type": "float", "default": 0},
{"name": "transactionid", "type": "long", "default": 0},
{"name": "productid", "type": "string", "default": ""}
]
}
{
"namespace":"com.unity.analytics.commons.schema",
"name":"UserInfoEvent",
"type":"record",
"fields":[
{"name": "ts", "type": "long", "default": 0},
{"name": "appid", "type": "string", "default": ""},
{"name": "type", "type": "string", "default": ""},
{"name": "userid", "type": "string", "default": ""},
{"name": "sessionid", "type": "string", "default": ""},
{"name": "remote_ip", "type": "string", "default": ""},
{"name": "platform", "type": "string", "default": ""},
{"name": "sdk_ver", "type": "string", "default": ""},
{"name": "debug_device", "type": "boolean", "default": false},
{"name": "user_agent", "type": "string", "default": ""},
{"name": "submit_time", "type": "long", "default": 0},
{"name": "sex", "type": "string", "default": ""},
{"name": "custom_userid", "type": "string", "default": ""},
{"name": "birth_year", "type": "int", "default": 0}
]
}