[APLIKACE PRO PŘEHRÁVÁNÍ VIDEA - PROJEKT MIAMI] [Aktualizace dokumentu: 3.9.2011 9:49:00 Verze dokumentu: 2.2
Obsah Obsah... 2 1. Struktura aplikace... 3 2. Registrace aplikace na serveru a první start aplikace... 4 3. Popis synchronizace aplikace se serverem... 4 4. Playlist screen... 5 5. Editace Playlist screen... 6 6. Přídání nové položky/položek do playlistu... 7 7. Playview screen... 8 8. Struktura XML pro potvrzení akce.... 9 9. Struktura XML pro aktualizaci.... 9 7. Reportování aplikace na server.... 11 Historie dokumentu... 13
1. Struktura aplikace
2. Registrace aplikace na serveru a první start aplikace 1) Zařízení si ověří zda je zaregistrované pod našim serverem. Pokud ne, tak zařízení provede registraci na serveru skrze svůj uniqueidentifier 1 a typ aplikace (ipad verze má kód ipadvideo a ipod verze má kód ipodvideo ), příklad dotazu je zde: registerdevice.php?type=ipadvideo&ui=0102osaas23231iw Dotaz vrátí XML s true nebo false. Struktůra XML je v kapitole: Struktura XML pro potvrzení akce. 2) Pokud dotaz vrátí hodnotu true, tak si zařízení uloží informaci o registraci. V případě, že dotaz vrátí hodnotu false, tak se provede nový pokus o registraci. Zařízení se bude pokoušet o registraci stále znova a znova v 5ti minutových intervalech dokud nebude registrace úspěšně dokončená. 3) Webový server už teď ví o novém zařízení v síti a tak si ho přidá do své webové administrace ve které bude možné toto zařízeni nakonfigurovat. 4) Při prvotním spuštění bude na obrazovce zobrazený prázdný playlist nebo výchozí playlist. O úspěšné registraci bude informovat zelená tečka v levém dolním rohu. Jinak bude tečka červená. 3. Popis synchronizace aplikace se serverem 1) Na základě uniqueidentifier se aplikace zeptá na svoji konfiguraci (playlist, soubory ke stažení, vhodné časy pro aktualizaci, konfigurace přehrávače), příklad dotazu je zde: updatedevice.php?ui=0102osaas23231iw Dotaz vrátí XML s playlistem, soubory je stažení, vhodnými časy pro aktualizaci a s konfiguraci přehrávače. Struktůra XML je v kapitole: Struktura XML pro aktualizaci. 2) Jestli bude aktualizace na serveru odmítnuta na základě neplatnosti uniqueidentifier, tak zařízení provede novou registraci. Čas úspěšné aktualizace bude zobrazen vedle zelené tečky. 3) Jestliže aktualizace neproběhne úspěšně, tak se bude opakovat v 5 minutových intervalech pokus o aktualizaci. 4) Zařízení pošle webovému serveru zprávu o stavu aktualizace, příklad reportu je zde: report.php?ui=0102osaas23231iw&playlist=done&download=all Dotaz vrátí XML s true nebo false. Struktůra XML je v kapitole: Struktura XML pro potvrzení akce. 1 http://developer.apple.com/library/ios/#documentation/uikit/reference/uidevice_class/reference/uidevice. html
4. Playlist screen Na této obrazovce je zobrazený aktuální playlist. Tato obrazovka se načítá jako první hned po spuštění aplikace. Kulatý bod v levém dolním rohu je detektor spojení se serverem: zelená říká, že zařízení je napojeno na aktualizační server, je úspěšně registrováno pod tímto serverem a že server byl dostupný během aktualizace. Čas poslední aktualizace je zobrazen v dolní liště uprostřed. žlutá říká, že server nebyl dostupný během aktualizace. červená říká, že zařízení nebylo správně registrováno pod aktualizačním serverem. Tlačítka: play - tímto tlačítkem se začne přehrávat playlist od počátku do konce, přehrávání se bude stále opakovat dokolečka ve smyčce. Uživatel přejde na obrazovku: cancel - vrátí se do obrazovky Playlist screen, žádné změny nebudou uloženy done - vrátí se do obrazovky Playlist screen, změny budou uloženy Playview screen
edit - tímto tlačítkem přejdu do obrazovky: Editace Playlist screen, tam mě bude umožněno editovat playlist. add - tímto tlačítkem přejdu do obrazovky: Přídání nové položky/položek do playlistu, tam mě bude umožněno přidat do playlistu soubory, které jsou uložené v zařízení, ale nejsou v playlistu. 5. Editace Playlist screen Na této obrazovce je možné editovat playlist. Playlist je možné libovolně řadit díky "držátku", které se nachází v pravé části každého řádku. Položky v playlistu je možné mazat buď jednotlivě (díky červenému tlačítku mínus v levé části každého řádku, potvrzení o smazání nebude vyžadováno) nebo hromadně (úplně první položka v seznamu je delete all, díky ni muže být vymazán celý playlist najednou, potvrzení o smazání nebude vyžadováno). Tlačítka: cancel - vrátí se do obrazovky Playlist screen, žádné změny nebudou uloženy
done - vrátí se do obrazovky Playlist screen, změny budou uloženy 6. Přídání nové položky/položek do playlistu Na této obrazovce bude možné přidávat položky do playlistu a to ze souborů uložených v zařízení. Soubory v zařízení půjde skrze toto okno i mazat, stačí přejet prstem z leva do prava po řádku a objeví se tlačítko delete. Pro smazání bude vyžadováno potvrzení skrze pop-up okno. Soubory lze přidávat do playlistu buď jednotlivě (skrze plus tlačítko) nebo hromadně (skrze plus tlačítko na prvním řádku text na řádku je add all ). Položka, která je už v playlistu je šedá. Položka, která není v playlistu je černá. Položka po přidání do playlistu zešedne, ale jinak obrazovka zůstane tak jak je (nikam se nezavře atd.). Tlačítka: delete (skryté) maže soubor ze zařízení cancel - vrátí se do obrazovky Playlist screen, žádné změny nebudou uloženy
done - vrátí se do obrazovky Playlist screen, změny budou uloženy 7. Playview screen Na této obrazovce bude přehráváno video z playlistu. Do menu, které je zobrazeno výše, se bude možné dostat jen skrze heslo. Když uživatel klepne kdekoliv na obrazovku, tak bude požádán o zadání hesla do aplikace skrze pop-up okno. Heslo bude pro všechna zařízení stejné a to Miami1254. Jakmile zadá správné heslo, tak se mu zobrazí ovládací prvky této obrazovky. Tlačítka: play/pause, next, before standartní ovládání přehrávače. ovládání zvuku nebude funkční. převíjení videa nebude funkční.
done uživatel se přenese do Playlist screen. 8. Struktura XML pro potvrzení akce. <xml> <actionresult> true </actionresult> </xml> hodnoty actionresult: true dotaz dopadne dobře false dotaz nedopadne dobře 9. Struktura XML pro aktualizaci. <device id= 00000000001 > <playlist> <item> animace.mp4 </item> <item> animace2.mp4 </item> </playlist> <action> <download> <file> <url> </file> </download> <delete> <file> http://domain/animace.mp4 </url> <size> 16000 </size> <hash> d970e682b1f7a47c61fa449410b95542 </hash> animace.mp4 </file>
<file> animace.mp4 </file> </delete> <disable> <file> animace.mp4 </file> </disable> </action> <setup> <updatetime> <start> 1314713000 </start> <stop> 1314750000 </stop> </updatetime> <report verbose= all / errors /> </setup> </device> přehled kořenových tagů: device - vychozi tag o id - cislo xml, moznost porovnavat zda server nevygeneroval novejsi xml nez se prave ted zpracovava v zarizeni playlist seznam videi pro přehrávání. o item - jméno souboru action - akce pro vykonani o download - soubory ke stazeni file - obsahuje informace o 1 souboru url - odkaz ke stazeni size - velikost v KB o delete - soubory ke smazani hash - kontrola zda se nezmenil obsah souboru pri stejnem nazvu, pokud ano tak bude muset byt znova stazeny file jmeno souboru ke smazání. o disable - veci k deaktivaci - jsou v zarizeni, ale nemazou se a zaroven nejsou v playlistu. k jejich aktivaci dojde opetovnym zarazenim do playlistu.
file jmeno souboru k deaktivaci. setup - veci pro nastaveni o updatetime - povoleny cas pro aktualizaci start obsahuje čas (timestamp) povoleného dotazování na server ohledně aktualizace. Je to z důvodů, že chceme ať se aplikace aktualizuje mimo provozní dobu restaurace. Od toho času začíná 5 minutová perioda pro aktualizaci. stop - konec casu pro aktualizaci a zaroven tento cas je zacatkem prehravani videoprezentace o report verbose - zpusob reportovani na server, ma dva stavy all - vse errors - jen chyby o videorotationlock - zpusob zamceni zarizeni, ma dva stavy horizontal vertical XML soubor může obsahovat všechny tagy nebo jen některé (Kořenové tagy můžou být prázdné v případě, že neobsahuji nic k aktualizaci.). 7. Reportování aplikace na server. Aplikace bude reportovat na server stav aktualizace. Reportování bude probíhat postupně. Reportování probíhá pomocí reportovacího linku, příklade je zde: report.php?ui=0102osaas23231iw&event=download&value=animace.mp4&status =error Parametry: o o ui - obsahuje unikátní číslo přístroje. event ma nekolik hodnot playlist download delete disable starttime
stoptime report videorotation o o value - pro reportovani jmena souboru v download, delete a disable nebo hodnoty nastaveni v starttime, stoptime, report a videorotation event - ma dva stavy error - pokud vznikla chyba behem aktualizace ok - pokud vse probehlo v poradku
Historie dokumentu 1.0 - původní zadání. 2.0 - zjednodušení obrazovky pro přidávání souborů do playlistu a pro editaci playlistu, vypuštěna část o registraci aplikace a generování hesla, pro registraci je použito unikátní číslo zařízení. 2.1. - upravené XML pro aktualizaci, opravené volitelné parametry pro reportovaní, přidaná perioda aktualizace a nové schéma aplikace. 2.2. - zmenena byla struktura XML pro aktualizaci a zpusob reportovani