El Unity Analytics Raw Data Export le da a usted un acceso completo a datos de eventos de sin procesar. Esto le permite a usted utilizar los datos en cualquier manera que usted escoja; por ejemplo, construir consultas o visualizaciones de datos personalizada.
Cada punto de dato enviado a Unity Analytics se almacena en la tienda de datos de Unity. Las Raw Data Export APIs le permiten a usted descargar sus datos de eventos sin procesar en archivos a medida que los datos se reciben y se almacenan.
Cada consulta requiere una autenticación básica HTTP utilizando su Unity Project ID (UPID) y API Key.
El periodo de solicitud (startDate a endDate) se limita a 31 días.
Google Analytics trae unos limites adicionales.
Notas:
Un Raw Data Export es especifico a un proyecto y específico a un conjunto de datos solo (tipo de evento). El periodo de solicitud se limita a 31 días. Esto se puede revisar en lanzamientos futuras.
Utilice el método HTTP siguiente para crear Raw Data Export:
POST api/v2/projects/{UNITY_PROJECT_ID}/rawdataexports
Los argumentos se proporciona en la payload de la solicitud, y están en formato JSON con el Content-Type application/json.
Argumento de Solicitud | Requerido u opcional | Tipo | Descripción |
---|---|---|---|
startDate | Requerido al menos de que continueFrom se especifique | cadena | La fecha inicial (inclusivo) de la exportación. La fecha está expresa en el formato YYYY-MM-DD (ISO–8601). |
endDate | requerido | cadena | La fecha final (exclusiva) de la exportación. La fecha está expresada en el formato YYYY-MM-DD (ISO 8601). Esta es la fecha en la cual se cierra la consulta. Cuando busque por el día actual, utilice la fecha del día siguiente. |
format | requerido | cadena | El formato output de los datos: json (newline-delimited json) o tsv |
dataset | requerido | cadena | Uno de los siguientes tipos de eventos: appStart, appRunning, deviceInfo, custom, transaction, o userInfo |
continueFrom | opcional | cadena | El Raw Data Export ID para continuar exportando datos. Este es utilizado para continuar una exportación previa del punto en el que termino. Mirar Continuing para más información. En vez de especificar una startDate, un Raw Data Export ID se puede especificar en continueFrom. Es un error especificar ambos continueFrom y startDate. |
Plantilla para una solicitud utilizando cURL en la linea de comandos:
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
Valores ejemplo:
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" }
Una solicitud actual utilizando los valores ejemplo:
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
La respuesta utiliza los Raw Data Export Response Attributes en formato JSON.
Response Attribute | Tipo | Descripción |
---|---|---|
id | cadena | El Raw Data Export ID. |
upid | cadena | El Unity Project ID. |
createdAt | cadena | El tiempo creado en formato ISO 8601. |
status | cadena | El estado actual del reporte. Los valores posibles son: running (ejecutando), completed (completado), or failed (fallo). |
duration | long | El tiempo que tomo para exportar los datos (en mili-segundos). |
request | json | Los argumentos de solicitud. |
result | json | El resultado contiene atributos que detallan los datos exportados. El resultado solamente está disponible después de que la exportación haya completado exitosamente. Mirar abajo para los atributos de resultado. |
result.size | long | El tamaño total de los datos exportados (en bytes). |
result.eventCount | long | El número total de eventos exportados. |
result.intraDay | boolean | Cuando la solicitud incluye el día actual, esta no podrá contener todos los datos para el día. Este atributo es FALSE si los datos no están completos para el último día. |
result.fileList | json | La lista de archivos que contienen datos exportados. La lista de archivos es vacía cuando no hay datos. |
result.fileList.name | cadena | El nombre del archivo. |
result.fileList.url | cadena | El URL de descarga para el archivo. Los archivos son comprimidos en formato gzip. |
result.fileList.size | long | El tamaño del archivo en bytes. |
result.fileList.date | cadena | El archivo contiene eventos para esta fecha específica. Esta fecha se basa en el tiempo de envío del evento. Puede haber varios archivos para la misma fecha. La fecha está en formato ISO 8601. |
Un ejemplo de una respuesta:
{
"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"
}
}
Cuando usted esté ejecutando Raw Data Exports periódicamente, usted debe proporcionar el argumento continueFrom en vez del startDate para asegurarse que continúa del previo Raw Data Export. Los Raw Data Export IDs se pueden recuperar vía las APIs GET o se acceden vía la Dashboard (tabla de comandos).
Utilice el siguiente método HTTP para obtener un Raw Data Especifico o la situación en curso de exportación:
GET api/v2/projects/{UNITY_PROJECT_ID}/rawdataexports/{raw_data_export_id}
Todos los argumentos requeridos son parte de la ruta del URL.
Un ejemplo de una solicitud:
curl --user {UNITY_PROJECT_ID}:${API_KEY} https://analytics.cloud.unity3d.com/api/v2/projects/{UNITY_PROJECT_ID}/rawdataexports/${ID}
La respuesta es el Raw Data Export en formato JSON. Es el mismo que la respuesta en Create Raw Data Export.
Un ejemplo de una respuesta:
{
"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
}
}
Utilice este método HTTP para obtener la lista de todos los Raw Data Exports de un proyecto específico:
GET api/v2/projects/{UNITY_PROJECT_ID}/rawdataexports
Todos los argumentos requeridos son parte de la ruta del URL.
Un ejemplo de una solicitud:
curl --user {UNITY_PROJECT_ID}:${API_KEY} https://analytics.cloud.unity3d.com/api/v2/projects/${UNITY_PROJECT_ID}/rawdataexports/
La respuesta es una lista de Raw Data Exports en formato JSON. Mirar la Raw Data Export Response Attributes para la definición de cada elemento de la lista exportado.
Un ejemplo de una respuesta:
[
{
"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
}
}
]
Si usted escoge exportar en formato TSV, los encabezados son proporcionados en un archivo separado en headers.gz. Los archivos de datos no incluyen encabezado.
Un archivo de encabezado ejemplo:
ts appid type userid sessionid remote_ip platform sdk_ver debug_device user_agent submit_time name custom_params
Cada uno de los seis tipo de datos (tipos de evento) difieren. Mirar abajo para las definiciones de sus esquemas.
Recomendaciones:
ts
es el timestamp (marca del tiempo) en el que el evento fue generado en el dispositivo. Tenga en cuenta que los timestamps generados por el dispositivo pueden estar sesgados al reloj del dispositivo y latencia al recibir el evento.
submit_time
es el timestamp (marca de tiempo) en el cual el evento fue recibido por Unity Analytics.
{
"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}
]
}