add apk.versionCode and developer.uuid to game metadata
[ouya-game-data.git] / game-metadata.html
index edfa9291331f25deeb653919403bbd59c13238a5..100ccaef41f2c0d74d6e9e5fd53d5a663a103cd4 100644 (file)
@@ -8,6 +8,7 @@
    thead th {
      position: sticky;
      top: 0px;
+     background-color: lightgrey;
    }
   </style>
  </head>
@@ -19,7 +20,8 @@
      <th>Datum</th>
      <th>Game data field</th>
      <th><a href="http://cweiske.de/ouya-store-api-docs.htm#get-https-devs-ouya-tv-api-v1-discover">Discover field</a></th>
-     <th><a href="http://cweiske.de/ouya-store-api-docs.htm#get-https-devs-ouya-tv-api-v1-apps-xxx">App details field</a></th>
+     <th><a href="http://cweiske.de/ouya-store-api-docs.htm#get-https-devs-ouya-tv-api-v1-apps-xxx">App field</a></th>
+     <th><a href="http://cweiske.de/ouya-store-api-docs.htm#get-https-devs-ouya-tv-api-v1-details">Details field</a></th>
      <th><a href="https://gitlab.com/devirich/BrewyaOnOuya/blob/master/store/models.py">BrewyaOnOuya field</a></th>
      <th>Example</th>
      <th>Description</th>
@@ -33,6 +35,7 @@
      <td>uuid</td>
      <td>uuid</td>
      <td>uuid</td>
+     <td>-</td>
      <td>App.uuid</td>
      <td>780688a9-95ee-429a-8755-69a8d0c88fe0</td>
      <td></td>
@@ -43,6 +46,7 @@
      <td>title</td>
      <td>title</td>
      <td>title</td>
+     <td>title</td>
      <td>App.title</td>
      <td>Bloo Kid 2</td>
      <td></td>
@@ -53,6 +57,7 @@
      <td>overview (optional)</td>
      <td></td>
      <td>overview</td>
+     <td>-</td>
      <td>App.overview</td>
      <td>Released in October 2015 by winterworks GmbH.</td>
      <td></td>
@@ -63,6 +68,7 @@
      <td>description</td>
      <td></td>
      <td>description</td>
+     <td>description</td>
      <td>App.description</td>
      <td>Bloo Kid 2 is a classic 2D retro-style platformer experience with lovely designed pixel-graphics and a full chiptune soundtrack. Run, jump and swim your way through FIVE huge worlds with TWELVE levels each. Master brutal bossfights and discover lots of secrets in the world of Bloo Kid 2.\r\n\r\nBloo Kid 2 features:\r\n- five worlds with twelve levels each\r\n- handcrafted, colorful pixel-graphics\r\n- a full chiptune soundtrack\r\n- epic boss battles\r\n- tons of secrets\r\n- achievements</td>
      <td></td>
@@ -73,6 +79,7 @@
      <td>players</td>
      <td>gamerNumbers</td>
      <td>gamerNumbers</td>
+     <td>gamerNumbers</td>
      <td>App.playerNumbers</td>
      <td>[1]</td>
      <td>Any combination of 1-4</td>
@@ -83,6 +90,7 @@
      <td>genres</td>
      <td>genres</td>
      <td>genres</td>
+     <td>genres</td>
      <td>App.genres</td>
      <td>[Platformer, Retro]</td>
      <td>
      <td>package</td>
      <td>package</td>
      <td></td>
+     <td>apk.package</td>
      <td>App.packageName</td>
      <td>evil.corptron.DuckGame</td>
      <td>Run "aapt dump badging file.apk", field "package: name"</td>
      <td>url</td>
      <td></td>
      <td>-</td>
+     <td>-</td>
      <td>ouya://launcher/details?app=evil.corptron.DuckGame</td>
      <td></td>
     </tr>
      <td>website</td>
      <td></td>
      <td>website</td>
+     <td>-</td>
      <td>App.website</td>
      <td>http://www.winterworks.de</td>
      <td></td>
      <td>contentRating (optional)</td>
      <td>contentRating</td>
      <td>contentRating</td>
+     <td>suggestedAge</td>
      <td>App.contentRating</td>
      <td>Everyone</td>
      <td>
      <td>premium (optional)</td>
      <td>premium</td>
      <td>premium</td>
+     <td>premium</td>
      <td>App.premium</td>
      <td>false</td>
      <td></td>
      <td>firstPublishedAt (optional)</td>
      <td></td>
      <td>firstPublishedAt</td>
+     <td>firstPublishedAt (unix timestamp)</td>
      <td>App.firstPublishedAt</td>
      <td>2015-10-09T07:53:25Z</td>
      <td></td>
      <td>inAppPurchases (optional)</td>
      <td>inAppPurchases</td>
      <td></td>
+     <td>inAppPurchases</td>
      <td>-</td>
      <td>true</td>
      <td></td>
      <td>-</td>
      <td>type</td>
      <td></td>
+     <td>type</td>
      <td>-</td>
      <td>app</td>
-     <td>"app", "discover" or "details_page" (for bundles)</td>
+     <td>
+      discover: "app", "discover" or "details_page" (for bundles)<br/>
+      details: "Game", FIXME
+     </td>
     </tr>
     <tr>
      <td>app</td>
      <td>-</td>
      <td>updated_at</td>
      <td></td>
+     <td>-</td>
      <td>AppVersion.releaseTime</td>
      <td>1417731390</td>
      <td></td>
      <td>releases.*.date (when "latest")</td>
      <td>updatedAt</td>
      <td></td>
+     <td>-</td>
      <td>AppVersion.releaseTime</td>
      <td>2014-12-04T22:16:30Z</td>
      <td></td>
     </tr>
 
+    <tr>
+     <td>?</td>
+     <td>Metadata about the file</td>
+     <td>-</td>
+     <td>-</td>
+     <td></td>
+     <td>metaData</td>
+     <td>-</td>
+     <td>["key:rating.average", "key:developer.name", "key:suggestedAge", "45.29 MiB"]</td>
+     <td>Always those 4 values and in the same order (at least for apps)</td>
+    </tr>
+
     <tr>
      <td>rating</td>
      <td>Number of likes?</td>
      <td>rating.likeCount</td>
      <td></td>
      <td>likeCount</td>
+     <td>-</td>
      <td>Rating.likeCount</td>
      <td>0</td>
      <td></td>
      <td>rating.average</td>
      <td>rating.average</td>
      <td>ratingAverage</td>
+     <td>rating.average</td>
      <td>Rating.rating</td>
      <td>4.1</td>
      <td></td>
      <td>rating.count</td>
      <td>rating.count</td>
      <td>ratingCount</td>
+     <td>rating.count</td>
      <td>Rating.reviewCount</td>
      <td>355</td>
      <td></td>
      <td>products.* (when "promoted=true")</td>
      <td>promotedProduct</td>
      <td>promotedProduct</td>
+     <td>promotedProduct</td>
      <td>App.promotedProduct</td>
      <td>null</td>
      <td>May be "null" if none, otherwise object</td>
      <td>products.*.identifier</td>
      <td>promotedProduct.identifier</td>
      <td>promotedProduct.identifier</td>
+     <td>promotedProduct.identifier</td>
      <td>Product.identifier</td>
      <td>unlock_rockets</td>
      <td></td>
      <td>products.*.name</td>
      <td>promotedProduct.name</td>
      <td>promotedProduct.name</td>
+     <td>promotedProduct.name</td>
      <td>Product.name</td>
      <td>Unlock Full Game</td>
      <td></td>
      <td>products.*.currency</td>
      <td>promotedProduct.currency</td>
      <td>promotedProduct.currency</td>
+     <td>promotedProduct.currency</td>
      <td>-</td>
      <td>EUR</td>
      <td></td>
      <td>products.*.description</td>
      <td>promotedProduct.description</td>
      <td>promotedProduct.description</td>
+     <td>promotedProduct.description</td>
      <td>Product.description</td>
      <td>Remove the 9 satellites limitation. Infinite satellites!</td>
      <td></td>
      <td>-</td>
      <td>promotedProduct.percentOff</td>
      <td>promotedProduct.percentOff</td>
+     <td>promotedProduct.percentOff</td>
      <td>-</td>
      <td>0</td>
      <td></td>
      <td>products.*.localPrice</td>
      <td>promotedProduct.localPrice</td>
      <td>promotedProduct.localPrice</td>
+     <td>promotedProduct.localPrice</td>
      <td>-</td>
      <td>1.99</td>
      <td></td>
      <td>products.*.originalPrice</td>
      <td>promotedProduct.originalPrice</td>
      <td>promotedProduct.originalPrice</td>
+     <td>promotedProduct.originalPrice</td>
      <td>Product.originalPrice</td>
      <td>1.99</td>
      <td></td>
     </tr>
+    <tr>
+     <td>product</td>
+     <td>FIXME</td>
+     <td>?</td>
+     <td>?</td>
+     <td>?</td>
+     <td>promotedProduct.type</td>
+     <td>?</td>
+     <td>"entitlement" (502x), null (758x)</td>
+     <td></td>
+    </tr>
 
     <tr>
      <td>apk</td>
      <td>releases.*.name</td>
      <td>latestVersion.versionNumber</td>
      <td>versionNumber</td>
+     <td>version.number</td>
      <td>Apk.versionName</td>
      <td>1.6</td>
      <td>Run "aapt dump badging file.apk", field "versionName"</td>
      <td>releases.*.uuid</td>
      <td>latestVersion.uuid</td>
      <td>latestVersion</td>
+     <td>version.uuid</td>
      <td>-</td>
      <td>780688a9-95ee-429a-8755-69a8d0c88fe0</td>
      <td></td>
     </tr>
+    <tr>
+     <td>apk</td>
+     <td>Internal version</td>
+     <td>releases.*.versionCode</td>
+     <td>-</td>
+     <td>-</td>
+     <td>apk.versionCode</td>
+     <td>Apk.versionCode</td>
+     <td>null, 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></td>
      <td>publicSize</td>
+     <td>apk.publicSize</td>
      <td>Apk.publicSize</td>
      <td>27275</td>
      <td></td>
      <td>releases.*.nativeSize</td>
      <td></td>
      <td>nativeSize</td>
+     <td>apk.nativeSize</td>
      <td>Apk.nativeSize</td>
      <td>20292</td>
      <td></td>
      <td>releases.*.md5sum</td>
      <td>latestVersion.apk.md5sum</td>
      <td>md5sum</td>
+     <td>apk.md5sum</td>
      <td>Apk.md5sum</td>
      <td>a5b0f82d54df5f551a64295e43771a10</td>
      <td></td>
      <td>releases.*.size</td>
      <td></td>
      <td>apkFileSize</td>
+     <td>apk.fileSize</td>
      <td>Apk.size</td>
      <td>25507828</td>
      <td></td>
      <td>releases.*.date</td>
      <td></td>
      <td>publishedAt</td>
+     <td>version.publishedAt (unix timestamp)</td>
      <td>AppVersion.releaseTime</td>
      <td>2015-10-23T09:58:19Z</td>
      <td></td>
      <td>releases.*.url</td>
      <td></td>
      <td></td>
+     <td>apk.filename</td>
      <td>Apk.location</td>
-     <td>https://devs-ouya-tv-prod.s3.amazonaws.com/apps/5a3fbb4d-852b-4af4-becc-324dce6a3b42/de.eiswuxe.blookid2/780688a9-95ee-429a-8755-69a8d0c88fe0/lFzMjcZyQauvWX5k8HvH_blookid2.apk</td>
-     <td>Also in download.json</td>
+     <td>
+      url: https://devs-ouya-tv-prod.s3.amazonaws.com/apps/5a3fbb4d-852b-4af4-becc-324dce6a3b42/de.eiswuxe.blookid2/780688a9-95ee-429a-8755-69a8d0c88fe0/lFzMjcZyQauvWX5k8HvH_blookid2.apk<br/>
+      details: 1zbYKRSS1elKIYI9eseH_BombSquad-ouya-release.apk
+     </td>
+     <td>
+      Also in download.json<br/>
+      Details field: only a file name, no path/domain
+     </td>
+    </tr>
+    <tr>
+     <td>apk</td>
+     <td>state</td>
+     <td>-</td>
+     <td>?</td>
+     <td>?</td>
+     <td>apk.state</td>
+     <td>?</td>
+     <td>
+      "complete"
+     </td>
+     <td></td>
     </tr>
 
     <tr>
      <td>media.discover</td>
      <td>image</td>
      <td></td>
+     <td>tileImage</td>
      <td>Media</td>
      <td>https://www.filepicker.io/api/file/05y2T8cKTY6cUfX7RYFR</td>
      <td></td>
      <td>media.large</td>
      <td></td>
      <td>mainImageFullUrl</td>
+     <td>-</td>
      <td>App.titleImage</td>
      <td>https://d3e4aumcqn8cw3.cloudfront.net/api/file/MASaiOBlTEO7GKYXsIns</td>
      <td></td>
     </tr>
+    <tr>
+     <td>media</td>
+     <td>FIXME</td>
+     <td>-</td>
+     <td>-</td>
+     <td>-</td>
+     <td>heroImage.url</td>
+     <td>?</td>
+     <td>
+      https://s3.amazonaws.com/ouya-screenshots/3d819f4e-2195-433c-81ea-c766a6f3144f/ouya-image20170118-3-i56ad1<br/>
+      null
+     </td>
+     <td>
+      Most games, had "null" here, only 14 had one set.
+      When this was set, mobileAppIcon was also set.
+     </td>
+    </tr>
     <tr>
      <td>media</td>
      <td>Video</td>
      <td>media.video</td>
      <td></td>
      <td>videoUrl</td>
+     <td>mediaTiles.*.url (when mediaTiles.*.type=video)</td>
      <td>Media</td>
      <td>https://vimeo.com/141878938</td>
      <td></td>
      <td>media.screenshots</td>
      <td></td>
      <td>filepickerScreenshots</td>
+     <td>mediaTiles.*.urls.full, mediaTiles.*.urls.thumb, mediaTiles.*.fp_url (when mediaTiles.*.type=image)</td>
      <td>Media</td>
      <td>[urls]</td>
      <td></td>
      <td>-</td>
      <td></td>
      <td>mobileAppIcon</td>
+     <td>mobileAppIcon</td>
      <td>App.iconImage</td>
-     <td>null</td>
-     <td></td>
+     <td>
+      null<br/>
+      https://s3.amazonaws.com/ouya-screenshots/3ae8fc67-f7f5-4f97-a48c-8ea2d31460fd/ouya-image20170911-3-v6tjz1
+     </td>
+     <td>
+      1246x null, rest had its own URL.
+      Set when heroImage was filled.
+     </td>
     </tr>
 
     <tr>
      <td>developer.name</td>
      <td></td>
      <td>developer</td>
+     <td>developer.name</td>
      <td>Developer.name</td>
      <td>winterworks GmbH</td>
      <td></td>
      <td>developer.supportEmail</td>
      <td></td>
      <td>supportEmailAddress</td>
+     <td>-</td>
      <td>Developer.supportEmail</td>
      <td>null</td>
      <td></td>
      <td>developer.supportPhone</td>
      <td></td>
      <td>supportPhone</td>
+     <td>-</td>
      <td>Developer.supportPhone</td>
      <td>null</td>
      <td></td>
      <td>developer.founder</td>
      <td></td>
      <td>founder</td>
+     <td>developer.founder</td>
      <td>Developer.founder</td>
      <td>false</td>
      <td></td>
     </tr>
+    <tr>
+     <td>developer</td>
+     <td>Developer UUID</td>
+     <td>developer.uuid</td>
+     <td>-</td>
+     <td>-</td>
+     <td>developer.url (part of)</td>
+     <td>Developer.uuid</td>
+     <td>ouya://launcher/details?developer=5b015434-8a78-4274-aa5d-0cb2e330e50e</td>
+     <td></td>
+    </tr>
 
    </tbody>
   </table>