Add game: blockinger
[ouya-game-data.git] / game-metadata.html
index 62201b60340a21c8019c68dec764f8e2a44b7716..28003d4e9af23c72a56f77caac0dcfc8302216da 100644 (file)
@@ -4,19 +4,24 @@
  <head>
   <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8"/>
   <title>OUYA game meta data</title>
  <head>
   <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8"/>
   <title>OUYA game meta data</title>
+  <style type="text/css">
+   thead th {
+     position: sticky;
+     top: 0px;
+     background-color: lightgrey;
+   }
+  </style>
  </head>
  <body>
  </head>
  <body>
-  <p>
-   Also see
-   <a href="https://gitlab.com/devirich/BrewyaOnOuya/blob/master/store/models.py">BrewyaOnOuya:store/models.py</a>.
-  </p>
   <table border="1">
    <thead>
     <tr>
      <th>Group</th>
      <th>Datum</th>
   <table border="1">
    <thead>
     <tr>
      <th>Group</th>
      <th>Datum</th>
-     <th>Discover</th>
-     <th>App details</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="https://gitlab.com/devirich/BrewyaOnOuya/blob/master/store/models.py">BrewyaOnOuya field</a></th>
      <th>Example</th>
      <th>Description</th>
     </tr>
      <th>Example</th>
      <th>Description</th>
     </tr>
@@ -28,6 +33,8 @@
      <td>Game UUID</td>
      <td>uuid</td>
      <td>uuid</td>
      <td>Game UUID</td>
      <td>uuid</td>
      <td>uuid</td>
+     <td>uuid</td>
+     <td>App.uuid</td>
      <td>780688a9-95ee-429a-8755-69a8d0c88fe0</td>
      <td></td>
     </tr>
      <td>780688a9-95ee-429a-8755-69a8d0c88fe0</td>
      <td></td>
     </tr>
      <td>Game title</td>
      <td>title</td>
      <td>title</td>
      <td>Game title</td>
      <td>title</td>
      <td>title</td>
+     <td>title</td>
+     <td>App.title</td>
      <td>Bloo Kid 2</td>
      <td></td>
     </tr>
     <tr>
      <td>app</td>
      <td>Overview text</td>
      <td>Bloo Kid 2</td>
      <td></td>
     </tr>
     <tr>
      <td>app</td>
      <td>Overview text</td>
+     <td>overview (optional)</td>
      <td></td>
      <td>overview</td>
      <td></td>
      <td>overview</td>
+     <td>App.overview</td>
      <td>Released in October 2015 by winterworks GmbH.</td>
      <td></td>
     </tr>
     <tr>
      <td>app</td>
      <td>Description</td>
      <td>Released in October 2015 by winterworks GmbH.</td>
      <td></td>
     </tr>
     <tr>
      <td>app</td>
      <td>Description</td>
+     <td>description</td>
      <td></td>
      <td>description</td>
      <td></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>
     </tr>
     <tr>
      <td>app</td>
      <td>Number of players</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>
     </tr>
     <tr>
      <td>app</td>
      <td>Number of players</td>
+     <td>players</td>
      <td>gamerNumbers</td>
      <td>gamerNumbers</td>
      <td>gamerNumbers</td>
      <td>gamerNumbers</td>
+     <td>App.playerNumbers</td>
      <td>[1]</td>
      <td>Any combination of 1-4</td>
     </tr>
      <td>[1]</td>
      <td>Any combination of 1-4</td>
     </tr>
@@ -68,6 +83,8 @@
      <td>Genre list</td>
      <td>genres</td>
      <td>genres</td>
      <td>Genre list</td>
      <td>genres</td>
      <td>genres</td>
+     <td>genres</td>
+     <td>App.genres</td>
      <td>[Platformer, Retro]</td>
      <td>
       original genre list:
      <td>[Platformer, Retro]</td>
      <td>
       original genre list:
      <td>app</td>
      <td>Package name</td>
      <td>package</td>
      <td>app</td>
      <td>Package name</td>
      <td>package</td>
+     <td>package</td>
      <td></td>
      <td></td>
+     <td>App.packageName</td>
      <td>evil.corptron.DuckGame</td>
      <td>evil.corptron.DuckGame</td>
-     <td></td>
+     <td>Run "aapt dump badging file.apk", field "package: name"</td>
     </tr>
     <tr>
      <td>app</td>
      <td>Details URL</td>
     </tr>
     <tr>
      <td>app</td>
      <td>Details URL</td>
+     <td>-</td>
      <td>url</td>
      <td></td>
      <td>url</td>
      <td></td>
+     <td>-</td>
      <td>ouya://launcher/details?app=evil.corptron.DuckGame</td>
      <td></td>
     </tr>
     <tr>
      <td>app</td>
      <td>Game website</td>
      <td>ouya://launcher/details?app=evil.corptron.DuckGame</td>
      <td></td>
     </tr>
     <tr>
      <td>app</td>
      <td>Game website</td>
+     <td>website</td>
      <td></td>
      <td>website</td>
      <td></td>
      <td>website</td>
+     <td>App.website</td>
      <td>http://www.winterworks.de</td>
      <td></td>
     </tr>
     <tr>
      <td>app</td>
      <td>Content rating</td>
      <td>http://www.winterworks.de</td>
      <td></td>
     </tr>
     <tr>
      <td>app</td>
      <td>Content rating</td>
+     <td>contentRating (optional)</td>
      <td>contentRating</td>
      <td>contentRating</td>
      <td>contentRating</td>
      <td>contentRating</td>
+     <td>App.contentRating</td>
      <td>Everyone</td>
      <td>
       <ul>
      <td>Everyone</td>
      <td>
       <ul>
     <tr>
      <td>app</td>
      <td>FIXME</td>
     <tr>
      <td>app</td>
      <td>FIXME</td>
+     <td>premium (optional)</td>
      <td>premium</td>
      <td>premium</td>
      <td>premium</td>
      <td>premium</td>
+     <td>App.premium</td>
      <td>false</td>
      <td></td>
     </tr>
     <tr>
      <td>app</td>
      <td>When the game was published</td>
      <td>false</td>
      <td></td>
     </tr>
     <tr>
      <td>app</td>
      <td>When the game was published</td>
+     <td>firstPublishedAt (optional)</td>
      <td></td>
      <td>firstPublishedAt</td>
      <td></td>
      <td>firstPublishedAt</td>
+     <td>App.firstPublishedAt</td>
      <td>2015-10-09T07:53:25Z</td>
      <td></td>
     </tr>
     <tr>
      <td>app</td>
      <td>Are there in-app purchases?</td>
      <td>2015-10-09T07:53:25Z</td>
      <td></td>
     </tr>
     <tr>
      <td>app</td>
      <td>Are there in-app purchases?</td>
+     <td>inAppPurchases (optional)</td>
      <td>inAppPurchases</td>
      <td></td>
      <td>inAppPurchases</td>
      <td></td>
+     <td>-</td>
      <td>true</td>
      <td></td>
     </tr>
     <tr>
      <td>app</td>
      <td>FIXME</td>
      <td>true</td>
      <td></td>
     </tr>
     <tr>
      <td>app</td>
      <td>FIXME</td>
+     <td>-</td>
      <td>type</td>
      <td></td>
      <td>type</td>
      <td></td>
+     <td>-</td>
      <td>app</td>
      <td>"app", "discover" or "details_page" (for bundles)</td>
     </tr>
     <tr>
      <td>app</td>
      <td>Last update (unix timestamp)</td>
      <td>app</td>
      <td>"app", "discover" or "details_page" (for bundles)</td>
     </tr>
     <tr>
      <td>app</td>
      <td>Last update (unix timestamp)</td>
+     <td>-</td>
      <td>updated_at</td>
      <td></td>
      <td>updated_at</td>
      <td></td>
+     <td>AppVersion.releaseTime</td>
      <td>1417731390</td>
      <td></td>
     </tr>
     <tr>
      <td>app</td>
      <td>Last update</td>
      <td>1417731390</td>
      <td></td>
     </tr>
     <tr>
      <td>app</td>
      <td>Last update</td>
+     <td>releases.*.date (when "latest")</td>
      <td>updatedAt</td>
      <td></td>
      <td>updatedAt</td>
      <td></td>
+     <td>AppVersion.releaseTime</td>
      <td>2014-12-04T22:16:30Z</td>
      <td></td>
     </tr>
      <td>2014-12-04T22:16:30Z</td>
      <td></td>
     </tr>
     <tr>
      <td>rating</td>
      <td>Number of likes?</td>
     <tr>
      <td>rating</td>
      <td>Number of likes?</td>
+     <td>rating.likeCount</td>
      <td></td>
      <td>likeCount</td>
      <td></td>
      <td>likeCount</td>
+     <td>Rating.likeCount</td>
      <td>0</td>
      <td></td>
     </tr>
      <td>0</td>
      <td></td>
     </tr>
      <td>rating</td>
      <td>Average rating</td>
      <td>rating.average</td>
      <td>rating</td>
      <td>Average rating</td>
      <td>rating.average</td>
+     <td>rating.average</td>
      <td>ratingAverage</td>
      <td>ratingAverage</td>
+     <td>Rating.rating</td>
      <td>4.1</td>
      <td></td>
     </tr>
      <td>4.1</td>
      <td></td>
     </tr>
      <td>rating</td>
      <td>Number of ratings</td>
      <td>rating.count</td>
      <td>rating</td>
      <td>Number of ratings</td>
      <td>rating.count</td>
+     <td>rating.count</td>
      <td>ratingCount</td>
      <td>ratingCount</td>
+     <td>Rating.reviewCount</td>
      <td>355</td>
      <td></td>
     </tr>
      <td>355</td>
      <td></td>
     </tr>
     <tr>
      <td>product</td>
      <td>Promotion data</td>
     <tr>
      <td>product</td>
      <td>Promotion data</td>
+     <td>products.* (when "promoted=true")</td>
      <td>promotedProduct</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>
     </tr>
     <tr>
      <td>product</td>
      <td>Product key</td>
      <td>null</td>
      <td>May be "null" if none, otherwise object</td>
     </tr>
     <tr>
      <td>product</td>
      <td>Product key</td>
+     <td>products.*.identifier</td>
      <td>promotedProduct.identifier</td>
      <td>promotedProduct.identifier</td>
      <td>promotedProduct.identifier</td>
      <td>promotedProduct.identifier</td>
+     <td>Product.identifier</td>
      <td>unlock_rockets</td>
      <td></td>
     </tr>
     <tr>
      <td>product</td>
      <td>Product name</td>
      <td>unlock_rockets</td>
      <td></td>
     </tr>
     <tr>
      <td>product</td>
      <td>Product name</td>
+     <td>products.*.name</td>
      <td>promotedProduct.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>
     </tr>
     <tr>
      <td>product</td>
      <td>Product currency</td>
      <td>Unlock Full Game</td>
      <td></td>
     </tr>
     <tr>
      <td>product</td>
      <td>Product currency</td>
+     <td>products.*.currency</td>
      <td>promotedProduct.currency</td>
      <td>promotedProduct.currency</td>
      <td>promotedProduct.currency</td>
      <td>promotedProduct.currency</td>
+     <td>-</td>
      <td>EUR</td>
      <td></td>
     </tr>
     <tr>
      <td>product</td>
      <td>Product description</td>
      <td>EUR</td>
      <td></td>
     </tr>
     <tr>
      <td>product</td>
      <td>Product description</td>
+     <td>products.*.description</td>
      <td>promotedProduct.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>
     </tr>
     <tr>
      <td>product</td>
      <td>Saving</td>
      <td>Remove the 9 satellites limitation. Infinite satellites!</td>
      <td></td>
     </tr>
     <tr>
      <td>product</td>
      <td>Saving</td>
+     <td>-</td>
      <td>promotedProduct.percentOff</td>
      <td>promotedProduct.percentOff</td>
      <td>promotedProduct.percentOff</td>
      <td>promotedProduct.percentOff</td>
+     <td>-</td>
      <td>0</td>
      <td></td>
     </tr>
     <tr>
      <td>product</td>
      <td>Current price</td>
      <td>0</td>
      <td></td>
     </tr>
     <tr>
      <td>product</td>
      <td>Current price</td>
+     <td>products.*.localPrice</td>
      <td>promotedProduct.localPrice</td>
      <td>promotedProduct.localPrice</td>
      <td>promotedProduct.localPrice</td>
      <td>promotedProduct.localPrice</td>
+     <td>-</td>
      <td>1.99</td>
      <td></td>
     </tr>
     <tr>
      <td>product</td>
      <td>Previous price</td>
      <td>1.99</td>
      <td></td>
     </tr>
     <tr>
      <td>product</td>
      <td>Previous price</td>
+     <td>products.*.originalPrice</td>
      <td>promotedProduct.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>apk</td>
      <td>1.99</td>
      <td></td>
     </tr>
 
     <tr>
      <td>apk</td>
-     <td>versionNumber</td>
+     <td>Human readable version</td>
+     <td>releases.*.name</td>
      <td>latestVersion.versionNumber</td>
      <td>versionNumber</td>
      <td>latestVersion.versionNumber</td>
      <td>versionNumber</td>
+     <td>Apk.versionName</td>
      <td>1.6</td>
      <td>1.6</td>
-     <td></td>
+     <td>Run "aapt dump badging file.apk", field "versionName"</td>
     </tr>
     <tr>
      <td>apk</td>
      <td>UUID of latest apk version</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>latestVersion.uuid</td>
      <td>latestVersion</td>
+     <td>-</td>
      <td>780688a9-95ee-429a-8755-69a8d0c88fe0</td>
      <td></td>
     </tr>
     <tr>
      <td>apk</td>
      <td>FIXME</td>
      <td>780688a9-95ee-429a-8755-69a8d0c88fe0</td>
      <td></td>
     </tr>
     <tr>
      <td>apk</td>
      <td>FIXME</td>
+     <td>releases.*.publicSize</td>
      <td></td>
      <td>publicSize</td>
      <td></td>
      <td>publicSize</td>
+     <td>Apk.publicSize</td>
      <td>27275</td>
      <td></td>
     </tr>
     <tr>
      <td>apk</td>
      <td>FIXME</td>
      <td>27275</td>
      <td></td>
     </tr>
     <tr>
      <td>apk</td>
      <td>FIXME</td>
+     <td>releases.*.nativeSize</td>
      <td></td>
      <td>nativeSize</td>
      <td></td>
      <td>nativeSize</td>
+     <td>Apk.nativeSize</td>
      <td>20292</td>
      <td></td>
     </tr>
     <tr>
      <td>apk</td>
      <td>MD5 file hash</td>
      <td>20292</td>
      <td></td>
     </tr>
     <tr>
      <td>apk</td>
      <td>MD5 file hash</td>
+     <td>releases.*.md5sum</td>
      <td>latestVersion.apk.md5sum</td>
      <td>md5sum</td>
      <td>latestVersion.apk.md5sum</td>
      <td>md5sum</td>
+     <td>Apk.md5sum</td>
      <td>a5b0f82d54df5f551a64295e43771a10</td>
      <td></td>
     </tr>
     <tr>
      <td>apk</td>
      <td>APK file size</td>
      <td>a5b0f82d54df5f551a64295e43771a10</td>
      <td></td>
     </tr>
     <tr>
      <td>apk</td>
      <td>APK file size</td>
+     <td>releases.*.size</td>
      <td></td>
      <td>apkFileSize</td>
      <td></td>
      <td>apkFileSize</td>
+     <td>Apk.size</td>
      <td>25507828</td>
      <td></td>
     </tr>
     <tr>
      <td>apk</td>
      <td>APK publish date</td>
      <td>25507828</td>
      <td></td>
     </tr>
     <tr>
      <td>apk</td>
      <td>APK publish date</td>
+     <td>releases.*.date</td>
      <td></td>
      <td>publishedAt</td>
      <td></td>
      <td>publishedAt</td>
+     <td>AppVersion.releaseTime</td>
      <td>2015-10-23T09:58:19Z</td>
      <td></td>
     </tr>
     <tr>
      <td>apk</td>
      <td>downloadLink</td>
      <td>2015-10-23T09:58:19Z</td>
      <td></td>
     </tr>
     <tr>
      <td>apk</td>
      <td>downloadLink</td>
+     <td>releases.*.url</td>
      <td></td>
      <td></td>
      <td></td>
      <td></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>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></td>
+     <td>Also in download.json</td>
     </tr>
 
     <tr>
      <td>media</td>
      <td>Discover image</td>
     </tr>
 
     <tr>
      <td>media</td>
      <td>Discover image</td>
+     <td>media.discover</td>
      <td>image</td>
      <td></td>
      <td>image</td>
      <td></td>
+     <td>Media</td>
      <td>https://www.filepicker.io/api/file/05y2T8cKTY6cUfX7RYFR</td>
      <td></td>
     </tr>
     <tr>
      <td>media</td>
      <td>Large image</td>
      <td>https://www.filepicker.io/api/file/05y2T8cKTY6cUfX7RYFR</td>
      <td></td>
     </tr>
     <tr>
      <td>media</td>
      <td>Large image</td>
+     <td>media.large</td>
      <td></td>
      <td>mainImageFullUrl</td>
      <td></td>
      <td>mainImageFullUrl</td>
+     <td>App.titleImage</td>
      <td>https://d3e4aumcqn8cw3.cloudfront.net/api/file/MASaiOBlTEO7GKYXsIns</td>
      <td></td>
     </tr>
     <tr>
      <td>media</td>
      <td>Video</td>
      <td>https://d3e4aumcqn8cw3.cloudfront.net/api/file/MASaiOBlTEO7GKYXsIns</td>
      <td></td>
     </tr>
     <tr>
      <td>media</td>
      <td>Video</td>
+     <td>media.video</td>
      <td></td>
      <td>videoUrl</td>
      <td></td>
      <td>videoUrl</td>
+     <td>Media</td>
      <td>https://vimeo.com/141878938</td>
      <td></td>
     </tr>
     <tr>
      <td>media</td>
      <td>Game screenshots</td>
      <td>https://vimeo.com/141878938</td>
      <td></td>
     </tr>
     <tr>
      <td>media</td>
      <td>Game screenshots</td>
+     <td>media.screenshots</td>
      <td></td>
      <td>filepickerScreenshots</td>
      <td></td>
      <td>filepickerScreenshots</td>
+     <td>Media</td>
      <td>[urls]</td>
      <td></td>
     </tr>
     <tr>
      <td>media</td>
      <td>FIXME</td>
      <td>[urls]</td>
      <td></td>
     </tr>
     <tr>
      <td>media</td>
      <td>FIXME</td>
+     <td>-</td>
      <td></td>
      <td>mobileAppIcon</td>
      <td></td>
      <td>mobileAppIcon</td>
+     <td>App.iconImage</td>
      <td>null</td>
      <td></td>
     </tr>
      <td>null</td>
      <td></td>
     </tr>
     <tr>
      <td>developer</td>
      <td>Developer name</td>
     <tr>
      <td>developer</td>
      <td>Developer name</td>
+     <td>developer.name</td>
      <td></td>
      <td>developer</td>
      <td></td>
      <td>developer</td>
+     <td>Developer.name</td>
      <td>winterworks GmbH</td>
      <td></td>
     </tr>
     <tr>
      <td>developer</td>
      <td>Developer support mail</td>
      <td>winterworks GmbH</td>
      <td></td>
     </tr>
     <tr>
      <td>developer</td>
      <td>Developer support mail</td>
+     <td>developer.supportEmail</td>
      <td></td>
      <td>supportEmailAddress</td>
      <td></td>
      <td>supportEmailAddress</td>
+     <td>Developer.supportEmail</td>
      <td>null</td>
      <td></td>
     </tr>
     <tr>
      <td>developer</td>
      <td>Support phone number</td>
      <td>null</td>
      <td></td>
     </tr>
     <tr>
      <td>developer</td>
      <td>Support phone number</td>
+     <td>developer.supportPhone</td>
      <td></td>
      <td>supportPhone</td>
      <td></td>
      <td>supportPhone</td>
+     <td>Developer.supportPhone</td>
      <td>null</td>
      <td></td>
     </tr>
     <tr>
      <td>developer</td>
      <td>Developer is a founder</td>
      <td>null</td>
      <td></td>
     </tr>
     <tr>
      <td>developer</td>
      <td>Developer is a founder</td>
+     <td>developer.founder</td>
      <td></td>
      <td>founder</td>
      <td></td>
      <td>founder</td>
+     <td>Developer.founder</td>
      <td>false</td>
      <td></td>
     </tr>
      <td>false</td>
      <td></td>
     </tr>