Image
11.7.2016 0 Comments

Vývoj pre Windows 10 – Notifikácie / 13. časť

Späť na úvod >> Späť na programovanie >> Späť na seriál

V predchádzajúcej časti sme prebrali zobrazovacie možnosti aktívnych dlaždíc. Zobrazené aktuality na týchto dlaždiciach však používateľ uvidí iba na domácej obrazovke Štart. Ak práve pracuje s niektorou aplikáciou a táto potrebuje s používateľom operatívne komunikovať, má pre tento účel k dispozícii takzvané oznámenia. Fungovanie oznámení oveľa lepšie vystihuje pomenovanie v angličtine - „toast“ notification. Okno zo správou skutočne „vyskočí“ na pracovnej ploche podobne ako hrianka z hriankovača.

Oznámenia zobrazujú, čo je nové, v danom okamihu. Mali by sa využívať na zobrazenie správ, ktoré sú zaujímavé aj mimo kontextu aplikácie, aby aplikácia získala okamžitú pozornosť používateľa. Typickým príkladom je ak príde mailová správa, nastane čas udalosti, ktorú máte nastavenú v svojom kalendári a podobne. Oznámenia sú úplne pod kontrolou používateľa, ktorý sám rozhodne z ktorých aplikácií si želá dostávať oznámenia. Môže ich aj celkom vypnúť.

Možnosti povolenia a zakázania oznámení fungujú na úrovni operačného systému aj na úrovni jednotlivých aplikácií

Uvedieme syntax XAML kódu pre návrh oznámenia

<toast launch="app-defined-string">
  <visual>
    <binding template="ToastGeneric">
      <text>Sample</text>
      <text>This is a simple toast notification example</text>
      <image placement="AppLogoOverride" src="oneAlarm.png" />
    </binding>
  </visual>
  <actions>
    <action content="check" arguments="check" imageUri="check.png" />
    <action content="cancel" arguments="cancel" />
  </actions>
  <audio src="ms-winsoundevent:Notification.Reminder"/>
</toast>

napríklad

<toast launch="app-defined-string">
  <visual>
<binding template="ToastGeneric">
    <text>Photo Share</text>
      <text>Andrew sent you a picture</text>
      <text>See it in full size!</text>
      <image placement="appLogoOverride" src="A.png" />
    <image placement="inline" src="hiking.png" />
    </binding>
  </visual>
</toast>

Všimnite si, že XAML kód má tri sekcie – vizuálnu, sekciu na definovanie akcie, ktorá sa má urobiť a audio, čiže prípadný sprievodný zvuk oznámenia.

Príklad vytvorenia oznámenia

V príklade ukážeme rôzne možnosti oznámení, počnúc jednoduchou textovou správou, oznámenie, ktoré obsahuje kombináciu textu a obrázku a taktiež aj možnosť načasovania oznámenia. Vytvorte projekt prázdnej (Blank App) UWP aplikácie. Pre jednoduchosť bude impulzom k zobrazeniu oznámenia kliknutie na tlačidlo, ktoré bude jediným ovládacím prvkom v našom príklade, takže do XAML kódu doplňte:

<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
    <Button Content="Pošli oznámenie"
            HorizontalAlignment="Left" Margin="185,210,0,0"
            VerticalAlignment="Top" Height="100" Width="300"     
            Click="Button_Click_1"/>
</Grid>

Do kódu pre obsluhu udalostí pridajte namespace

using Windows.UI.Notifications;
using Windows.UI.Popups;
using Windows.Data.Xml.Dom;

a obsluhu udalosti zatlačenia tlačidla, kde v prvom rade je potrebné skontrolovať, či používateľ oznámenia pre príslušnú aplikáciu povolil.

private void Button_Click_1(object sender, RoutedEventArgs e)
{
    var notifier = ToastNotificationManager.CreateToastNotifier();
 
 // Sú oznamenia povolené?
    if (notifier.Setting != NotificationSetting.Enabled)
    {
       var dialog = new MessageDialog("Ozn8menia nie sú povolené");
       dialog.ShowAsync();
       return;
    }
 
 // výber šablóny oznámenia
    var toastXml =
    ToastNotificationManager.GetTemplateContent(ToastTemplateType.ToastText01);
    var elements = toastXml.GetElementsByTagName("text");
    elements[0].AppendChild(toastXml.CreateTextNode("Dáva sa na všeobecnú známosť,
         že táto aplikácia funguje"));
 // zobrazenie oznamenia  
    var toast = new ToastNotification(toastXml);
    notifier.Show(toast);
}

Najjednoduchší príklad notifikácie

Štýl oznámenia môžete definovať aj výberom z ôsmych preddefinovaných typov, pričom text je vo formáte XML, takže môže byť štruktúrovaný a formátovaný.

Šablóny preddefinovaných textových typov oznámení

Šablóny preddefinovaných typov oznámení – kombinácia textu a obrázku

Plánovanie zobrazenia oznámenia

Často môže byť vhodné naplánovať zobrazenie oznámenia na určitý čas, čo umožňuje vytvoriť najjednoduchší pripomienkovač. Na čo sa takýto scenár hodí? Napríklad spustíte aplikáciu typu kuchárska kniha a v recepte je stať „15 minút variť“ a vedľa textu je tlačidlo na nastavenie pripomienkovača. Ak používateľ ide podľa receptu krok po kroku, dá ingrediencie do hrnca, nastaví pripomienkovač, prepne sa na inú aplikáciu a kým sa jedlo varí prezerá si správy. O 15 minút sa mu zobrazí oznámenie, že jedlo je odvarené. V našom príklade doplníme kód, v ktorom naplánujeme zobrazenie notifikácie o pol minúty

private void Button_Click_1(object sender, RoutedEventArgs e)
{
    var notifier = ToastNotificationManager.CreateToastNotifier();
    ToastTemplateType toastTemplate = ToastTemplateType.ToastImageAndText01;
    XmlDocument toastXml =
        ToastNotificationManager.GetTemplateContent(toastTemplate);
    XmlNodeList toastTextElements = toastXml.GetElementsByTagName("text");
    toastTextElements[0].AppendChild(toastXml.CreateTextNode("Jedlo je hotové!"));
   var date = DateTimeOffset.Now.AddSeconds(30);
   var stn = new ScheduledToastNotification(toastXml, date);
   notifier.AddToSchedule(stn);
 }

Zdrojom správ pre oznámenia môže byť buď aplikácia alebo externá cloudová služba prostredníctvom Windows Push Notification Service (WNS)

Viac sa o návrhu a fungovaní oznámení dozviete na msdn.microsoft.com

Zobrazit Galériu

Nechajte si posielať prehľad najdôležitejších správ emailom

Mohlo by Vás zaujímať

ITPro

Linux súkromne i pracovne v2.0 (14. časť): Small Business Server

09.11.2016 14:57

Pojem Small Business Server (malý firemný server) začala používať spoločnosť Microsoft ešte v roku 2000 na označenie servera, ktorý ­dokázal plniť úlohy niekoľkých samostatných serverov. Aplikačná vrs ...

ITPro

Industry 4.0: Fikcia alebo už realita?

09.11.2016 14:52

Štvrtá priemyselná revolúcia je pomenovanie rozsiahlych zmien prudko vstupujúcich do súčasného priemyslu. Nositeľom týchto zmien je digitalizácia výroby a optimalizácia všetkých podnikových procesov v ...

ITPro

Vývoj aplikácií UWP pre Xbox One II.

09.11.2016 14:47

V predošlej časti sme ukázali postup, ako si ­vytvoriť vývojársky účet a aktivovať vývojársky režim na hernej konzole Xbox One, aby ste mohli testovať svoje aplikácie. Výhodou hernej konzoly Xbox je v ...

Žiadne komentáre

Vyhľadávanie

Kyocera - prve-zariadenia-formatu-a4-s-vykonom-a3

Najnovšie videá