{
"$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "http://example.com/ouya-game.schema.json",
+ "$id": "http://cweiske.de/ouya-game.schema.json",
"title": "OUYA game metadata",
"description": "Game data importable in OUYA API servers.",
"type": "object",
"additionalProperties": false,
"properties": {
"packageName": {
- "description": "Java package name (\"com.vendor.gamename\")",
- "type": "string"
+ "description": "Java package names",
+ "type": "string",
+ "examples": [
+ "com.vendor.gamename"
+ ]
},
"title": {
"Sim/Strategy",
"Sports",
"Utility",
- "Video"
+ "Video",
+
+ "Open Source"
]
}
},
"properties": {
"name": {
- "description": "Human readable version number ('1.6')",
- "type": "string"
+ "description": "Human readable version number",
+ "type": "string",
+ "examples": [
+ "1.6"
+ ]
},
"versionCode": {
"description": "APK-internal version code. Run \"aapt dump badging file.apk\", field \"versionCode\"",
- "type": "string"
+ "type": ["string", "null"]
},
"uuid": {
"date": {
"description": "When the version has been released",
"type": "string",
- "format": "date"
+ "format": "date|datetime"
},
"latest": {
"media": {
"type": "object",
- "FIXME": ""
+ "required": [
+ "discover",
+ "large"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "discover": {
+ "description": "Image for the OUYA discover store. FIXME: Size",
+ "type": "string",
+ "format": "url"
+ },
+
+ "large": {
+ "description": "Large game cover image for the store details page.",
+ "type": "string",
+ "format": "url"
+ },
+
+ "video": {
+ "description": "Video for the store details page. Vimeo and Youtube URLs supported",
+ "type": "string",
+ "format": "url"
+ },
+
+ "screenshots": {
+ "description": "Additional images for the store details page.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "url"
+ }
+ },
+
+ "details": {
+ "description": "Images and videos for the details page. Can be in any order. If no detail images and videos are given, the large image, video and screenshots are used instead",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "required": [
+ "type",
+ "url"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "type": {
+ "description": "Medium type: image or video",
+ "type": "string",
+ "enum": ["image", "video"]
+ },
+
+ "url": {
+ "description": "Image URL or video URL. Vimeo and Youtube URLs supported",
+ "type": "string",
+ "format": "url"
+ },
+
+ "thumb": {
+ "description": "Small preview image",
+ "type": "string",
+ "format": "url"
+ }
+ }
+ }
+ }
+ }
},
"developer": {
"founder": {
"description": "If the developer was an OUYA founder",
- "type": "boolean"
+ "type": "boolean",
+ "default": false
}
}
},
},
"average": {
- "description": "Average rating for this game (0-5)",
+ "description": "Average rating for this game",
"type": "number",
- "minimum": 0
+ "minimum": 0,
+ "maximum": 5
},
"count": {
},
"products": {
+ "description": "Items that could be bought via the discover store",
"type": "array",
"items": {
- "FIXME": ""
+ "type": "object",
+ "required": [
+ "identifier",
+ "name",
+ "description",
+ "localPrice",
+ "originalPrice",
+ "currency"
+ ],
+ "additionalProperties": false,
+ "properties": {
+
+ "promoted": {
+ "description": "If this product is the currently promoted/visible one",
+ "type": "boolean"
+ },
+
+ "identifier": {
+ "description": "Internal key",
+ "type": "string",
+ "examples": [
+ "full_version"
+ ]
+ },
+
+ "name": {
+ "description": "Human readable name",
+ "type": "string",
+ "examples": [
+ "Unlock full game"
+ ]
+ },
+
+ "description": {
+ "description": "Explanation of the features you will buy",
+ "type": "string"
+ },
+
+ "localPrice": {
+ "description": "Current price (maybe discounted)",
+ "type": "number"
+ },
+
+ "originalPrice": {
+ "description": "Previous price",
+ "type": "number"
+ },
+
+ "currency": {
+ "description": "Three-letter currency code, depending on the player that was logged in",
+ "type": "string",
+ "enum": ["EUR", "USD"]
+ }
+ }
}
}
}