nouăsprezecea zi

intrare

Studierea posibilității de Windows Phone 7, este imposibil să nu observe notificarea de mecanism de notificare, care nu a fost în versiunile anterioare de Windows Mobile. Mecanismul în sine este foarte convenabil pentru dezvoltatori și utilizatori, și vă permite să notifice asincronă utilizatorul despre evenimentele curente. De exemplu, un serviciu de nor poate informa utilizatorul despre ce sa întâmplat un eveniment la care trebuie să răspundă într-un fel. Să vedem ce este în interiorul mecanismului.







Dacă nu ați auzit că o Notificări Push, atunci nu vă faceți griji. Este foarte simplu: în loc de a obține aplicația pentru a verifica serverul de date noi la fiecare câteva minute, serverul dvs. se spune utilizatorul că noile date.

De ce Notificările utilizează Push?

Unul dintre principalele motive - pentru a economisi energia bateriei. solicitări constante la server - este o sarcină suplimentară pe dispozitiv, ceea ce duce la consumul de energie.

Al doilea motiv - utilizând mecanismul de notificare, puteți spune utilizatorului apariția unor evenimente interesante, chiar dacă aplicația nu rulează în acest moment. Puteți notifica utilizatorul pe care doriți să deschideți aplicația pentru a efectua o acțiune.

Cum Push notificare

În structura notificări push există un serviciu special în nor (găzduit în detrimentul capacităților Microsoft), ceea ce face ca posibilitatea de a lucra notificări. Atunci când un dispozitiv dorește să fie notificat apelurilor la acest serviciu și stabilește o conexiune permanentă cu ea. Ca răspuns, serviciul oferă dispozitivului un URI unic, folosind pe care îl puteți trimite prin HTTP un mesaj. Acest mesaj devine același serviciu în nor și trimite-l la dispozitivul corespunzător. Este logic ca acest URI va fi unic pentru fiecare dispozitiv și de aplicare. Astfel, Phone 7 notificări de operare Windows pot fi descrise după cum urmează:

Schematic, acest algoritm poate fi reprezentat după cum urmează.

nouăsprezecea zi

tipuri de notificări

Există trei tipuri diferite de notificări pentru Windows Phone 7:

  • Notificări de placi de ceramica - în cazul în care cererea dumneavoastră este fixată pe ecranul de pornire acasă, puteți actualiza tigla (tigla) a aplicației. De exemplu, puteți schimba imaginea de fundal, folosind o serie de numere 0-99. La trimiterea notificării specifică o adresă URL a unei imagini, care se află în rețea. Când aparatul primește o notificare prin care acesta se descarcă în mod automat o imagine din rețea și actualizează-l pe un dispozitiv de tip desktop.
  • Notificări Toast - dacă primiți acest tip de notificare pe ecran apare un mic mesaj ce conține textul notificării. Dacă în acest moment această aplicație poate fi inactiv. Când faceți clic pe acest mesaj, utilizatorul poate comuta rapid la notificarea corespunzătoare.
  • Notificări prime - dacă primiți acest tip de notificare este transmisă direct la conținutul cererii. Aplicarea dreptului de a procesa conținutul notificării după cum consideră potrivit în propriul algoritm. Acesta este modul cel mai flexibil pentru a primi notificări de la servicii externe.






Luați în considerare toate cazurile descrise. Dacă doriți să-și intensifice printr-un exemplu, recomand pentru a vedea un exemplu in kit-ul de formare pentru Windows Phone Developer, care este descris în detaliu modul de lucru cu notificare Push.

Notificări de placi de ceramica

Apoi, trebuie să creați o instanță a ShellTileSchedule de clasă. care va actualiza aplicațiile țiglă. App.xaml.cs Deschideți fișierul de proiect, localizați App Application Designer și se introduce imediat după următorul fragment de cod.

Pe celelalte proprietăți și metode:

Acum, du-te la App () constructorul și se adaugă funcțiile de provocare CreateShellTileSchedule:

Obținerea personalizat URI din notificare de serviciu Push

Pentru munca avem nevoie pentru a construi Microsoft.Phone.Notification. Pe de altă parte, putem obține serviciul URI dreapta printr-o notificare Push (PNS), scriind 10 de linii de cod. În primul rând vom crea HttpNotificationChannel exemplu, care este asociat automat cu PNS (fir separat). Rămâne pentru noi pentru a crea un eveniment pentru a captura de răspuns de serviciu.

Acesta este răspunsul a fost în cazul meu:

Lucrăm cu notificare Toast

Ia-Push nostru URI, vom crea pur și simplu HTTP-mesaj si trimite-l la URI-ul nostru. Iată cum arată în codul:

După cum puteți vedea, codul este destul de lungă și complicată. Deci, încă o dată am recomanda pentru a studia exemplul Kit Phone Developer Formare pentru Windows (Push exemplu de notificare). Acolo, întregul proces este descris în detaliu de la început până la sfârșit, și se arată cât de puternic mecanism de actualizare în aplicația dumneavoastră înainte de ochii utilizatorului.

Notificări prime

Acum, creați un handler care va fi declanșat în momentul primirii notificării. În acest scop, am semnat deja pentru acest eveniment HttpNotificationReceived. Parametrii trecut la tratare a evenimentului HttpNotificationEventArgs obiecta, care permite accesul la corpul HTTP-cerere, care a fost obținută în urma aplicării pe care a creat notificarea. În cel mai simplu caz, lăsați acest mesaj este afișat pentru utilizator. Corpul mesajului este disponibil ca un flux (Stream). Pentru a citi, vom folosi obiectul StreamReader.

În acest handler, folosim un element de management al ReceivedData. Pentru a face acest lucru posibil, este necesar să se adauge la formularul. Fă-o mișcare ușor de mână.

La trimiterea notificării, ca răspuns, vom primi, de asemenea, două antet „X-DeviceConnectionStatus“ și „X-NotificationStatus“, care permit să se determine starea dispozitivului este conectat la rețea și starea de livrare a acestui mesaj. Astfel, codul aplicației noastre simplu va fi după cum urmează.

Acum, când executați aplicația și trimite mesaje text, acest text va fi afișat pe ecranul dispozitivului mobil.

Noi v-am creat dintr-o aplicație banală, care a primit linie pur și simplu, se afișează pe ecran. Cu toate acestea, toată puterea Notificări prime este că putem defini comportamentul orice brand pentru procesarea de notificări. De exemplu, să schimbe aplicația, astfel încât la primirea numelor unor culori, se schimbă culoarea literelor, notificarea mesajului.

Acum, când trimiteți o notificare care conține numele de culori, culoarea textului în aplicație va varia.

Este clar că este, de asemenea, algoritmul de procesare foarte simplu. Cu toate acestea, este bine demonstrat că nimeni aici nu ne limitează în modul de a construi procesarea notificărilor. În general, putem crea complet orice tip de manipulare sau de a modifica comportamentul cererii.