{
    "additionalProperties": false,
    "description": "Schema for mobile contexts",
    "properties": {
        "androidIdfa": {
            "type": [
                "string",
                "null"
            ]
        },
        "appAvailableMemory": {
            "description": "Amount of memory in bytes available to the current app (iOS only)",
            "maximum": 9223372036854776000,
            "minimum": 0,
            "type": [
                "integer",
                "null"
            ]
        },
        "appleIdfa": {
            "type": [
                "string",
                "null"
            ]
        },
        "appleIdfv": {
            "type": [
                "string",
                "null"
            ]
        },
        "availableStorage": {
            "description": "Bytes of storage remaining",
            "maximum": 9223372036854776000,
            "minimum": 0,
            "type": [
                "integer",
                "null"
            ]
        },
        "batteryLevel": {
            "description": "Remaining battery level as an integer percentage of total battery capacity",
            "maximum": 100,
            "minimum": 0,
            "type": [
                "integer",
                "null"
            ]
        },
        "batteryState": {
            "description": "Battery state for the device",
            "enum": [
                "unplugged",
                "charging",
                "full",
                null
            ],
            "maxLength": 255,
            "type": [
                "string",
                "null"
            ]
        },
        "carrier": {
            "type": [
                "string",
                "null"
            ]
        },
        "deviceManufacturer": {
            "type": "string"
        },
        "deviceModel": {
            "type": "string"
        },
        "lowPowerMode": {
            "description": "A Boolean indicating whether Low Power Mode is enabled (iOS only)",
            "type": [
                "boolean",
                "null"
            ]
        },
        "networkTechnology": {
            "type": [
                "string",
                "null"
            ]
        },
        "networkType": {
            "enum": [
                "mobile",
                "wifi",
                "offline",
                null
            ],
            "type": [
                "string",
                "null"
            ]
        },
        "openIdfa": {
            "type": [
                "string",
                "null"
            ]
        },
        "osType": {
            "type": "string"
        },
        "osVersion": {
            "type": "string"
        },
        "physicalMemory": {
            "description": "Total physical system memory in bytes",
            "maximum": 9223372036854776000,
            "minimum": 0,
            "type": [
                "integer",
                "null"
            ]
        },
        "systemAvailableMemory": {
            "description": "Available memory on the system in bytes (Android only)",
            "maximum": 9223372036854776000,
            "minimum": 0,
            "type": [
                "integer",
                "null"
            ]
        },
        "totalStorage": {
            "description": "Total size of storage in bytes",
            "maximum": 9223372036854776000,
            "minimum": 0,
            "type": [
                "integer",
                "null"
            ]
        }
    },
    "required": [
        "osType",
        "osVersion",
        "deviceManufacturer",
        "deviceModel"
    ],
    "self": {
        "format": "jsonschema",
        "name": "mobile_context",
        "vendor": "com.snowplowanalytics.snowplow",
        "version": "1-0-2"
    },
    "type": "object"
}