</thead>
<tbody>
- <tr>
- <td>app</td>
- <td>Game UUID</td>
- <td>uuid</td>
- <td>uuid</td>
- <td>uuid</td>
- <td>-</td>
- <td>App.uuid</td>
- <td>780688a9-95ee-429a-8755-69a8d0c88fe0</td>
- <td></td>
- </tr>
<tr>
<td>app</td>
<td>Game title</td>
<tr>
<td>app</td>
<td>Package name</td>
- <td>package</td>
+ <td>packageName</td>
<td>package</td>
<td></td>
<td>apk.package</td>
<tr>
<td>app</td>
<td>Game website</td>
- <td>website</td>
+ <td>website (optional)</td>
<td></td>
<td>website</td>
<td>-</td>
<tr>
<td>rating</td>
<td>Number of likes?</td>
- <td>rating.likeCount</td>
+ <td>rating.likeCount (optional)</td>
<td></td>
<td>likeCount</td>
<td>-</td>
<tr>
<td>rating</td>
<td>Average rating</td>
- <td>rating.average</td>
+ <td>rating.average (optional)</td>
<td>rating.average</td>
<td>ratingAverage</td>
<td>rating.average</td>
<tr>
<td>rating</td>
<td>Number of ratings</td>
- <td>rating.count</td>
+ <td>rating.count (optional)</td>
<td>rating.count</td>
<td>ratingCount</td>
<td>rating.count</td>
<td>promotedProduct.description</td>
<td>promotedProduct.description</td>
<td>Product.description</td>
- <td>Remove the 9 satellites limitation. Infinite satellites!</td>
+ <td>
+ Remove the 9 satellites limitation. Infinite satellites!<br/>
+ null (759x)
+ </td>
<td></td>
</tr>
<tr>
<td>apk</td>
<td>UUID of latest apk version</td>
<td>releases.*.uuid</td>
- <td>latestVersion.uuid</td>
- <td>latestVersion</td>
+ <td>
+ uuid<br/>
+ latestVersion.uuid
+ </td>
+ <td>
+ uuid<br/>
+ latestVersion
+ </td>
<td>version.uuid</td>
- <td>-</td>
+ <td>App.uuid</td>
<td>780688a9-95ee-429a-8755-69a8d0c88fe0</td>
- <td></td>
+ <td>The OUYA API does not have app UUIDs, only release/apk uuids. </td>
</tr>
<tr>
<td>apk</td>
<td>Internal version</td>
- <td>-</td>
+ <td>releases.*.versionCode</td>
<td>-</td>
<td>-</td>
<td>apk.versionCode</td>
<td>Apk.versionCode</td>
- <td>null, 120401, 11, 1001004</td>
+ <td>null (1162x), 120401, 11, 1001004</td>
<td>Run "aapt dump badging file.apk", field "versionCode"</td>
</tr>
<tr>
<td>apk</td>
<td>FIXME</td>
- <td>releases.*.publicSize</td>
+ <td>releases.*.publicSize (optional)</td>
<td></td>
<td>publicSize</td>
<td>apk.publicSize</td>
<tr>
<td>apk</td>
<td>FIXME</td>
- <td>releases.*.nativeSize</td>
+ <td>releases.*.nativeSize (optional)</td>
<td></td>
<td>nativeSize</td>
<td>apk.nativeSize</td>
<td>md5sum</td>
<td>apk.md5sum</td>
<td>Apk.md5sum</td>
- <td>a5b0f82d54df5f551a64295e43771a10</td>
+ <td>a5b0f82d54df5f551a64295e43771a10, null (432x)</td>
<td></td>
</tr>
<tr>
</td>
<td>
Also in download.json<br/>
- Details field: only a file name, no path/domain
+ Details field: only a file name, no path/domain. Always set.
</td>
</tr>
<tr>
<tr>
<td>media</td>
<td>Video</td>
- <td>media.video</td>
+ <td>media.video (optional)</td>
<td></td>
<td>videoUrl</td>
- <td>mediaTiles.*.url (when mediaTiles.*.type=video)</td>
+ <td></td>
<td>Media</td>
<td>https://vimeo.com/141878938</td>
<td></td>
<tr>
<td>media</td>
<td>Game screenshots</td>
- <td>media.screenshots</td>
+ <td>media.screenshots (optional)</td>
<td></td>
<td>filepickerScreenshots</td>
- <td>mediaTiles.*.urls.full, mediaTiles.*.urls.thumb, mediaTiles.*.fp_url (when mediaTiles.*.type=image)</td>
+ <td>-</td>
<td>Media</td>
<td>[urls]</td>
<td></td>
</tr>
+ <tr>
+ <td>media</td>
+ <td>Detail video</td>
+ <td>media.details.*.url</td>
+ <td></td>
+ <td></td>
+ <td>mediaTiles.*.url (type=video)</td>
+ <td>?</td>
+ <td>
+ <pre>[
+ {
+ "type": "video",
+ "url": "https://vimeo.com/141878938"
+ }
+]</pre>
+ </td>
+ <td rowspan="4">
+ Allows free ordering of images and videos on the details page.<br/>
+ "fp" is probably "FilePicker".<br/>
+ fp_url is not used in OUYA's launcher.
+ The launcher loads the thumbnail at first, immediately after the full image.
+ If no mediaTile is available, the app's mainImageFullUrl
+ is used. When offline, the apk image is used.<br/>
+ <br/>
+ Game data information:
+ If details is not given or an emtpy array,
+ "mediaTile" array should automatically be created by combining
+ "media.large", "media.video" and "media.screenshots" into the
+ mediaTiles format.
+ </td>
+ </tr>
+ <tr>
+ <td>media</td>
+ <td>Detail image thumbnail</td>
+ <td>media.details.*.thumb</td>
+ <td></td>
+ <td></td>
+ <td>mediaTiles.*.urls.thumb (type=image)</td>
+ <td>?</td>
+ <td>
+ Thumbnails were all size 852x479
+ <pre>[
+ {
+ "type: "image",
+ "urls": [
+ "full": "http://...",
+ "thumb": "http://...",
+ ],
+ "fp_url": "http://...."
+ },
+]</pre>
+ </td>
+ </tr>
+ <tr>
+ <td>media</td>
+ <td>Detail image full resolution</td>
+ <td>media.details.*.url</td>
+ <td></td>
+ <td></td>
+ <td>mediaTiles.*.urls.full (type=image)</td>
+ <td>?</td>
+ <td>
+ Many detail images had a resolution of 1280x720.
+ <pre>[
+ {
+ "type: "image",
+ "urls": [
+ "full": "http://...",
+ "thumb": "http://...",
+ ],
+ "fp_url": "http://...."
+ }
+]</pre>
+ </td>
+ </tr>
+ <tr>
+ <td>media</td>
+ <td>Detail image file picker URL</td>
+ <td>-</td>
+ <td></td>
+ <td></td>
+ <td>mediaTiles.*.fp_url</td>
+ <td>?</td>
+ <td>
+ <pre>[
+ {
+ "type: "image",
+ "urls": [
+ "full": "http://...",
+ "thumb": "http://...",
+ ],
+ "fp_url": "http://...."
+ }
+]</pre>
+ </td>
+ </tr>
<tr>
<td>media</td>
<td>FIXME</td>
<tr>
<td>developer</td>
<td>Developer support mail</td>
- <td>developer.supportEmail</td>
+ <td>developer.supportEmail (optional)</td>
<td></td>
<td>supportEmailAddress</td>
<td>-</td>
<tr>
<td>developer</td>
<td>Support phone number</td>
- <td>developer.supportPhone</td>
+ <td>developer.supportPhone (optional)</td>
<td></td>
<td>supportPhone</td>
<td>-</td>
<tr>
<td>developer</td>
<td>Developer is a founder</td>
- <td>developer.founder</td>
+ <td>developer.founder (optional)</td>
<td></td>
<td>founder</td>
<td>developer.founder</td>
<tr>
<td>developer</td>
<td>Developer UUID</td>
- <td>-</td>
+ <td>developer.uuid (optional)</td>
<td>-</td>
<td>-</td>
<td>developer.url (part of)</td>