Apăsați mesajele folosind mesajul firebase cloud

Folosim noua tehnologie FCM, trimitem push-uri către dispozitive bazate pe Android, inițiem apelul de server de către client de la serverul în sine.

Astăzi, vă voi spune cum să trimiteți rapid și ușor un mesaj push arbitrar de la server către un dispozitiv mobil bazat pe Android (iOS nu are șansa de a încerca, dar această metodă nu va funcționa pe Windows Phone, cel puțin pentru moment).







Iată o sarcină mică care trebuie rezolvată.

Cu privire la modul de implementare a platformei mobile pentru dezvoltator pe dispozitivul său nu voi scrie, există o mulțime de informații (am ascultat personal cursul gratuit al DitriX-ului).

Să începem. Deschideți configurația serverului și creați o formă generală din acesta, din care vom trimite impulsul clientului. În formular, creați o comandă care va trimite mesajul. Acum, să vedem ce obiect la nivelul platformei este un mesaj push. Asociația în comun ne va spune că aceasta este o notificare care poate fi furnizată. Inițializarea sa este destul de simplă, obiectul este disponibil peste tot, cu excepția clientului Web, ceea ce este destul de satisfăcător pentru noi. Puneți următorul cod în comanda de comandă a formularului comun. Contextul de execuție în acest caz nu este important. De îndată voi face o rezervă, că, în continuare, în text nu vor exista verificări privind corectitudinea datelor, așa că totul este clar.

Apăsați mesajele folosind mesajul firebase cloud

Expertul de creare a proiectului vă va cere să veniți cu un nume pentru proiect (va fi necesar doar să distingi proiectele din consola în sine) și să fiți de acord cu termenii și condițiile Google. După ce proiectul este creat, puteți vedea deja numărul solicitat de aplicație Google. Pentru aceasta, mergeți la panoul de administrare a proiectului și apoi în setări.

Apăsați mesajele folosind mesajul firebase cloud

Să încercăm acum să obținem Identificatorul Abonatului Notificării care este disponibil prin managerul de livrare a notificărilor, dar rețineți că toate acestea sunt disponibile numai pentru clientul mobil. Prin urmare, este necesar să se decidă modul în care vom transfera ID-ul abonatului primit la notificarea către server. Metodele sunt de fapt suficiente, dar vă sugerez să folosiți serviciul http. Firește, trebuie să fie creat pe server. Deci, creați un http-serviciu, cu URL-ul test rootpush și o metodă de tipul GET, în modulul căruia vom plasa următorul cod

Ce se întâmplă aici? Din moment ce ne așteptăm ca acest serviciu va fi numit cu MU, MU se așteaptă o opțiune reginfo (aceasta poate fi făcută obligatorie, sau chiar folosi POST și treci toate în organism, dar acum nu e vorba de asta) - este un IdentifikatorPodpischikaDostavlyaemyhUvedomleny obiect serializat. Am pus toate acestea în Vaultul valorilor și l-am scris într-o constantă, creând-o mai întâi. Acum, în final, pe server vom avea parametrul necesar pentru trimitere, dar până acum nu avem nimic de trimis și nicăieri. Vom aborda această problemă și vom începe să realizăm o configurație pentru UM. Deoarece IdentifikatorPodpischikaDostavlyaemyhUvedomleny obiect are o natură schimbătoare și sunt recomand să actualizeze periodic aceasta procedează după cum urmează. În modulul de aplicație gestionat, am pus următorul cod (configurație pentru MU)

Pentru IDPodpischika am fost mereu la server, conectați conductorul de așteptare, care va primi „proaspete“ IdentifikatorPodpischikaDostavlyaemyhUvedomleny și trimite-l la server, în plus pentru a trimite și primi va fi numit atunci când sistemul este repornită. Toate aceste operațiuni pot fi efectuate în fundal, astfel încât acestea să fie invizibile pentru utilizator. Punctul important este că, atunci când apelați metoda DostavlyaemyeUvedomleniya.PoluchitIdentifikatorPodpischikaUvedomleny va fi un apel la serverele Google, astfel încât MU ar trebui să fie disponibile on-line. Este demn de remarcat faptul că nu am reușit să obține atât de IDPodpischika virutalnom pe dispozitiv, toate au căzut în parametrul NomerProekta greșit (poate că are ceva de-a face cu restrângerea Genymotion funcționale libere), dar perfect îndeplinește pe un dispozitiv reale. În modulele comune, punem următorul cod.







Acum suntem gata la server sa transformat în cele din urmă IdentifikatorPodpischikaDostavlyaemyhUvedomleny, lansarea unei aplicații mobile, specificați numărul proiectului nostru, reporniți aplicația, și Voila, serverul IDPodpischika constantă păstrează acum ceva de genul

Serverul știe deja aproape totul pentru a trimite împingerea, deci hai să ne întoarcem la ea. În forma generală, adăugați următorul cod

Obținem valoarea din constanta, iar din ea șirul nostru deja serializat și îl deserializăm.

Apăsați mesajele folosind mesajul firebase cloud

Vom deschide pagina Firebase Cloud Messaging, care este interesantă, dar trebuie să mergem la consola.

Apăsați mesajele folosind mesajul firebase cloud

Adăugați un nou proiect, specificând numele pe care l-am indicat atunci când creați proiectul în consola dezvoltatorului Google. După introducerea primelor caractere, expertul de creare vă solicită să selectați acest proiect. Suntem de acord, de asemenea, alegem țara și dați clic pe Adăugați FireBase. După aceasta, revenim la consola Google a dezvoltatorului (acum panoul de control al consolei va avea un aspect diferit decât înainte) și accesați secțiunea Conturi. Aici vom fi interesați de cheile API, și anume cheia de server.

În cazul în care cheia headerului, textul mesajului, datele, serverul sunt rechizitele formularului, iar funcția Receive Subscriber's ID returnează valoarea constantei cu același nume.

E timpul pentru primul test. Lansați aplicația pe UM, blocați ecranul sau minimizați aplicația, deschideți configurația Enterprise a serverului și faceți clic pe Trimitere.

Apăsați mesajele folosind mesajul firebase cloud

Hooray, MU buzzed / scrâșnit sau ceva de genul asta, în general, totul sa dovedit, mesajul a fost livrat.

Apăsați mesajele folosind mesajul firebase cloud

Mai era încă o nuanță mică. Deși nu există un sens prea mic dintr-un astfel de mesaj, aplicația nu face nimic atunci când primește un impuls. Să corectăm acest moment. În configurația MU, în modulul de aplicație gestionată, adăugați următorul cod la evenimentul PrStrtSystems:

Acum, după trimiterea unui mesaj de la server, puteți efectua orice acțiune pe client. În acest caz, afișăm doar textul mesajului.

Apăsați mesajele folosind mesajul firebase cloud

În timp ce mâinile nu au ajuns la implementarea completă a serverului http (că tot ID-ul a fost de transmisie), am făcut această funcție pentru a crea un ID pe server pe linie

Dar în stadiul de obținere a celor excluși

Cheie a încercat și "cheie API 1" și server - toate la fel reacția este una.

Poate îți poți spune unde să săpești.

14. Nikolay Belyaev (freez1301) 150 Luni, 04 Iulie 17 11:36 Acum în subiect


Se pare că lucrul acesta funcționează pentru APNS și încercați să transmiteți cheia.

15. Semyon Pavlyukov (7OH) 31 Luni, 04 Iulie 17 12:28 În prezent în subiect

(14) Vă mulțumesc foarte mult pentru sfat și într-adevăr este scris în manual.
Acum este mai bine - eroarea pare diferită
"Mesajul de trimitere 1 prin GCM nu a reușit: cheia expeditorului nu este potrivită pentru destinatar"
Ei bine, aici, se pare, încă mai trebuie să transfere ID-ul în întregime cu serializare.

Creat0.06.04.17 14:08

Update06.04.17 14:08

Cod deschis Nu este listat

Apăsați mesajele folosind mesajul firebase cloud

Apăsați mesajele folosind mesajul firebase cloud

Apăsați mesajele folosind mesajul firebase cloud

Apăsați mesajele folosind mesajul firebase cloud







Trimiteți-le prietenilor: