add "details" fields
[ouya-game-data.git] / game-metadata.html
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE html>
3 <html xmlns="http://www.w3.org/1999/xhtml">
4  <head>
5   <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8"/>
6   <title>OUYA game meta data</title>
7   <style type="text/css">
8    thead th {
9      position: sticky;
10      top: 0px;
11      background-color: lightgrey;
12    }
13   </style>
14  </head>
15  <body>
16   <table border="1">
17    <thead>
18     <tr>
19      <th>Group</th>
20      <th>Datum</th>
21      <th>Game data field</th>
22      <th><a href="http://cweiske.de/ouya-store-api-docs.htm#get-https-devs-ouya-tv-api-v1-discover">Discover field</a></th>
23      <th><a href="http://cweiske.de/ouya-store-api-docs.htm#get-https-devs-ouya-tv-api-v1-apps-xxx">App field</a></th>
24      <th><a href="http://cweiske.de/ouya-store-api-docs.htm#get-https-devs-ouya-tv-api-v1-details">Details field</a></th>
25      <th><a href="https://gitlab.com/devirich/BrewyaOnOuya/blob/master/store/models.py">BrewyaOnOuya field</a></th>
26      <th>Example</th>
27      <th>Description</th>
28     </tr>
29    </thead>
30    <tbody>
31
32     <tr>
33      <td>app</td>
34      <td>Game UUID</td>
35      <td>uuid</td>
36      <td>uuid</td>
37      <td>uuid</td>
38      <td>-</td>
39      <td>App.uuid</td>
40      <td>780688a9-95ee-429a-8755-69a8d0c88fe0</td>
41      <td></td>
42     </tr>
43     <tr>
44      <td>app</td>
45      <td>Game title</td>
46      <td>title</td>
47      <td>title</td>
48      <td>title</td>
49      <td>title</td>
50      <td>App.title</td>
51      <td>Bloo Kid 2</td>
52      <td></td>
53     </tr>
54     <tr>
55      <td>app</td>
56      <td>Overview text</td>
57      <td>overview (optional)</td>
58      <td></td>
59      <td>overview</td>
60      <td>-</td>
61      <td>App.overview</td>
62      <td>Released in October 2015 by winterworks GmbH.</td>
63      <td></td>
64     </tr>
65     <tr>
66      <td>app</td>
67      <td>Description</td>
68      <td>description</td>
69      <td></td>
70      <td>description</td>
71      <td>description</td>
72      <td>App.description</td>
73      <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>
74      <td></td>
75     </tr>
76     <tr>
77      <td>app</td>
78      <td>Number of players</td>
79      <td>players</td>
80      <td>gamerNumbers</td>
81      <td>gamerNumbers</td>
82      <td>gamerNumbers</td>
83      <td>App.playerNumbers</td>
84      <td>[1]</td>
85      <td>Any combination of 1-4</td>
86     </tr>
87     <tr>
88      <td>app</td>
89      <td>Genre list</td>
90      <td>genres</td>
91      <td>genres</td>
92      <td>genres</td>
93      <td>genres</td>
94      <td>App.genres</td>
95      <td>[Platformer, Retro]</td>
96      <td>
97       original genre list:
98       <ul>
99        <li>Adventure</li>
100        <li>App</li>
101        <li>Arcade/Pinball</li>
102        <li>Card/Casino</li>
103        <li>Dual Stick</li>
104        <li>Entertainment</li>
105        <li>Fight!</li>
106        <li>FPS/Shooter</li>
107        <li>Kids List</li>
108        <li>Meditative</li>
109        <li>Multiplayer</li>
110        <li>Music</li>
111        <li>Platformer</li>
112        <li>Puzzle/Trivia</li>
113        <li>Racing</li>
114        <li>Retro</li>
115        <li>Role-Playing</li>
116        <li>Short on Time?</li>
117        <li>Sim/Strategy</li>
118        <li>Sports</li>
119        <li>Utility</li>
120        <li>Video</li>
121       </ul>
122      </td>
123     </tr>
124     <tr>
125      <td>app</td>
126      <td>Package name</td>
127      <td>package</td>
128      <td>package</td>
129      <td></td>
130      <td>apk.package</td>
131      <td>App.packageName</td>
132      <td>evil.corptron.DuckGame</td>
133      <td>Run "aapt dump badging file.apk", field "package: name"</td>
134     </tr>
135     <tr>
136      <td>app</td>
137      <td>Details URL</td>
138      <td>-</td>
139      <td>url</td>
140      <td></td>
141      <td>-</td>
142      <td>-</td>
143      <td>ouya://launcher/details?app=evil.corptron.DuckGame</td>
144      <td></td>
145     </tr>
146     <tr>
147      <td>app</td>
148      <td>Game website</td>
149      <td>website</td>
150      <td></td>
151      <td>website</td>
152      <td>-</td>
153      <td>App.website</td>
154      <td>http://www.winterworks.de</td>
155      <td></td>
156     </tr>
157     <tr>
158      <td>app</td>
159      <td>Content rating</td>
160      <td>contentRating (optional)</td>
161      <td>contentRating</td>
162      <td>contentRating</td>
163      <td>suggestedAge</td>
164      <td>App.contentRating</td>
165      <td>Everyone</td>
166      <td>
167       <ul>
168        <li>Everyone</li>
169        <li>9+</li>
170        <li>12+</li>
171        <li>17+</li>
172       </ul>
173      </td>
174     </tr>
175     <tr>
176      <td>app</td>
177      <td>FIXME</td>
178      <td>premium (optional)</td>
179      <td>premium</td>
180      <td>premium</td>
181      <td>premium</td>
182      <td>App.premium</td>
183      <td>false</td>
184      <td></td>
185     </tr>
186     <tr>
187      <td>app</td>
188      <td>When the game was published</td>
189      <td>firstPublishedAt (optional)</td>
190      <td></td>
191      <td>firstPublishedAt</td>
192      <td>firstPublishedAt (unix timestamp)</td>
193      <td>App.firstPublishedAt</td>
194      <td>2015-10-09T07:53:25Z</td>
195      <td></td>
196     </tr>
197     <tr>
198      <td>app</td>
199      <td>Are there in-app purchases?</td>
200      <td>inAppPurchases (optional)</td>
201      <td>inAppPurchases</td>
202      <td></td>
203      <td>inAppPurchases</td>
204      <td>-</td>
205      <td>true</td>
206      <td></td>
207     </tr>
208     <tr>
209      <td>app</td>
210      <td>FIXME</td>
211      <td>-</td>
212      <td>type</td>
213      <td></td>
214      <td>type</td>
215      <td>-</td>
216      <td>app</td>
217      <td>
218       discover: "app", "discover" or "details_page" (for bundles)<br/>
219       details: "Game", FIXME
220      </td>
221     </tr>
222     <tr>
223      <td>app</td>
224      <td>Last update (unix timestamp)</td>
225      <td>-</td>
226      <td>updated_at</td>
227      <td></td>
228      <td>-</td>
229      <td>AppVersion.releaseTime</td>
230      <td>1417731390</td>
231      <td></td>
232     </tr>
233     <tr>
234      <td>app</td>
235      <td>Last update</td>
236      <td>releases.*.date (when "latest")</td>
237      <td>updatedAt</td>
238      <td></td>
239      <td>-</td>
240      <td>AppVersion.releaseTime</td>
241      <td>2014-12-04T22:16:30Z</td>
242      <td></td>
243     </tr>
244
245     <tr>
246      <td>rating</td>
247      <td>Number of likes?</td>
248      <td>rating.likeCount</td>
249      <td></td>
250      <td>likeCount</td>
251      <td>-</td>
252      <td>Rating.likeCount</td>
253      <td>0</td>
254      <td></td>
255     </tr>
256     <tr>
257      <td>rating</td>
258      <td>Average rating</td>
259      <td>rating.average</td>
260      <td>rating.average</td>
261      <td>ratingAverage</td>
262      <td>rating.average</td>
263      <td>Rating.rating</td>
264      <td>4.1</td>
265      <td></td>
266     </tr>
267     <tr>
268      <td>rating</td>
269      <td>Number of ratings</td>
270      <td>rating.count</td>
271      <td>rating.count</td>
272      <td>ratingCount</td>
273      <td>rating.count</td>
274      <td>Rating.reviewCount</td>
275      <td>355</td>
276      <td></td>
277     </tr>
278
279     <tr>
280      <td>product</td>
281      <td>Promotion data</td>
282      <td>products.* (when "promoted=true")</td>
283      <td>promotedProduct</td>
284      <td>promotedProduct</td>
285      <td>promotedProduct</td>
286      <td>App.promotedProduct</td>
287      <td>null</td>
288      <td>May be "null" if none, otherwise object</td>
289     </tr>
290     <tr>
291      <td>product</td>
292      <td>Product key</td>
293      <td>products.*.identifier</td>
294      <td>promotedProduct.identifier</td>
295      <td>promotedProduct.identifier</td>
296      <td>promotedProduct.identifier</td>
297      <td>Product.identifier</td>
298      <td>unlock_rockets</td>
299      <td></td>
300     </tr>
301     <tr>
302      <td>product</td>
303      <td>Product name</td>
304      <td>products.*.name</td>
305      <td>promotedProduct.name</td>
306      <td>promotedProduct.name</td>
307      <td>promotedProduct.name</td>
308      <td>Product.name</td>
309      <td>Unlock Full Game</td>
310      <td></td>
311     </tr>
312     <tr>
313      <td>product</td>
314      <td>Product currency</td>
315      <td>products.*.currency</td>
316      <td>promotedProduct.currency</td>
317      <td>promotedProduct.currency</td>
318      <td>promotedProduct.currency</td>
319      <td>-</td>
320      <td>EUR</td>
321      <td></td>
322     </tr>
323     <tr>
324      <td>product</td>
325      <td>Product description</td>
326      <td>products.*.description</td>
327      <td>promotedProduct.description</td>
328      <td>promotedProduct.description</td>
329      <td>promotedProduct.description</td>
330      <td>Product.description</td>
331      <td>Remove the 9 satellites limitation. Infinite satellites!</td>
332      <td></td>
333     </tr>
334     <tr>
335      <td>product</td>
336      <td>Saving</td>
337      <td>-</td>
338      <td>promotedProduct.percentOff</td>
339      <td>promotedProduct.percentOff</td>
340      <td>promotedProduct.percentOff</td>
341      <td>-</td>
342      <td>0</td>
343      <td></td>
344     </tr>
345     <tr>
346      <td>product</td>
347      <td>Current price</td>
348      <td>products.*.localPrice</td>
349      <td>promotedProduct.localPrice</td>
350      <td>promotedProduct.localPrice</td>
351      <td>promotedProduct.localPrice</td>
352      <td>-</td>
353      <td>1.99</td>
354      <td></td>
355     </tr>
356     <tr>
357      <td>product</td>
358      <td>Previous price</td>
359      <td>products.*.originalPrice</td>
360      <td>promotedProduct.originalPrice</td>
361      <td>promotedProduct.originalPrice</td>
362      <td>promotedProduct.originalPrice</td>
363      <td>Product.originalPrice</td>
364      <td>1.99</td>
365      <td></td>
366     </tr>
367     <tr>
368      <td>product</td>
369      <td>FIXME</td>
370      <td>?</td>
371      <td>?</td>
372      <td>?</td>
373      <td>promotedProduct.type</td>
374      <td>?</td>
375      <td>"entitlement"</td>
376      <td></td>
377     </tr>
378
379     <tr>
380      <td>apk</td>
381      <td>Human readable version</td>
382      <td>releases.*.name</td>
383      <td>latestVersion.versionNumber</td>
384      <td>versionNumber</td>
385      <td>version.number</td>
386      <td>Apk.versionName</td>
387      <td>1.6</td>
388      <td>Run "aapt dump badging file.apk", field "versionName"</td>
389     </tr>
390     <tr>
391      <td>apk</td>
392      <td>UUID of latest apk version</td>
393      <td>releases.*.uuid</td>
394      <td>latestVersion.uuid</td>
395      <td>latestVersion</td>
396      <td>version.uuid</td>
397      <td>-</td>
398      <td>780688a9-95ee-429a-8755-69a8d0c88fe0</td>
399      <td></td>
400     </tr>
401     <tr>
402      <td>apk</td>
403      <td>FIXME</td>
404      <td>releases.*.publicSize</td>
405      <td></td>
406      <td>publicSize</td>
407      <td>apk.publicSize</td>
408      <td>Apk.publicSize</td>
409      <td>27275</td>
410      <td></td>
411     </tr>
412     <tr>
413      <td>apk</td>
414      <td>FIXME</td>
415      <td>releases.*.nativeSize</td>
416      <td></td>
417      <td>nativeSize</td>
418      <td>apk.nativeSize</td>
419      <td>Apk.nativeSize</td>
420      <td>20292</td>
421      <td></td>
422     </tr>
423     <tr>
424      <td>apk</td>
425      <td>MD5 file hash</td>
426      <td>releases.*.md5sum</td>
427      <td>latestVersion.apk.md5sum</td>
428      <td>md5sum</td>
429      <td>apk.md5sum</td>
430      <td>Apk.md5sum</td>
431      <td>a5b0f82d54df5f551a64295e43771a10</td>
432      <td></td>
433     </tr>
434     <tr>
435      <td>apk</td>
436      <td>APK file size</td>
437      <td>releases.*.size</td>
438      <td></td>
439      <td>apkFileSize</td>
440      <td>apk.fileSize</td>
441      <td>Apk.size</td>
442      <td>25507828</td>
443      <td></td>
444     </tr>
445     <tr>
446      <td>apk</td>
447      <td>APK publish date</td>
448      <td>releases.*.date</td>
449      <td></td>
450      <td>publishedAt</td>
451      <td>version.publishedAt (unix timestamp)</td>
452      <td>AppVersion.releaseTime</td>
453      <td>2015-10-23T09:58:19Z</td>
454      <td></td>
455     </tr>
456     <tr>
457      <td>apk</td>
458      <td>downloadLink</td>
459      <td>releases.*.url</td>
460      <td></td>
461      <td></td>
462      <td>apk.filename</td>
463      <td>Apk.location</td>
464      <td>
465       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/>
466       details: 1zbYKRSS1elKIYI9eseH_BombSquad-ouya-release.apk
467      </td>
468      <td>
469       Also in download.json<br/>
470       Details field: only a file name, no path/domain
471      </td>
472     </tr>
473     <tr>
474      <td>apk</td>
475      <td>state</td>
476      <td>-</td>
477      <td>?</td>
478      <td>?</td>
479      <td>apk.state</td>
480      <td>?</td>
481      <td>
482       "complete"
483      </td>
484      <td></td>
485     </tr>
486
487     <tr>
488      <td>media</td>
489      <td>Discover image</td>
490      <td>media.discover</td>
491      <td>image</td>
492      <td></td>
493      <td>tileImage</td>
494      <td>Media</td>
495      <td>https://www.filepicker.io/api/file/05y2T8cKTY6cUfX7RYFR</td>
496      <td></td>
497     </tr>
498     <tr>
499      <td>media</td>
500      <td>Large image</td>
501      <td>media.large</td>
502      <td></td>
503      <td>mainImageFullUrl</td>
504      <td>heroImage.url</td>
505      <td>App.titleImage</td>
506      <td>https://d3e4aumcqn8cw3.cloudfront.net/api/file/MASaiOBlTEO7GKYXsIns</td>
507      <td></td>
508     </tr>
509     <tr>
510      <td>media</td>
511      <td>Video</td>
512      <td>media.video</td>
513      <td></td>
514      <td>videoUrl</td>
515      <td>mediaTiles.*.url (when mediaTiles.*.type=video)</td>
516      <td>Media</td>
517      <td>https://vimeo.com/141878938</td>
518      <td></td>
519     </tr>
520     <tr>
521      <td>media</td>
522      <td>Game screenshots</td>
523      <td>media.screenshots</td>
524      <td></td>
525      <td>filepickerScreenshots</td>
526      <td>mediaTiles.*.urls.full, mediaTiles.*.urls.thumb, mediaTiles.*.fp_url (when mediaTiles.*.type=image)</td>
527      <td>Media</td>
528      <td>[urls]</td>
529      <td></td>
530     </tr>
531     <tr>
532      <td>media</td>
533      <td>FIXME</td>
534      <td>-</td>
535      <td></td>
536      <td>mobileAppIcon</td>
537      <td>mobileAppIcon</td>
538      <td>App.iconImage</td>
539      <td>
540       null<br/>
541       https://s3.amazonaws.com/ouya-screenshots/3ae8fc67-f7f5-4f97-a48c-8ea2d31460fd/ouya-image20170911-3-v6tjz1
542      </td>
543      <td></td>
544     </tr>
545
546     <tr>
547      <td>developer</td>
548      <td>Developer name</td>
549      <td>developer.name</td>
550      <td></td>
551      <td>developer</td>
552      <td>developer.name</td>
553      <td>Developer.name</td>
554      <td>winterworks GmbH</td>
555      <td></td>
556     </tr>
557     <tr>
558      <td>developer</td>
559      <td>Developer support mail</td>
560      <td>developer.supportEmail</td>
561      <td></td>
562      <td>supportEmailAddress</td>
563      <td>-</td>
564      <td>Developer.supportEmail</td>
565      <td>null</td>
566      <td></td>
567     </tr>
568     <tr>
569      <td>developer</td>
570      <td>Support phone number</td>
571      <td>developer.supportPhone</td>
572      <td></td>
573      <td>supportPhone</td>
574      <td>-</td>
575      <td>Developer.supportPhone</td>
576      <td>null</td>
577      <td></td>
578     </tr>
579     <tr>
580      <td>developer</td>
581      <td>Developer is a founder</td>
582      <td>developer.founder</td>
583      <td></td>
584      <td>founder</td>
585      <td>developer.founder</td>
586      <td>Developer.founder</td>
587      <td>false</td>
588      <td></td>
589     </tr>
590
591    </tbody>
592   </table>
593  </body>
594 </html>