Archive for február, 2014

Ako získať age rating certifikáty pre hru

25. februára 2014

Pre väčšinu krajín na bežné hry bez nadmernej miery násilia nepotrebujete certifikát. Akýkoľvek typ hry je potrebné certifikovať pokiaľ ju publikujete v Brazílii, Rusku, Kórei, Taiwane a Južnej Afrike. Certifikačný proces je rôzny, niekde stačí online formulár, niekde je postup zložitejší. Uvediem postup získania dvoch najbežnejšícj certifikátov PEGI uznávaný v EU a ESRB uznávaný v USA.
PEGI
Pan European Game Information uznávaný v EU získate na adrese http://apps.pegi.eu

Platí pre krajiny: Morocco, Netherlands, Malaysia, Malta, Norway, Peru, Philippines, Oman, Pakistan, Kazakhstan, Kuwait, Italy, Jordan, Latvia, Israel, Lithuania, Lebanon, Libya, Poland, Turkey, Ukraine, Trinidad and Tobago, Tunisia, United Arab Emirates, Vietnam, Iraq, Uruguay, Venezuela, Romania, Saudi Arabia, Portugal, Qatar, Serbia, Sri Lanka, Thailand, Slovakia, Slovenia, Russia, Singapore, Luxembourg, Mexico, Switzerland, United Kingdom, Spain, Sweden, Ireland, India, France, Puerto Rico, China, Hong Kong SAR, Austria, Belgium, Denmark, Egypt, Cyprus, Czech Republic, Estonia, Hungary, Indonesia, Finland, Greece, Bulgaria, Algeria, Argentina, Bahrain, Chile, Croatia, Costa Rica, Colombia, Rest of World

V prvom formulári vyplníte údaje o hre

Následne vyplníte dotazník

A môžete stiahnuť certifikát


ESRB
Certifikát ESRB (Entertainment Software Rating Board) uznávaný v USA a Kanade získate na adrese https://autoratingtool.esrb.org/ARTclient/Windows8Metro.aspx

Vyplňte jednoduchý dotazník

Na základe odpovedí dostanete potvrdzovací dialóg a mailom vám príde certifikát

Reklamy

Tipy a triky pre vývoj aplikácií a hier 4

24. februára 2014

Tento príspevok bude úplne mimo Windows 8 a pravdepodobne sa na ňom dobre pobavíte a napadne vás niekoľko lepších riešení. Pri adaptovaní retro hier z 30 rokov starých historických platforiem (Sinclair, Atari Commodore, PMD 85) budete možno postavení pred úlohu, ako do PC preniesť blok údajov, napríklad bitovú grafiku znakového generátora, bitovú reprezentáciu obrázkov, hracie plány a podobne. Ja som vyhrabal z krabice starý Sharp MZ 821, nahral do neho hru a potreboval preniesť nejaké bloky údajov

Nikde žiadny USB, sériový ani paralelný port. Jedine v hornej časti vedľa kazeťáka vyvedená zbernica procesora Z80, ale v nej je ram disk (tá mašinka behala aj na CPM). Ako z neho preniesť údaje do PC?

Na strane PC som mal k dispozícii prevodník z USB na sériový port RS232. K dispozícii sú dve možnosti. Pre tento účel sa často využíva integrovaný obvod FT232R, ktorý je aj súčasťou komerčných prevodníkov. Dobrým kompromisom môže byť stavebnica prevodníka. Takúto stavebnicu dodáva napríklad Conrad

USB1.jpg Príklad konštrukčných riešení prevodníkov z USB na RS232

 

Najjednoduchšie zapojenie prevodníka z USB na RS232 s integrovaným obvodom FT232R

prevodník s integrovaným obvodom FT232R zo stavebnice od firmy Conrad

ak sa pozriete na priradenie signálov na 9 pinovom sériovom konektore:

Pin

Signál

Smer

1

DCD (Data Carrier Detect)

Vstup

2

RXD (Receive Data)

Vstup

3

TXD (Transmit Data)

Výstup

4

DTR (Data Terminal Ready)

Výstup

5

GND (Signal Ground)

Zem

6

DSR (Data Set Ready)

Vstup

7

RTS (Request To Send)

Výstup

8

CTS (Clear To Send)

Vstup

9

RI (Ring Indicator)

Vstup

 

klasický sériový port poskytuje tri výstupné signály (TXD, DTR a RTS) a štyri vstupy (DCD, DSR, CTS a RI). Odtiaľ je už len krôčik k riešeniu.

Na strane PC k ľubovoľným dvom vstupným signálom pripojiť fotodiódy s operačným zosilňovačom.

Na strane osembitového počítača – pripojiť cez anténový vstup LCD televízor a naladiť ho na 36 kanál. Napísať primitívnu aplikáciu ktorá bude spracovávať bajty bit po bite a bude rozsvecovať a stmievať dva štvorce. Jeden je synchronizačný a druhý je dátový.

Nalepiť fotodiódy páskou na obrazovku tak kde sa zobrazujúštvorce. Napísať na PC desktopovú aplikáciu ktorá bude snímať údaje sériovo z dvoch fotodiód. Prakticky sa dá dosiahnuť prenosová rýchlosť okolo 2 bajty za sekundu, čo je 7,2 kilobajtov za hodinu. Za noc takto prenesiete aj 64 kb.

Ekológom sa to asi nebude páčiť celú noc takto mať zapnutý TV, ale bolo to riešenie, ktoré sa dalo urobiť za jeden večer. Alternatívne riešenie by bolo postaviť paralelný port s obvodom 8255, ale to by trvalo dlhšie a pre jednorazový prenos sa to neoplatí

 

 

 

 

Tipy a triky pre vývoj aplikácií a hier 4

22. februára 2014

Po nájdení vhodnej polohy pre kurzorové tlačidlá dotykového ovládania sa zdalo byť všetko vyriešené. Vytvorím kontejnerový prvok Grid o rozmeroch 3×3 polia a na vhodné miesta rozmiestnim 4 tlačidlá. Bohužiaľ nefungovalo to. Klasické tlačidlo vo Windows 8 totiž má udalosť zatlačenia, bohužiaľ sa nedá jednoducho definovať udalosť pustenia tlačidla. V hre tohto typu je to dôležité – kým hráč chce aby sa figúrka pohybovala vpravo drží pravú šipku. Keď ju pustí figúrka musí zastať. To pri ovládaní jednou rukou. Trochu predbehnem a uvediem skúsenosť z implementácie hry pre Windows Phone. Tu som hru implementoval pod názvom Flappy Chicken. Všimnite si ovládacie prvky po obidvoch stranách hracieho plánu. Na každej strane je tlačidlo pre príslušný smer a tlačidlá “HORE”, “DOLE” a “HOĎ HUBU”, ktoré sú takto vlastne zdvojené

Porovnajte s Windows 8.1 implementáciou kde je “kurzorový kríž”. Prax ukáže, ktorý spôsob ovládania je lepší. Možno bude najlepším riešením “tretia cesta”. Obidve platformy, teda tablety s Windows 8 aj Windows Phone majú náklonomery, takže hra by sa možno najlepšie dala ovládať naklápaním zariadenia. Vyskúšam, uvidím…

(Free verzia hry je tu http://apps.microsoft.com/windows/app/flappy-free/a2153dbe-ac79-44b8-9af2-bc0169391af8)

U obidvoch spôsobov ovládania treba počítať so sekundárnym javom. U WP8 používateľ prstom alebo palcom jednej ruky stále drží kláves pre jeden smer a druhou rukou sa dotkne iného smeru. Logicky pritom očakáva že figúrka zmení smer. U W8 s kurzorovým krížom sa stáva to že hráč presunie prst napríklad zo šípky vľavo na šípku hore bez toho aby oddialil prst od displeja. Takže suma sumárum tlačidlo kde je k dispozícii len udalosť zatlačenia sa použiť nedá.

Riešením sú bitmapové obrázky, prvok typu Image. Upozorňujem na jednu vec. Prvok pre dotykové ovládanie musí reagovať na dotyk nejakou zmenou (farby, tvaru…) inak vám aplikáciu so Store neschvália.

Takže v mojom prípade XAML kód (pre prehľadnosť a úsporu miesta len pre jedno tlačidlo)

<Image x:Name=”imgUp”
Grid.Row=”0″ Grid.Column=”1″ Margin=”4″ Source=”Assets/gup.png” PointerPressed=”imgUp_PointerPressed” PointerReleased=”imgUp_PointerReleased” Loaded=”imgUp_Loaded”
/>

Obsluha udalostí

private void imgUp_PointerPressed(object sender, PointerRoutedEventArgs e)
{
  ZmenObrazokDotykovejKlavesy(sender as Image, “Assets/oup.png”);
  dotykUp();
 //obrazok zdvihnutej klavesy na ostatných
  ZmenObrazokDotykovejKlavesy(imageLeft, “Assets/gleft.png”);
  ZmenObrazokDotykovejKlavesy(imageRight, “Assets/gright.png”);
  ZmenObrazokDotykovejKlavesy(imageDown, “Assets/gdown.png”);
}

private void imgUp_PointerReleased(object sender, PointerRoutedEventArgs e)
{
  ZmenObrazokDotykovejKlavesy(sender as
   Image, “Assets/gup.png”);
   klav.dotykUpR();
}

Metóda dotykUp() je vlastne obsluha zatlačenia klávesu na klasickej klávesnici, ktorá nastavuje stavové premenné kláves

public void dotykUp() { up = true; down = false; left = false; right = false; }

V hre sa potom tieto premenné čítajú nasledovne

public void StavKlavesnice()
{
  if (space) { nAktualnaAkcia = AKCIA_HOD_HUBOU; }
  else if (up) { nAktualnaAkcia = SMER_HORE; nPredchadzajucaAkcia = SMER_HORE;}
  else if (down) { nAktualnaAkcia = SMER_DOLE; nPredchadzajucaAkcia = SMER_DOLE;}
  else if (left) { nAktualnaAkcia = SMER_VLAVO; nPredchadzajucaAkcia = SMER_VLAVO;}
  else if (right) { nAktualnaAkcia = SMER_VPRAVO; nPredchadzajucaAkcia = SMER_VPRAVO;}
  else if (esc) { nAktualnaAkcia = AKCIA_STORNO; }
  else if (nova) { nAktualnaAkcia = AKCIA_NOVASCENA; }
 else {nAktualnaAkcia = 0;}
}

Tipy a triky pre vývoj aplikácií a hier 3

21. februára 2014

Tento príspevok je venovaný dotykovému ovládaniu. U hier typu Angry Birds, Cut The Rope… sa dotykom ovláda priamo akcia. U niektorých hier, ktorých filozofia je založená na klávesovom ovládaní to možné nie je a tak treba vymyslieť ako suplovať klávesnicu pre používateľov tabbletov. Pre ilustráciu uvádzam prvý nástrel ovládacích prvkov pre hru Flappy, kde som chcel použiť takto rozmiestnené obrázkové tlačidlá

Vychádzal som z dizajnových odporúčaní pre Windows 8 aplikácie aby sa hra dala ovládať palcami obidvoch rúk. Na obrázku si všimnite svetlé zóny optimálneho umiestnenia ovládacích prvkov pri ľavom a pravom dolnom rohu. Najčastejšie sa tablet bude používať tak, že ho držíte obidvoma rukami za dolné rohy a spomínaná zóna udáva akčný rádius palcov obidvoch rúk.

Odporúčanie pre ideálne rozmiestnenie prvkov pre ovládanie (vľavo) a pre čítanie obsahu (vpravo)

Na základe prieskumov sa zistilo, že používatelia najčastejšie držia tablet obidvoma rukami a snažia sa ovládať aplikácie pomocou palcov. V prípade, že to nie je možné držia tablet jednou rukou a aplikácie ovládajú prstami. Výsledkom výskumu sú aj oblasti v ktorých by mali byť ovládacie prvky umiestnené, nakoľko sú v ergonomickom dosahu palcov.

 

Po praktických testoch na tablete Microsoft Surface Pro som sa rozhodol pre odlišné usporiadanie ovládacích prvkov, než v prvom návrhu. Kurzorové tlačidlá vpravo do klasického kríža a prvok FIRE, teda hod uspávacou hubou je možné relizovať poklepom kdekoľvek na hraciu plochu – palcom pravej ruky.

Okrem tejto základnej konfigurácie v ktorej budú používatelia hru používať, je potrebné myslieť aj na súčasný beh viacerých aplikácií, kedy hra sa hra delí o plochu s inými aplikáciami

A taktiež režim tabletu na výšku. V týchto režimoch som hraciemu plánu venoval maximálnu možnú plochu a tlačidlá premiestnil dole

V budúcom pokračovaní vysvetlím fungovanie dotykového ovládanie. Kurzorové tlačidlá vyzerajú jednoducho – do gridu rozmiestniť 4 tlačidlá. Klasické tlačidlo však vo Windows 8 má udalosť zatlačenia, bohužiaľ sa nedá jednoducho definovať udalosť pustenia tlačidla. V hre je to dôležité – kým hráč chce aby sa figúrka pohybovala vpravo drží pravú šipku. Keď ju pustí figúrka musí zastať.

 

Tipy a triky pre vývoj aplikácií a hier 2

20. februára 2014

Tento príspevok bude venovaný ovládaniu pomocou klávesnice. Zdalo by sa že pre multidotykovú platformu nie je čo riešiť, opak je pravdou. Väčšina používateľov má stále klasické notebooky a skúsme sa zamyslieť nad tým, ako často používatelia konvertibilných zariadení tieto rozpoja a používajú len tabletovú časť.

Určite vás napadne odchytiť udalosti KeyDown a KeyUp pre xaml stránku na ktorej prebieha dej aplikácie, či hry. Narazil som však na niekoľko problémov. Pozrite si obrázok hlavnej a jedinej obrazovky hry FLAPPY.

Sú tam dve tlačidlá Start a Cancel a posuvný prvok na zapínanie a vypínanie hry. Ak používateľ naposledy stlačil tlačidlo START, hra ovládaná kurzorovými tlačidlami bude fungovať uspokojivo. Tlačidlá SPACE a ENTER budú nepoužiteľné, nakoľko spôsobia zatlačenie tlačidla ktoré bolo naposledy použite (aplikácia má naň nastavený fokus). Čo sa ale stane, ak používateľ pomocou prvku ToggleSwitch vypne, alebo zapne zvuk. Aktívne vybrané zostane tento prvok a kurzorovými klávesami vľavo a vpravo už nebudete ovládať figúrku, ale zapínať a vypínať zvuk.

Preto je potrebné zachytiť udalosť na úrovni CoreWindow, skôr než ju preberú prvky používateľské rozhranie. Obsluha udalosti sa registruje napríklad v

protected override void OnNavigatedTo(NavigationEventArgs e)
{
  Window.Current.CoreWindow.KeyDown += CoreWindow_KeyDown;
  Window.Current.CoreWindow.KeyUp += CoreWindow_KeyUp;
  Window.Current.SizeChanged += Window_SizeChanged;
  navigationHelper.OnNavigatedTo(e);
}

protected override void OnNavigatedFrom(NavigationEventArgs e)
{
   Window.Current.CoreWindow.KeyDown -= CoreWindow_KeyDown;
   Window.Current.CoreWindow.KeyUp -= CoreWindow_KeyUp;
   Window.Current.SizeChanged -= Window_SizeChanged;
   navigationHelper.OnNavigatedFrom(e);
}

V obslužnej procedúre sa zachytáva zatlačenie a v prípade potreby aj uvoľnenie klávesov potrebných pre ovládanie hry

void CoreWindow_KeyDown(Windows.UI.Core.CoreWindow sender, Windows.UI.Core.KeyEventArgs args)
{
  if (klav != null)
{
   switch (args.VirtualKey)
   {
     case Windows.System.VirtualKey.Up: klav.dotykUp(); break;
     case Windows.System.VirtualKey.Left: klav.dotykLeft(); break;
     case Windows.System.VirtualKey.Right: klav.dotykRight(); break;
     case Windows.System.VirtualKey.Down: klav.dotykDown(); break;
     case Windows.System.VirtualKey.Escape: klav.dotykCancel(); break;
     case Windows.System.VirtualKey.Space: klav.dotykSpace(); break;
   }
}
}

V budúcom pokračovaní sa zameriam na dotykové ovládanie

Tipy a triky pre vývoj aplikácií a hier 1

19. februára 2014

Podľa prianí objednávateľov robím aplikácie rôznych žánrov, no občas si treba splniť sen zo študentskej mladosti, kedy som si povedal, že niekedy naprogramujem hru. Nedávno som našiel zošit z roku 1988 kde som mal definované scény z hry FLAPPY, tak som hru urobil pre Windows 8 a 8.1. Malo to pre mňa prínos hlavne čo sa týka zdokonalenia sa v asynchrónnom programovaní a implementácii dotykového ovládania. Postupne budem publikovať know-how, ktoré som pri vývoji tejto hry získal.

Napriek názvu nie je to ten typ hry, ktorý momentálne rezonuje aplikačnými obchodmi. Názov Flappy som si pre Windows Store zaregistroval celosvetovo mesiac predtým, než vypukol súčasný “flappy” ošiaľ pre hru, kde hráč ovláda nemotorného vtáka, ktorý padá nadol pôsobením gravitácie a každé ťuknutie na displej ho posunie nahor. Hernú plochu tvoria medzery medzi zelenými rúrami, do ktorých sa treba trafiť. Úlohou je zaletieť s vtákom čo najďalej.

Pred 30-timi rokmi sa pod názvom FLAPPY skrývala podľa mňa najlepšia, dodnes neprekonaná logická hra na podobnom princípe ako SOKOBAN, značne skomplikovaná tým, že v hre sú dva typy nepriateľov. Vašou úlohou je sprevádzať kuriatko po 200 miestnostiach a pomôcť mu v každej dostať vajíčko na zelenú plôšku. Kuriatko ohrozujú žubrienky a neskôr aj veľké žaby, proti ktorým však môžete použiť uspávacie huby, alebo ich zlikvidovať hodením kameňa, či balvanu na hlavu. Každých 5 miestností má svoj prístupový kód, ktorý sa vám zobrazí po ich prejdení a neskôr je možné s pomocou tohto kódu pokračovať v rozohranej hre.

Ak si chcete zahrať retro Flappy môžete na emulátore československého počítača PMD-85. http://pmd85.borik.net/wiki/Flappy.

Výsledkom môjho snaženia je hra Flappy, ktorú nájdete vo Windows Store http://apps.microsoft.com/windows/app/flappy/61857603-6fe1-466b-b890-44d66ea37201

Hra je aj vo Free verzii http://apps.microsoft.com/windows/app/flappy-free/a2153dbe-ac79-44b8-9af2-bc0169391af8

Luboslav Lacko – privacy policy for my Windows Store apps

14. februára 2014

Personal Information

This application does not collect or transmit any user’s personally identifiable information. No personal information is used, stored, secured or disclosed by services this application works with.

Advertising Banner Privacy Policy

Apps of ours which provide free usage via inbuilt advertising may transmit basic regional/language information about you to the advertising banner system in order to provide you with relevant ads.

Third Parties

If the app makes use of third party services, their usage of information is excluded from this privacy policy. You will be clearly made aware of the third parties involved in the app and we will ensure the very minimal set of data is set to those third parties.

Report Violations or Get More Information

If you would like to report any violations of this policy or get more information on any app, please emailing me at llacko@outlook.com.

 

In Slovak language

Ochrana osobných údajov pre Windows 8 aplikácie

Požiadavky na fungovanie aplikácie

Niektoré aplikácie pre správne fungovanie vyžadujú pripojenie k internetu pre načítanie aktuálneho obsahu. Niektoré aplikácie vyžadujú pre plnú funkcionalitu tablet, alebo konvertibilné zariadenie vybavené senzormi.

Ochrana osobných údajov

Aplikácia v aktuálnej verzii nezbiera od používateľa a neukladá žiadne údaje.

Podpora

Uvítam akékoľvek otázky, pripomienky alebo požiadavky ohľadne aplikácie. Prosím, neváhajte ma kontaktovať na adrese llacko@outlook.com. Ak sa rozhodnem zmeniť zásady ochrany osobných údajov, zverejním zmeny na tejto stránke tak, že ste vždy informovaní o tom, aké informácie sa zhromažďujú, ako sa využívajú a za akých okolností môžu byť zverejňované.

Posielanie notifikácií pre Windows 8 aplikácie II.

11. februára 2014

Námetom state je posielanie Push notifikácie z platformy Windows Azure Notification Hubs do Modern UI aplikácie, teda aplikácie pre Windows 8 a 8.1 distribuovanej cez Windows Store prostredníctvom Windows Push Notification service (WNS).

Paralelne vytvoríme tri odlišné projekty

  • Windows 8.1 aplikáciu, ktorá bude notifikácie prijímať a zobrazovať
  • Windows Azure notifikačnú službu
  • Aplikáciu, ktorá bude simulovať posielanie notifikácií z mobilných zariadení

Zosumarizujme si úvodnú situáciu. Zatiaľ nemáte vytvorené nič, ani aplikáciu, ani cloudovú notifikačnú službu. Najskôr vytvoríte aplikáciu, ktorá bude notifikácie prijímať a spracovávať. Aby mohla notifikácie prijímať, musí byť zaregistrovaná vo Windows obchode. Preto budete pracovať paralelne vo Visual Studiu a v Dashboarde vývojárskeho portálu. Aby ste mohli vami vytvorený projekt prepojiť so zaregistrovanou aplikáciou v Store, musíte postupovať tak, že najskôr zatiaľ neexistujúcu aplikáciu zaregistruje v Store a následne ju vytvoríte a projekt prepojíte so zaregistrovanou aplikáciou. Najlepšie to pochopíte na praktickom príklade

Registrácia aplikácie do Windows Store

V prvom kroku, skôr než vo Visual studiu vytvoríte projekt Windows Store aplikácie, ktorá bude notifikácie prijímať, musíte túto zatiaľ neexistujúcu aplikáciu zaregistrovať do Windows Store. Zatiaľ ju môžete publikovať, stačí zaregistrovať názov aplikácie a následne po prepojení s projektom budete definovať napojenie na notifikačnú službu.

Na vývojárskom portáli dev.windows.com sa prepnite do záložky Dashboard a aktivujte odkaz Submit an app.

Obr .1. Dashboard pre publikovanie Windows 8 aplikácie

Najskôr musíte pre svoju aplikáciu vymyslieť originálny názov, overiť si, či ho už niekto nepoužil, a ak nie, tak si tento názov pre aplikáciu rezervovať. Aktivujte odkaz App name a zadajte názov aplikácie. Ak je názov už registrovaný niekým iným, musíte vymyslieť iný. V našom príklade sme použili názov “Notifikácie”, takže tento názov použiť nemôžete.

Obr. 2. Registrovanie názvu aplikácie

Vytvorenie Windows 8.1 aplikácie, ktorá bude prijímať notifikácie

Jednoduchá Windows 8.1 aplikácia prakticky bez používateľského rozhrania bude mať len jedinú úlohu – zaregistrovať sa na príjem notifikácií a následne tieto notifikácie prijímať a zobrazovať.

Vo Visual Studiu vytvorte projekt Windows Store aplikácie. My sme použili programovací jazyk C# a najjednoduchšiu šablónu Blank App. Aby sme demonštrovali, že názov projektu nemusí byť totožný so zaregistrovaným názvom aplikácie, vytvorili sme projekt SpracovanieNotifikacii. Pripomíname, že predchádzajúcom kroku sme vo Windows obchode registrovali názov Notifikácie.

Obr. 3. Vytvorenie projektu Windows 8.1 aplikácie

Pre napojenie projektu na aplikáciu ktorá sa bude publikovať cez Windows obchod (zatiaľ sme ju tam len zaregistrovali) v okne Solution Explorer pravým tlačidlom myši aktivujte kontextové menu projektu a aktivujte položku Store -> Associate App with the Store….

Obr. 4. Prepojenie projektu so zaregistrovanou aplikáciou pre Windows obchod

Asociovanie projektu so zaregistrovanou aplikáciou pre Windows obchod v praxi znamená, že do projektu sa z vývojárskeho portálu Windows Obchodu do aplikačného manifestu vášho projektu nasledujúce atribúty:

  • Package Display Name
  • Package Name
  • Publisher ID
  • Publisher Display Name
  • Version


Obr. 5. Prepojenie s konkrétnym názvom zaregistrovanej aplikácie

 

Napojenie aplikácie na notifikačnú službu

V tomto kroku sa opäť prepnite do Dashboardu vášho vývojárskeho konta pre Windows Store aplikácie. Na stránke pre publikovanie aplikácie, ktorú ste zaregistrovali v prvom kroku tohto návodu kliknite na položku Services. Na stránke Services aktivujte odkaz Live Services site.

Obr. 6. prepojenie na Windows Azure Mobile Services

Na stránke Push notifications and Live Connect services info sa prepnite do záložky Authenticating your service. Zobrazia sa dva vygenerované bezpečnostné prvky:

  • Package Security Identifier (SID)
  • Client secret

Ich hodnoty si skopírujte na dôveryhodnú lokalitu a s nikým ich nezdieľajte.

Vytvorenie Notification Hub

V tejto fáze sa dejstvo presunie do vášho Windows Azure konta, ktoré musíte maž v tomto okamihu vytvorené a aktivované. Môžete použiť:

  • 30 dňové Free trial konto
  • Konto získané ako predplatiteľ MSDN
  • Konto študenta cez DreamsPark
  • Komerčné konto

Notification Hub budete vytvárať cez Windows Azure Management Portal
https://manage.windowsazure.com/

Novy Service Bus vytvoríte tlačidlom New, ktoré nájdete na dolnej aplikačnej lište portálu. Aktivujete položku App Services -> Service Bus ->Notification Hub -> Quick Create.

Obr. 7. Vytvorenie Notification Hub

Zadajte vhodný názov a potvrďte kliknutím na link Create a new Notification Hub v dolnej časti menu aplikačnej lišty

Obr. 8. Zadanie názvu pre Notification Hub

Po vytvorení, ktoré trvá niekoľko sekúnd nájdete vami vytvorený namespace pre Service Bus na portáli, v zložke SERVICE BUS.

Obr. 9. Novovytvorený namespace Service Bus v portáli, v zložke SERVICE BUS.

Kliknite na namespace novo vytvorenej služby, ktorý má implicitne názov nazov_notifikacnej_sluzby-ns a následne na záložku záložku Notifications hubs. Potom môžete vybrať konkrétny Notification hub (namespace ich môže obsahovať viac) . Pre vybraný hub sa prepnite do záložky Configure.

Zobrazí sa stránka, kde zadávate notifikačné parametre pre aplikácie na požadovaných platformách. Zatiaľ plánujeme posielať notifikácie pre Windows 8 aplikáciu, takže zadáte parametre pre WNS získané pri registrácii služby vo Windows Store Windows Store. Postup získania parametrov je popísaný v stati Napojenie aplikácie na notifikačnú službu. Zadanie potvrďte tlačidlom Save na aplikačnej lište (tlačidlo so symbolom diskety)

Obr. 10. Zadávanie parametrov pre Windows 8 aplikáciu získané z Windows Store

Prepnite sa do záložku Dashboard a následne kliknite na tlačidlo Connection Information umiestnené na aplikačnej lište (tlačidlo so symbolom kľúča). Zobrazí sa dialóg s parametrami na pripojenie k notifikačnej službe. Parametre si prípadne prekopírujte na vhodné miesto cez Clipboard.

Obr. 11. dialóg s parametrami na pripojenie k notifikačnej službe.

Napojenie Windows 8 aplikácie na Notification Hub

 

 

Obr. 12. Pridanie NuGet balíčka WindowsAzure.Messaging.Managed

 

Do súboru App.xaml.cs pridajte referencie na menné priestory

using Windows.Networking.PushNotifications;

using Microsoft.WindowsAzure.Messaging;

using Windows.UI.Popups;

 

V súbore App.xaml.cs pridajte do triedy App metódu

private async void InitNotificationsAsync()

{

var channel = await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();

 

var hub = new NotificationHub(“<hub name>”,

“<connection string with listen access>”);

var result = await hub.RegisterNativeAsync(channel.Uri);

 

//V prípade úspechu vráť registračné ID

if (result.RegistrationId != null)

{

var dialog = new MessageDialog(“Registrácia bola úspešná: ” +

result.RegistrationId);

dialog.Commands.Add(new UICommand(“OK”));

await dialog.ShowAsync();

}

};

 

Parametre v šípových zátvorkách <hub name>” a “<connection string with listen access>” nahradte reálnymi hodnotami pre vašu notifikačnú službu.

Ako prvý parameter zadajte názov vášho notifikačného hubu a druhý parameter bude hodnota z poľa DefaultListenSharedAccessSignature. Dialóg z parametrami pre daný hub zobrazíte kliknutím na tlačidlo Connection Information umiestnené na aplikačnej lište (tlačidlo so symbolom kľúča).

Volanie metódy InitNotificationsAsync() umiestnite na začiatok metódy OnLaunched. Teraz môžete aplikáciu spustiť. Po chvíli by sa mám mal zobraziť oznam o úspešnej registrácii aplikácie k notifikačnému hubu.

Obr. 13. Oznam o úspešnej registrácii aplikácie k notifikačnému hubu.

 

Obr. 14. Povolenie notifikácií pre Windows 8 aplikáciu

 

Posielanie notifikácií

Vo Visual Studiu vytvorte projekt aplikácie na posielanie notifikácií. Môže to byť napríklad konzolová aplikácia

Obr. 15. Projekt konzolovej aplikácie na posielanie notifikácií

 

Do projektu pridajte WindowsAzure.ServiceBus NuGet

Obr. 16. Pridanie NuGet balíčka WindowsAzure.ServiceBus

Do súboru Program.cs pridajte referenciu na menný priestor

using Microsoft.ServiceBus.Notifications;

 

V triede Program vytvorte metódu

private static async void SendNotificationAsync()

{

NotificationHubClient hub =

NotificationHubClient.CreateClientFromConnectionString( “<connection string

with full access>”, “<hub name>”);

var toast = @”<toast><visual><binding template=””ToastText01″”><text id=””1″”>
Toto je moja notifikácia!</text></binding></visual></toast>”;

await hub.SendWindowsNativeNotificationAsync(toast);

}

 

Parametre v šípových zátvorkách <hub name>” a “<connection string

with full access>” nahraďte reálnymi hodnotami pre vašu notifikačnú službu.

Volanie metódy pre vyslanie notifikačnej správy umiestnite do tela metódy Main()

static void Main(string[] args)

{

SendNotificationAsync();

Console.ReadLine();

}

 

Teraz môžete aplikáciu spustiť a ak je všetko v poriadku, zobrazí sa notifikačná správa

Obr. 17. Prijatie notifikačnej správy

Posielanie notifikácií pre Windows 8 aplikácie

7. februára 2014

V mini seriáli ukážem posielanie notifikácie cez cloud. Pre tento účel potrebujete Windows Azure konto

 

1 – Vytvorenie konta Windows Azure

Windows Azure je operačný systém pre služby typu “cloud computing”, ktorý slúži ako prostredie pre vývoj, hostovanie a správu služieb na platforme Windows Azure. Vstupný bod do platformy je www.windowsazure.com.

Námetom príkladu je vytvorenie bezplatného trial konta (www.windowsazure.com/en-us/pricing/free-trial ).

konto.png Dialóg pre vytvorenie skúšobného konta, ak je to relevantné ponúkne predplatiteľom MSDN upgrade

V úvodnej fáze vytvorenia účtu budete požiadaní o zadanie verifikačného kódu, ktorý vám bude zaslaný prostredníctvom SMS.

Následne, napriek tomu že máte garantované, že nebudete nič platiť, ani keď prekročíte mesačnú lehotu a neupracete po sebe, teda neodstránite publikované služby, je pri vytváraní skúšobného konta potrebné zadať ako povinný parameter číslo kreditnej karty. Kreditná karta v tomto prípade slúži výhradne k overeniu vašej totožnosti a bude z nej stiahnutá maximálne suma 1 USD aby sa overilo, že karta funguje. Tieto peniaze sa vám následne na kartu vrátia. Dôvodom takéhoto postupu je, aby sa výpočtový potenciál týchto účtov nezneužíval na rôzne nekalé účely.

Počas 1 mesiaca máte k dispozícii na vyskúšanie ľubovoľné služby v objeme 150 EUR. Vstupný bod do vášho Azure účtu je https://manage.windowsazure.com/

Skúšobné konto v rámci predplatného MSDN

Vývojári s predplatenou službou MSDN môžu využívať bezplatné konto počas celého trvania predplatného. Objem dostupných prostriedkov závisí od úrovne MSDN, ktoré máte predplatené. V prípade aktivovania benefitu Windows Azure v MSDN, nie je potrebné zadať žiadnu platobnú kartu, pričom aj pri tomto prístupe máte garantovanú nulovú platbu. Ak vyčerpáte pridelené limity, služba bude zvyšok mesiaca obmedzená. Predplatné MSDN získavajú v programe BizSpark aj vývojárske “startupy”, ktoré si tiež môžu aktivovať Azure benefit bez platobnej karty a môžu ho používať dokonca aj na produkčné účely.

 

 

Vytvorenie konta pre predplatiteľov MSDN

Konto pre predplatiteľov MSDN má automaticky nastavenú kontrolu limitu aby nebolo potrebné platiť za využívanie služby nad rámec predplateného objemu

 

Predplatený objem v rámci MSDN konta