{
    "ReservedKeywords":[
        "xwhat",
        "xwhen",
        "xwho",
        "appid",
        "xcontext",
        "$lib",
        "$lib_version",
        "$platform",
        "$is_login",
        "$debug",
        "$idfv",
        "$idfa",
        "$session_id",
        "$first_visit_time"
    ],
    "appid":{
        "valueType":0,
        "value":"ANSDataFunc.getAppId",
        "required":true,
        "checkFuncList":[
            "ANSDataCheck.checkAppKey:"
        ]
    },
    "xwho":{
        "valueType":0,
        "value":"ANSDataFunc.getId",
        "required":true,
        "checkFuncList":[
            "ANSDataCheck.checkXwho:"
        ]
    },
    "xwhen":{
        "valueType":0,
        "value":"ANSDataFunc.currentTimeInteval",
        "required":true
    },
    "xwhat":{
        "valueType":2,
        "value":"",
        "required":true
        
    },
    "track":{
        "valueType":2,
        "value":"",
        "checkFuncList":[
            "ANSDataCheck.checkTypeOfPropertyKey:",
            "ANSDataCheck.checkLengthOfXwhat:",
            "ANSDataCheck.checkCharsOfXwho:",
            "ANSDataCheck.checkReservedKey:"
        ]
    },
    "identify": {
        "checkFuncList":[
            "ANSDataCheck.checkLengthOfIdentify:"
        ]
    },
    "alias": {
        "checkFuncList":[
            "ANSDataCheck.checkLengthOfAliasId:"
        ]
    },
    "aliasOriginalId": {
        "checkFuncList":[
            "ANSDataCheck.checkAliasOriginalId:"
        ]
    },
    "xcontext":{
        "contextKey":{
            "checkFuncList":[
                "ANSDataCheck.checkReservedKey:",
                "ANSDataCheck.checkLengthOfPropertyKey:",
                "ANSDataCheck.checkCharsOfXwho:"
            ]
        },
        "contextValue":{
            "checkFuncList":[
                "ANSDataCheck.checkTypeOfPropertyValueWithKey:value:",
                "ANSDataCheck.checkPropertyValueWithKey:value:"
            ]
        },
        "profile_increment":{
            "checkFuncList":[
                "ANSDataCheck.checkTypeOfIncrementPropertyValueWithKey:value:"
            ]   
        },
        "profile_append":{
            "checkFuncList":[
                "ANSDataCheck.checkTypeOfAppendPropertyValueWithKey:value:"
            ]
        },
        "$time_zone":{
            "valueType":0,
            "value":"ANSDeviceInfo.getTimeZone",
            "required":true
        },
        "$app_version":{
            "valueType":0,
            "value":"ANSDeviceInfo.getAppVersion",
            "required":true
        },
        "$model":{
            "valueType":0,
            "value":"ANSDeviceInfo.getDeviceModel",
            "required":true
        },
        "$os_version":{
            "valueType":0,
            "value":"ANSDeviceInfo.getOSVersion",
            "required":true
        },
        "$carrier_name":{
            "valueType":0,
            "value":"ANSDeviceInfo.getCarrierName",
            "required":true
        },
        "$screen_width":{
            "valueType":0,
            "value":"ANSDeviceInfo.getScreenWidth",
            "required":true
        },
        "$screen_height":{
            "valueType":0,
            "value":"ANSDeviceInfo.getScreenHeight",
            "required":true
        },
        "$language":{
            "valueType":0,
            "value":"ANSDeviceInfo.getDeviceLanguage",
            "required":true
        },
        "$idfv":{
            "valueType":0,
            "value":"ANSDeviceInfo.getIdfv",
            "required":true
        },
        "$idfa":{
            "valueType":0,
            "value":"ANSDeviceInfo.getIDFA",
            "required":false
        },
        "$lib":{
            "valueType":1,
            "value":"iOS",
            "required":true
        },
        "$lib_version":{
            "valueType":0,
            "value":"ANSDataFunc.getLibVersion",
            "required":true
        },
        "$platform":{
            "valueType":1,
            "value":"iOS",
            "required":true
        },
        "$debug":{
            "valueType":0,
            "value":"ANSDataFunc.getDebugMode",
            "required":true
        },
        "$is_login":{
            "valueType":0,
            "value":"ANSDataFunc.isLogin",
            "required":true
        },
        "$is_first_time":{
            "valueType":0,
            "value":"ANSDataFunc.isFirstTimeStart",
            "required":true
        },
        "$is_from_background":{
            "valueType":0,
            "value":"ANSDataFunc.isBackgroundStart",
            "required":true
        },
        "$channel":{
            "valueType":0,
            "value":"ANSDataFunc.getChannel",
            "required":true
        },
        "$manufacturer":{
            "valueType":1,
            "value":"Apple",
            "required":true
        },
        "$os":{
            "valueType":1,
            "value":"iOS",
            "required":true
        },
        "$network":{
            "valueType":0,
            "value":"ANSDataFunc.getNetwork",
            "required":true
        },
        "$brand":{
            "valueType":1,
            "value":"Apple",
            "required":true
        },
        "$is_first_day":{
            "valueType":0,
            "value":"ANSDataFunc.isFirstDayStart",
            "required":true
        },
        "$session_id":{
            "valueType":0,
            "value":"ANSDataFunc.getSessionId",
            "required":true
        },
        "$duration":{
            "valueType":0,
            "value":"ANSDataFunc.getAppDuration",
            "required":true
        },
        "$is_time_calibrated":{
            "valueType":0,
            "value":"ANSDataFunc.isTimeCalibration",
            "required":true
        },
        "$start_source":{
            "valueType":0,
            "value":"ANSAppStartSource.getStartSource",
            "required":true
        },
        "$device_id":{
            "valueType":0,
            "value":"ANSDataFunc.getDeviceId",
            "required":true
        }
    }
}
