Skip to content

Instantly share code, notes, and snippets.

@seanwu1105
Last active September 18, 2020 05:53
Show Gist options
  • Save seanwu1105/ab92af7c3c68d0958a4883af198da5e3 to your computer and use it in GitHub Desktop.
Save seanwu1105/ab92af7c3c68d0958a4883af198da5e3 to your computer and use it in GitHub Desktop.
Starling Schema for CAI Assertion Spec
{
"$schema": "http://json-schema.org/draft-07/schema",
"type": "object",
"description": "Assertion provided by Starling Capture.",
"examples": [
{
"device_board": "sdm845",
"device_brand": "htc",
"current_address": "No. 77, Jinshan North Road, Zhongzheng District, Taipei City, Taiwan 100",
"current_gps_latitude": "25.045234",
"current_gps_longitude": "121.530795",
"device_fingerprint": "htc/exodugl_00709/htc_exodugl:9/PQ2A.190205.003/1109191.2:user/release-keys",
"device_build_id": "PQ2A.190205.003 release-keys",
"device_build_tags": "release-keys",
"device_build_time": "4/12/20 9:33 PM",
"device_build_type": "user",
"device_name": "htc_exodugl",
"end_product_name": "EXODUS 1",
"hardware": "htc_exo",
"android_id_hash": "8b46aab82c3867c7bda32682b1534178d7fce95dce749aa20ccc7d83708ddb7a",
"last_known_address": "No. 77, Jinshan North Road, Zhongzheng District, Taipei City, Taiwan 100",
"last_known_gps_latitude": "25.045234",
"last_known_gps_longitude": "121.530795",
"manufacturer": "HTC",
"overall_product_name": "exodugl_00709"
}
],
"required": [
"current_gps_latitude",
"current_gps_longitude",
"last_known_gps_latitude",
"last_known_gps_longitude",
"android_id_hash"
],
"properties": {
"device_board": {
"title": "Board",
"description": "The name of the underlying board, like 'goldfish'.",
"type": "string"
},
"device_brand": {
"title": "Brand",
"description": "The consumer-visible brand with which the product/hardware will be associated, if any.",
"type": "string"
},
"device_fingerprint": {
"title": "Device Build Fingerprint",
"description": "A string that uniquely identifies this build. Do not attempt to parse this value.",
"type": "string"
},
"device_build_id": {
"title": "Device Build ID",
"description": "Either a changelist number, or a label like 'M4-rc20'.",
"type": "string"
},
"device_build_tags": {
"title": "Device Build Tags",
"description": "Comma-separated tags describing the build, like 'unsigned,debug'.",
"type": "string"
},
"device_build_time": {
"title": "Device Build Time",
"description": "The time at which the build was produced, given in milliseconds since the UNIX epoch.",
"type": "integer"
},
"device_build_type": {
"title": "Device Build Type",
"description": "The type of build, like 'user' or 'eng'.",
"type": "string",
"enum": [
"user",
"eng"
]
},
"device_name": {
"title": "Device Name",
"description": "The name of the industrial design.",
"type": "string"
},
"end_product_name": {
"title": "End Product Name",
"description": "A build ID string meant for displaying to the user.",
"type": "string"
},
"hardware": {
"title": "Hardware",
"description": "The name of the hardware (from the kernel command line or /proc).",
"type": "string"
},
"android_id_hash": {
"title": "Hash of Android ID",
"description": "On Android 8.0 (API level 26) and higher versions of the platform, the hash of a 64-bit number (expressed as a hexadecimal string), unique to each combination of app-signing key, user, and device.",
"type": "string"
},
"manufacturer": {
"title": "Manufacturer",
"description": "The manufacturer of the product/hardware.",
"type": "string"
},
"overall_product_name": {
"title": "Overall Product Name",
"description": "The name of the overall product.",
"type": "string"
},
"last_known_gps_accuracy": {
"title": "Last Known GPS Accuracy",
"description": "The last known estimated horizontal accuracy of this location, radial, in meters.",
"type": "number"
},
"last_known_gps_latitude": {
"title": "Last Known GPS Latitude",
"description": "The last known latitude of device in degrees.",
"type": "number"
},
"last_known_gps_longitude": {
"title": "Last Known GPS Longitude",
"description": "The last known longitude of device in degrees.",
"type": "number"
},
"last_known_gps_altitude": {
"title": "Last Known GPS Altitude",
"description": "The last known altitude of device in meters above the WGS 84 reference ellipsoid.",
"type": "number"
},
"last_known_gps_bearing": {
"title": "Last Known GPS Bearing",
"description": "The last known bearing of device in degrees.",
"type": "number"
},
"last_known_gps_speed": {
"title": "Last Known GPS Speed",
"description": "The last known speed of device in meters/second over ground.",
"type": "number"
},
"last_known_gps_address": {
"title": "Last Known GPS Address",
"description": "The last known geodecoded address from the device.",
"type": "string"
},
"current_gps_accuracy": {
"title": "Current GPS Accuracy",
"description": "The current estimated horizontal accuracy of this location, radial, in meters.",
"type": "number"
},
"current__gps_latitude": {
"title": "Current GPS Latitude",
"description": "The current latitude of device in degrees collected on the asset generated.",
"type": "number"
},
"current_gps_longitude": {
"title": "Current GPS Longitude",
"description": "The current longitude of device in degrees collected on the asset generated.",
"type": "number"
},
"current_gps_altitude": {
"title": "Current GPS Altitude",
"description": "The current altitude of device in meters above the WGS 84 reference ellipsoid collected on the asset generated.",
"type": "number"
},
"current_gps_bearing": {
"title": "Current GPS Bearing",
"description": "The current bearing of device in degrees collected on the asset generated.",
"type": "number"
},
"current_gps_speed": {
"title": "Current GPS Speed",
"description": "The current speed of device in meters/second over ground collected on the asset generated.",
"type": "number"
},
"current_gps_address": {
"title": "Current GPS Address",
"description": "The current geodecoded address from the device collected on the asset generated.",
"type": "string"
},
"accelerometer": {
"title": "Accelerometer",
"description": "An acceleration sensor measures the acceleration applied to the device, including the force of gravity.",
"type": "array"
},
"gravity": {
"title": "Gravity",
"description": "The gravity sensor provides a three dimensional vector indicating the direction and magnitude of gravity.",
"type": "array"
},
"gyroscope": {
"title": "Gyroscope",
"description": "The gyroscope measures the rate of rotation in rad/s around a device's x, y, and z axis.",
"type": "array"
},
"light": {
"title": "Light",
"description": "Environmental light level.",
"type": "array"
},
"linear_accelerometer": {
"title": "Linear Accelerometer",
"description": "The linear acceleration sensor provides you with a three-dimensional vector representing acceleration along each device axis, excluding gravity.",
"type": "array"
},
"game_rotation_vector": {
"title": "Game Rotation Vector",
"description": "The game rotation vector sensor is identical to the Rotation vector sensor, except it does not use the geomagnetic field.",
"type": "array"
},
"geomagnetic_rotation_vector": {
"title": "Geomagnetic Rotation Vector",
"description": "The geomagnetic rotation vector sensor is similar to the Rotation vector sensor, but it uses a magnetometer instead of a gyroscope.",
"type": "array"
},
"magnetic_field": {
"title": "Magnetic Field",
"description": "The geomagnetic field sensor lets you monitor changes in the earth's magnetic field.",
"type": "array"
},
"rotation_vector": {
"title": "Rotation Vector",
"description": "The rotation vector represents the orientation of the device as a combination of an angle and an axis, in which the device has rotated through an angle θ around an axis (x, y, or z).",
"type": "array"
}
},
"additionalProperties": true
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment