Google съобщения в облака на живота на батерията и нервна тъкан с помощта на лицеви уведомления

Zdorovo когато приложението Ви има възможност постоянно да получавате актуализации от сървъра. Разбира се, да се реализират periodicheckie заявки към мрежата лесно, ние не сме просто прави това. Въпреки това, ако молбата за десетина постоянно ще почука на управляваните от тях сървъри, telefona батерия или таблет изтече преди обяд.







За програмисти izobretali мотоциклети в мобилните устройства се появи система Push-uvedomleny. Това е услуга на кратки съобщения, които се изпращат до централен сървър chepez OS доставчик. ОС на разработчиците независимо осъзнават periodicheskuyu комуникационно устройство към сървъра, така че дойде съобщението, и времето, и recursy устройство максимална икономия. energosberezheniya режим, роуминг, оптималната продължителност на сесията - всичко това се грижат чрез създаване на Push.

Google разработи API, наречена Google Cloud Messaging, той dostupen за Android, както и за IOS. Използвайте тази услуга е напълно безплатна, т.е. Darom. Нека да видим какви животно е и това, което той е добър!

Как работи това

Много Android устройства имат Базе от приложения на Google, с различни функции, за правилното функциониране на Push-съобщението отговаря Google пакет услугите за Google Play. Ако е инсталиран този пакет, ustroyctvo периодично има достъп до сървъра с искане за nalichii нови Лицеви съобщения. Честотата на тези искания, зависи от много parametrov: метод интернет връзка, както и други условия на батерията. В този случай, за трафика ekonomii потребителят дори да изключите тази услуга.

Лицеви sepvery служи като "лепило" между устройството poluchatelem и подателят на съобщението. Директно от строителя, който използва GCM, той е длъжен да направи съобщение neslozhnomu следния синтаксис, и след това да изпратите след търсенето на Google сървър, kotory допълнително независимо достави съобщение на устройството.

Google съобщения в облака на живота на батерията и нервна тъкан с помощта на лицеви уведомления
Фиг. 1. Схема raboty Google Cloud Messaging

регистрация

Както можете да се досетите, че главната връзка в servicov GCM - е в сървърите ни. Облак от тази компания извършва трафик КОНТРОЛ и взема всички усилия за предаването на съобщенията, така че първата стъпка е да regictratsiya система.

Също така на първа страница има голям син бутон конфигурационни файлове поколение. Тя sfopmiruet конфигурационния файл на Google-services.json, които са зашити всички необходими параметри за raboty услуга, включително и ключове. За да добавите този конфигурационен файл на вашия проект, просто го skopiruy в главната папка на приложението, където лежат прилагането на изходния код.







Приложение е готова за използване инструменти, realizovannye в услугите на Google Play, така че трябва да се свържете допълнителни модули към проекта. В Android Studio се извършва от ppavki Gradle файлове: довереник в podgruzhaem проект на услугите на Google клас, а в корпуса на довереник - GCM модули и Google Play.

Файлът на манифеста

Сега отивам да редактирате Проектът на манифест. За запазване на батерията, Android се опитва бързо да изпратите устройството, за да спи, намаляване rachod батерията и намаляване на честотата на процесора. Това може да попречи на предаване и приемане на данни, така че да е възможно dolzhna за кандидатстване за предотвратяване на такива manevpu.

За да стане получател на Push-съобщението, което трябва да се добави резолюцията нарича C2D_MESSAGE, по време на този в параметъра име трябва да е пълното име на пакета.

В нашите prilozhenii са модули от Google Play услуги, също така е необходимо да се напише в манифеста. Service GcmReceiver soobscheny, отговорна за получаване от сървъра и, ако е необходимо, и помага на устройството не влиза в режим на пестене на енергия ekonomii:

Както показва практиката ispolzovaniya различно API от Google, генериране на ключове и премахване на зависимостта - най-много задачи, отнемащи време. Изпълнението на логиката API на проекта е съвсем проста: трябва само sozdat няколко обекта и отменят своите класове, които отговарят за получаване и изпращане на dannyh. Устройството не може да бъде приложения от Google, в този случай е необходимо да се откаже от Push-soobscheny. Проверка за наличие на API е както следва.

ПРИЛОЖНА влиза в елитния клуб на получателите Лицеви съобщение помогне един от методите на Google API. Vyzvat ще бъде удобно за използване клас IntentService. Както и неговата майка Service клас, то се извършва във фонов режим pozvolyaet различни процесорно време задачи, като например мрежата vyzovy. Основното предимство на IntentService, че след всички тези проблеми, той ще ценим собственото си изключване на системата, докато конвенционалната услуга ще продължи да виси във фонов режим, ozhidaya stopSelf () команда или stopService (). Клас регистрация GCM повикване RegistrationIntentService.

Всъщност, разработчиците на Google се подготвя за нас, ние само трябва да натиснете голям бутон лупус и се насладете на резултатите. API за GCM има InstanceID клас, с която независимо sformipovat мрежа за пакети с данни за регистрация и го изпраща на сървъра. От razpabotchika само трябва да посочите уникален идентификатор пакет (Sender ID, но той понякога nazyvaetsya Номер на проекта). И ако Google-services.json файл е копирана правилно, променлива gcm_defaultSenderId самата ще се появи в Android Studio.

метод getToken връща още един уникален вариант - идентификатор на устройство, което е включено в GCM за кандидатстване ustanovleno услуга. Този знак е полезно по-късно, за да изпратите soobscheny, така че трябва по някакъв начин да се прехвърлят от сървъра на приложения razrabotchika. По това време, на Google, за съжаление, не помага, трябва да мрежа функционалност realizovat себе си. Но не толкова отдавна в статия за библиотеките, които написах за реконструкция, а след това тя е само на място.

Google препоръчва да се актуализира периодично знак да се избегне komppometatsii и използват от хакери. За да стартирате програми за кандидатстване могат да бъдат повторно пускане на ключа, просто за пореден път да се извика методът getToken. Все още е възможно да се изпрати команда за Servera опресняване знак за обработка на такива komandy в заявката отговаря InstanceIDListenerService клас. Присъствието в приложението на това непременно базирана услуга, GCM няма да работи без него.

В този клас, има метод edinstvenny onTokenRefresh, това ще доведе до системата в момент, когато prilozhenie заповяда да се актуализира. Основната цел на този метод - zapustit IntentService, съдържащ InstanceID.

Сега нека разгледаме характеристиките на formipovaniya мнения. В GCM има способността да изпращате съобщения като сървър и мобилно устройство с други устройства с едно и също приложение. Така Logika сграда заявка остава, разликата е само в adreca на полета и подателя.

Продължение статия е достъпен само за абонати

Вариант 2: Купете една статия