Windows Phone 8 in 10 zile 5

Azi o să introducem și Facebook în aplicația noastră, posibilitatea de a da share informațiilor din interiorul aplicației.

În primul rând intră pe: http://adriancoman.ro/facebook-login-c/ și urmărește pașii de acolo, mai puțin adăugarea butonului propriuzis în xaml. Acela îl vom face noi separat.

Vreau să am o imagine de profil pentru a înștiința utilizatorul când a dat login și un buton de login. Partea de cod nu este deosebit de grea. SDK-ul instalat de noi fiind de fapt cel care a făcut mare parte din logică.

Aplicația e în perfectă stare de funcționare acum, dar în momentul când dau login o să observați un mic lag până când îmi apare imaginea mea de profil. De fapt, nu este doar lag, chiar întreaga aplicație se blochează, ceea ce e VERY bad user experience. Pentru a combate acest lucru vom introduce un loading bar, sau mai exact un progress indicator foarte asemănător cu progress ring-ul din Windows 8 despre care am scris aici.

Codul pe care îl vom diseca imediat:

Linia 3

Avem constructorul paginii principale, Loaded practică încarcă ProgressIndicator-ul și îl pregătește pentru când voi avea eu nevoie de el.

Linia 9 și 13

Acum încarc ProgressIndicator-ul și creez metoda SetProgressIndicator care va primi ca parametru bool-ul isVisible. By default acesta este false deci invizibil.

Linia 26

logTap este apelat în momentul în care am dat click pe butonul de Login. Îmi fac ProgressIndicatorul vizibil și acum o să îmi afișeze în partea de sus a ecranului bara de loading/progress împreună cu mesajul meu.

Linia 32-55

Navigarea pe care am făcut-o în ziua 2 și appar-ul construit în ziua 3. Nimic nou sub Soare.

Linia 57

Întru în App.xaml.cs și pe prima linie de cod o să scriu: public static string Token; sesChange o să se apeleze practic atunci când am terminat operațiunea de logare și practic o să salvez token-ul de acces pentru a îl folosi în alte pagini din interiorul aplicației mele.

Share the love

Ăsta e butonul care face share-ul posibil:

Linia 6

După cum am zis, am nevoie de Token pentru că în el este specificat ceea ce am voie și ce nu am voie să fac prin aplicația mea. By default am acces la nume, imaginea de profil și pot să public pe wall-ul celor care dau accept.

Linia 8

Aici pregătesc mesajul care o să apară atunci când lumea o să dea share din interiorul aplicației. Sigur merge o variantă personalizată pentru fiecare view pe care-l am. Pentru newGame.xaml o să fie sub formă de întrebare și pentru learn.xaml o să postez un mesaj sub formă de informație cu scop educațional.

Link-ul din descriere duce spre pagina mea de download pentru că vreau ca prietenii care văr acest share să poată descărca aplicația. Am folosit un urlshortner (bitly) pentru că vreau să știu exact câte click-uri au generat mesajele postate și, din câte știu eu, aceasta este singura metodă.

În final mai am nevoie doar de o imagine care să reprezinte Logo-ul aplicației mele. Imagine pe care am hostat-o pe adriancoman.ro

Linia 18

Aici încerc deja să postez mesajul pe wall-ul utilizatorului, dacă inițial nu am cerut acordul pentru a publica informații, o să îi mai apară un mesaj care o să îl întrebe dacă e de acord sau nu să postez pe wall-ul lui.

Lina 21

Dacă am postat cu succes o să afișez un mesaj de informare utilizatorului. Desigur pot să nu mai informez deloc și să las așa fără. Depinde de voi.

Linia 26

Este foarte important să folosiți un try/catch aici. În principiu, singura eroare care o să apară este dată de apăsarea butonului de share fără ca utilizatorul să fie logat în aplicație. Sigur, există metode prin care să verific dacă utilizatorul a dat login și dacă nu a dat nici să nu îi afișez butonul, dar tot am avea nevoie de acest try/catch pentru alte probleme care pot apărea: îi mergea internetul când a dat login, dar între timp a rămas fără.




Leave a Comment

Blog

Recent posts