A Google felhőalapú üzenetküldő menteni az akkumulátor és az idegrendszer szöveteinek push-értesítések

Zdorovo amikor az alkalmazás lehetősége van, hogy folyamatosan kapják a frissítéseket a szerver. Persze, hogy megvalósítsák periodicheckie hálózati kérések könnyű, mi nem csak ezt. Azonban, ha egy tucat alkalmazás folyamatosan ütni a felügyelt szerverek, akkumulátor telefona vagy tabletta elfogy dél előtt.

Ahhoz, hogy a programozók izobretali számára a mobil eszközök jelentek meg a rendszer Push-uvedomleny. Ez egy olyan szolgáltatás a rövid szöveges üzenetek küldött egy központi szerverre chepez rendszer szállítójának. Operációs rendszer fejlesztők önállóan megvalósítani periodicheskuyu kommunikációs eszközt a szerver, hogy az üzenetet, és eljött az idő, és recursy készülék maximális megtakarítást. energosberezheniya mód, roaming, optimális munkamenet hosszát - mindez gondoskodott létrehozásával Push.

Google kifejlesztett egy olyan API-t Google Cloud Messaging, ő dostupen az Android, és iOS-re. Használja ezt a szolgáltatás teljesen ingyenes, azaz Darom. Lássuk, hogy milyen állat van, és amit a jó!

Ez hogy működik

Sok Android készülékek baze Google alkalmazások a különböző funkciók, a helyes működését a Push-üzenet fogadja Google Play szolgáltatások csomagot. Ha ez a csomag telepítése ustroyctvo rendszeresen hozzáfér a szerver egy új kérést nalichii Push-üzeneteket. A frekvencia az ilyen kérelmek függ sok parametrov: Eljárás Internet kapcsolat, és a többi elem feltételekkel. Ebben az esetben a forgalmi ekonomii a felhasználó akár kikapcsolni ezt a szolgáltatást.

Push-sepvery szolgálnak „ragasztó” között a készülék-poluchatelem és az üzenet küldője. A fejlesztő, amely GCM, akkor van szükség, hogy egy üzenetet neslozhnomu következő szintaxist, majd küldje el a POST-keresést a Google szerver, kotory további függetlenül egy üzenetet, hogy a készüléket.

A Google felhőalapú üzenetküldő menteni az akkumulátor és az idegrendszer szöveteinek push-értesítések
Ábra. 1. Rendszer raboty Google Cloud Messaging

bejegyzés

Ahogy sejteni lehetett, a fő linkre servicov GCM - a Google szervereiről. Cloud ettől a társaság végzi a sávszélesség kontrol, és úgy minden erőfeszítést a szállítási üzeneteket, így az első lépés az, hogy regictratsiya rendszer.

Szintén az első oldalon van egy nagy kék gomb Generation konfigurációs fájlokat. Ő sfopmiruet config file google-services.json, amelyek varrtak fel az összes szükséges paramétereket raboty szolgáltatás, beleértve a gombokat. Hozzáadni ezt a konfigurációs fájlt a projekthez, csak skopiruy ez a gyökér mappában, az alkalmazás, ahol fekszenek a forráskód alkalmazása.

Burkolat használatra kész eszközök, realizovannye a Google Play szolgáltatások, így meg kell csatlakoztatni a kiegészítő modulok a projekthez. Az Android Studio végzi ppavki Gradle fájlok: config a projektben podgruzhaem Google Services osztály, és a konfig ház - GCM inek és a Google Play.

Manifest fájlt

Most megy a szerkesztés A projekt egy kiáltvány. Ahhoz, hogy mentse az akkumulátor, Android igyekszik gyorsan küldje el a készüléket, hogy az alvás, csökkenő akkumulátor rachod és csökkenti a frekvenciát a processzor. Ez megakadályozhatja a szállítási és adatok vételére, így az alkalmazás dolzhna lehet megakadályozni az ilyen manevpu.

Ahhoz, hogy a címzett a Push-üzenet, meg kell adni a határozat felszólította C2D_MESSAGE, ez alatt a név paraméter legyen a teljes csomag neve.

A mi prilozhenii olyan modulokat a Google Play Service, arra is szükség van, hogy írjon az nyilvánvaló. Szolgáltatás GcmReceiver soobscheny fogadásáért felelős a szerver, és ha szükséges, segít a készülék nem lép energiatakarékos üzemmódba ekonomii:

Mivel a gyakorlat azt mutatja ispolzovaniya különböző API a Google, kulcsgenerálás és megszüntetése függőség - a leginkább időigényes feladat. A végrehajtás az API logika a projekt igen egyszerű: elég csak sozdat több objektumot, és felülírja az osztályokat, fogadó és küldő dannyh. Az egység nem lehet alkalmazásokat a Google, ebben az esetben van szükség, hogy hagyjon fel a Push-soobscheny. Ellenőrzése jelenlétére API a következő.

ALKALMAZOTT be az elit klub címzettek Push-üzenet segít az egyik a Google API módszereket. Vyzvat lesz kényelmes használatához osztály IntentService. Csakúgy, mint a szülő Service osztály, akkor végezzük, a háttérben pozvolyaet különböző CPU-igényes feladatok, mint például a hálózati vyzovy. A fő előnye IntentService hogy miután az összes problémát fog kincset saját állítsa le a rendszert, míg a hagyományos szolgáltató továbbra is lógni a háttérben, ozhidaya stopSelf () paranccsal vagy StopService (). Class regisztrációs GCM hívás RegistrationIntentService.

Valójában, a Google a fejlesztők készített számunkra, csak meg kell nyomnia a nagy gomb lupus, és élvezze az eredményt. A GCM API INSTANCEID osztály képes önállóan sformipovat hálózati csomag a regisztrációs adatokat és elküldi a szervernek. Tól razpabotchika csak meg kell adnia egy egyedi csomag azonosító (Küldőazonosító, mégis néha nazyvaetsya Projekt száma). És ha a google-services.json fájlt másolta-e, a változó gcm_defaultSenderId maga jelenik meg az Android Studio.

getToken módszer visszaadja a másik egyedülálló lehetőség - egy eszköz azonosító, amely tartalmazza az alkalmazás ustanovleno szolgáltatás GCM. Ez a token hasznos később elküldeni soobscheny, ezért meg kell valahogy vinni az alkalmazás szerver razrabotchika. Ebben az időben, a Google sajnos nem segít, akkor kell, hogy a hálózat alkalmassága realizovat magát. De nem is olyan régen egy cikket, ami a könyvtárak írtam Utólagosan, akkor ő csak a helyén.

A Google azt javasolja, hogy rendszeresen frissítse token, hogy elkerüljék komppometatsii és használja a hackerek. Kezdeményezni az alkalmazási programok újbóli megjelenése a kulcsot, egyszerűen ismételten kéri getToken módszer. Mégis lehetséges, hogy küldjön egy parancsot servera frissítési token feldolgozására ilyen komandy a kérelem megfelel InstanceIDListenerService osztályban. A jelenléte a függelékben ezen szükségszerűen alapú szolgáltatás, GCM nélkül nem működik.

Ebben az osztályban van egy módszer edinstvenny onTokenRefresh, akkor okozhat a rendszerben, amikor prilozhenie megparancsolta, hogy frissítse. A fő cél ennek a módszernek - zapustit IntentService tartalmazó INSTANCEID.

Térjünk most jellemzői formipovaniya üzenetét. A GCM képes üzeneteket küldeni a szerver és a mobil eszköz más eszközökkel azonos kérelmet. Így logika lekérdezés épület marad, a különbség csak a földeken adreca és a feladó.

Folytatás a cikk csak az előfizetők

2. lehetőség: Keres egy cikket