Know-how, prelegere, notificări push și serviciul de notificare push push Windows

Sarcini, dependente de blocarea ecranului și declanșatoare

Atunci când sunt invocate, scripturi și exemple

Vezi ControlChannelTrigger de mai jos.

Utilizatorul a intrat în sistem de pe ecranul de blocare.







Aparatul a intrat într-un mod inactiv (de exemplu, ecranul a fost oprit) ca urmare a inactivității utilizatorilor.

Utilizatorul a afișat activitate în modul inactivitate dispozitiv.

SystemTriggerType.controlChannelReset este folosit pentru a controla sarcina de fundal pentru modificările canalului de control în loc de canalul propriu-zis.

Notă. În simulatorul Visual Studio, lucrul cu ecranul de blocare nu este acceptat. Pentru a depana aplicațiile ecranului de blocare, trebuie să utilizați opțiunile Local Machine sau Remote Machine debugging.

sarcinile de fundal pentru aceste declanșatoare sunt create și înregistrate după cum am văzut deja. De exemplu, TimeTrigger, create indicând intervalele freshnessTime (în minute) și pavilionul Oneshot, așa cum se arată în exemplul 5 Scenarii "sarcină de fond" (js / time-trigger-background-task.js):

Deși puteți să sunați la BackgroundTaskBuilder.register. sarcina nu va fi executată până când utilizatorul nu adaugă aplicația la ecranul de blocare, așa cum am văzut în Fig. 6.1. Aplicația nu are capacitatea de ao controla - tot ce poate face prin solicitarea datelor corespunzătoare este să se asigure că este disponibilă pentru selectare de către utilizator în secțiunea corespunzătoare din Setările PC-ului.

Interogarea este efectuată utilizând metoda Windows.ApplicationModel.Background.BackgroundExecutionManager.requestAccessAsync; acest apel trebuie efectuat înainte de înregistrarea sarcinii de fundal (din nou, a se vedea Scenariul 5 din exemplul "Activitate de fond"):

Atunci când acest apel este făcut pentru prima dată, acesta apelează o fereastră pentru a obține consimțământul utilizatorului, care este prezentat în Fig. 6.2. Dacă utilizatorul selectează Permite, aplicația va apărea în secțiunea corespunzătoare din Setările PC-ului ca o opțiune de adăugat la ecranul inițial, altfel nu se va întâmpla. Ca și în cazul altor permisiuni, utilizatorii își pot schimba mintea ulterior utilizând setările Permisiuni, așa cum se arată în Fig. 6.3.


Fig. 6.2. Întrebarea care este solicitată utilizatorului dacă aplicația are nevoie de acces la ecranul de blocare

Know-how, prelegere, notificări push și serviciul de notificare push push Windows


Fig. 6.3. Parametrul ecranului de blocare din panoul Permisiuni al unei aplicații care are nevoie de acces similar

Scenariul 2, la rândul său, arată trimiterea de notificări ale indicatorului de eveniment la ecranul de blocare, împreună cu actualizarea textului în jurul ceasului, în cazul în care aplicația este selectată pentru a afișa acest text. Nu este nimic special atunci când vine vorba de ecranul de blocare: aceste actualizări se întâmplă în același mod ca și pentru aplicațiile țiglă. Singura diferență este că aceste actualizări sunt afișate pe ecranul de blocare. În cazul indicatorilor de eveniment, se afișează simbolul de notificare împreună cu imaginea în care este setată setarea Logo Badge (Interfață aplicație)> Notifications (Application UI> Notifications) a manifestului (Figura 6.1). Repetând din cele menționate anterior, această imagine poate avea numai pixeli albi și transparenți și ar trebui prezentată în trei dimensiuni pentru diferite niveluri de zoom: 24x24 (100%), 33x33 (140%) și 43x43 (180%).

Depanarea sarcinilor de fundal

Până acum, probabil, au lansat deja o sarcină TimeTrigger de fond în scenariul 5, un exemplu de „Sarcini de fundal“, și, deși că timpul a trecut mai mult de 15 minute (poate fi mai mult de 30 de minute, în cazul în care tocmai ați ratat fereastra de 15 minute, atunci când cronometre unite ), este posibil să așteptați să treacă această perioadă. Acest lucru înseamnă că viața dvs. atunci când depanarea sarcinilor de fundal va consta dintr-o așteptare totală?







Din fericire, răspunsul la această întrebare este "Nu" și "Posibil". Asta este, debuggerul Visual Studio știe despre sarcinile de fond înregistrate și oferă o listă a acestora în meniul drop-down Suspendare în bara de instrumente:

Know-how, prelegere, notificări push și serviciul de notificare push push Windows

Know-how, prelegere, notificări push și serviciul de notificare push push Windows

Al treilea avertisment este că sarcinile de fundal care utilizează ControlChannelTrigger. PushNotificationTrigger. și SystemTriggerType.SmsReceived nu sunt afișate în meniul Visual Studio menționat mai sus.

Și, în sfârșit, am remarcat încă o dată că în simulatorul Visual Studio nu sunt suportate sarcini de fundal, precum dale dinamice, notificări și multe alte mecanisme menționate în această prelegere. În schimb, trebuie să utilizați opțiunea Local Machine sau opțiunea Remote Machine.

Ce am învățat (Wow!)

  • gresie renovare - principal și suplimentare, actualizarea indicatorilor de evenimente, notificări pop-up, sarcinile de fond, din care aplicația poate trimite un dale de actualizare și notificări - acesta este modul în care aplicația își aduce contribuția la dinamismul general al sistemului, chiar și atunci când nu este executată.
  • Actualizările și notificările, desigur, pot fi trimise de la aplicația care rulează, dar există și alte metode de difuzare a acestor actualizări atunci când aplicația nu se execută. Actualizările pot fi programate pentru afișare după un timp, aplicația poate configura sistemul pentru a solicita periodic un serviciu pentru actualizări la dale și indicatori de evenimente. Aplicațiile pot, de asemenea, să configureze notificări push care provin de la serviciul web și sunt trimise clientului prin intermediul serviciului de notificare prin presare Windows (WNS).
  • Actualizările de dale sunt trimise utilizând sarcini utile XML bazate pe șabloane predefinite. De obicei, datele includ actualizări pentru plăcile pătrat și dreptunghiulare, deoarece utilizatorul poate alege ce țiglă va fi afișată. XML se poate referi la imagini din surse atât locale, cât și la distanță, imaginea nu poate fi mai mare de 1024x1024 pixeli, dimensiunea acesteia nu trebuie să depășească 200 KB.
  • Placa poate afișa până la cinci actualizări în orice moment, fiecare dintre acestea putând fi înlocuită separat de celelalte.
  • Aplicațiile care au conținut special pe care utilizatorul ar putea fi interesat să le atașeze la ecranul de întâmpinare ca o piesă suplimentară sunt date de comenzile Attach (Pin) și Unpin. Tabele suplimentare, la pornirea unei aplicații cu argumente speciale de pornire, pot primi, de asemenea, actualizări ale dalelor dinamice.
  • Indicatorii evenimentului sunt mici pictograme (glife) sau numere care pot fi afișate pe orice placă. Actualizările pentru indicatorii de evenimente sunt trimise utilizând aceleași mecanisme ca și actualizările de dale, dar funcționează independent.
  • Notificările pop-up (toasts) sunt notificări care par să informeze utilizatorul despre noi informații, să facă un memento și așa mai departe. Ele pot fi configurate pentru a reda sunete, setate pentru a repeta după un anumit interval, sunt programate pentru apariția viitoare. Ca plăci suplimentare, notificările pop-up, atunci când sunt activate, porniți aplicația cu argumente speciale de pornire.
  • Actualizările periodice pentru dale și indicatori de evenimente includ transferul URI-ului Windows al serviciului web pentru un apel la intervalul selectat, de la 30 minute la 24 de ore. Actualizările periodice reprezintă cea mai ușoară și mai puțin costisitoare modalitate de a actualiza o placă cu un serviciu web.
  • Comunicările de notificare pentru dale, indicatori de evenimente, notificări pop-up și notificări brute (care conțin toate datele solicitate) pot fi utilizate pentru actualizări care sunt legate de un anumit utilizator și sunt produse cu o frecvență înaltă. Utilizarea acestora implică crearea unui serviciu web care comunică cu WNS pentru a trimite notificări similare către canalele URI specificate, proces care este mai complex și mai scump decât lucrul cu actualizări periodice.
  • Activitățile de bază sunt mici fragmente de cod pe care aplicația le configurează pentru lansare când se declanșează un anumit declanșator, cum ar fi schimbările în condițiile de conectare la rețea, temporizatorul, recepția notificărilor push și actualizările programului. Cu toate acestea, aplicațiile nu trebuie să depindă niciodată de sarcini de fundal, deoarece acestea sunt întotdeauna sub controlul utilizatorului.
  • Activitățile de declanșare a sarcinilor de fundal pot fi reglate în condiții speciale, pentru a evita efectuarea sarcinilor atunci când nu este necesară (de exemplu, atunci când nu există conexiune la Internet).
  • Unele declanșatoare necesită adăugarea aplicației la ecranul de blocare. Aceste aplicații trebuie să solicite mai întâi accesul, în funcție de decizia utilizatorului, iar utilizatorul trebuie să adauge aplicația prin Setările PC-ului. După ce ați primit acest privilegiu, aplicațiile pot trimite actualizări la pictograme și text pe ecranul de blocare.
  • Prin declanșatoarele de servicii, aplicațiile pot configura sarcinile care se execută periodic atunci când dispozitivul este conectat la o sursă de alimentare.






Articole similare

Trimiteți-le prietenilor: