SlideShare a Scribd company logo
Push Noti cations
Android
Поляков Никита
Решение в лоб
Минусы
Постоянное соединение с сервером
Понадобиться мощный сервер при большом количестве пользователей
Много работы на низком уровне системы
Сложная логика на сервере
Google cloud messaging
Внутри приложения
https://github.com/googlesamples/google-services/tree/master/android/gcm
1 <uses-permission android:name="com.google...permission.RECEIVE" />
2 <uses-permission android:name="android.permission.WAKE_LOCK" />
3
4 <receiver android:name="com.google...GcmReceiver"
5 <!>
6 </receiver>
7 <service
8 android:name="gcm.play...MyGcmListenerService"
9 android:exported="false" >
10 <intent-filter>
11 <action android:name="com.google...intent.RECEIVE" />
12 </intent-filter>
13 </service>
14 <service
15 android:name="gcm.play...MyInstanceIDListenerService"
16 <!>
17 </service>
18 <service
19 android:name="gcm.play...RegistrationIntentService"
20 android:exported="false">
21 </service>
22 </application>
Vincent, we happy?
https://habrahabr.ru/company/mailru/blog/260841/
Есть спрос — есть предложение
тут должна была быть картинка с кучей сервисов, но мне было лень искать и втыкать иконки
в одну картинку так что держите лучше котика
Интеграция Localytics
1 <meta-data
2 android:name="LOCALYTICS_APP_KEY"
3 android:value="YOUR-LOCALYTICS-APP-KEY" />
4 <receiver
5 android:name="com.localytics.android.ReferralReceiver"
6 android:exported="true">
7 <intent-filter>
8 <action android:name="com.android.vending.INSTALL_REFERRER" />
9 </intent-filter>
10 </receiver>
И немного джава кода
1 // добавляем в главном активити
2 @Override
3 protected void onNewIntent(Intent intent) {
4 super.onNewIntent(intent);
5 Localytics.onNewIntent(this, intent);
6 }
7
8 // добавляем в Application
9 @Override
10 public void onCreate() {
11 super.onCreate();
12 Localytics.autoIntegrate(this);
13 }
Yes, we happy.
Firebase
Плюшки FCM
Легче интегрировать
Пермишены мёржатся в манифест сами
Упростили схему получения RegistrationID
Стал более кросплатформенный
Больше плюшек
Realtime Database — сервисы для управления облачной NoSQL базой данных.
Authentication — сервис для идентификации и управления пользователями.
Remote Con g — сервис, который позволяет изменять и обновлять части приложений
через без обновления приложения.
Как и многие другие элементы Firebase, Noti cations интегрируются в Firebase Analytics.
Посмотрим, как это работает

More Related Content

PDF
Работа с геоданными (Lecture 18 – geolocation)
PDF
Rest api. barcamp 2013.
PPT
Всеволод Шмыров, Яндекс
PDF
PDF
Библиотеки для передачи данных (Lecture 13 – multithreading, network (libs))
PDF
Webinar: Использование UWP/WinRT Contracts и Notification в Windows 10
PDF
Database (Lecture 14 – database)
PDF
Seminar: Эффективное использование среды разработки и компилятора C++
Работа с геоданными (Lecture 18 – geolocation)
Rest api. barcamp 2013.
Всеволод Шмыров, Яндекс
Библиотеки для передачи данных (Lecture 13 – multithreading, network (libs))
Webinar: Использование UWP/WinRT Contracts и Notification в Windows 10
Database (Lecture 14 – database)
Seminar: Эффективное использование среды разработки и компилятора C++

Viewers also liked (20)

PDF
Android - 10 - Graphics
PPTX
Стилизация текста (HTML5 тема 05 - стилизация текста)
PDF
Android - 05 - Android basics
PPTX
Семантика текста (HTML5 тема 04 - семантика текста)
PPTX
Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)
PDF
PDF
Toolbar (Lecture 16 – toolbar)
PDF
Animations (Lecture 17 – animations)
PDF
Seminar: Установка и настройка рабочего стенда разработчика Android-приложени...
PDF
Введение в Android-разработку (Lecture 06 – basics)
PDF
PDF
PPTX
DIOR-DNA, Anton Zvonov, Part 1, Activities (жизненный цикл)
PDF
Webinar: Возможности RAD Studio 10 Seattle для разработки Windows 10 приложений
PDF
Работа с графической подсистемой (Lecture 10 – Graphics)
PDF
Fragments (Lecture 09 – Fragments)
PDF
Webinar: Разработка мобильного приложения для заучивания стихов в Delphi
PDF
Системы автоматизированной сборки (Lecture 05 – gradle)
PDF
Android - 10 - Graphics
Стилизация текста (HTML5 тема 05 - стилизация текста)
Android - 05 - Android basics
Семантика текста (HTML5 тема 04 - семантика текста)
Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)
Toolbar (Lecture 16 – toolbar)
Animations (Lecture 17 – animations)
Seminar: Установка и настройка рабочего стенда разработчика Android-приложени...
Введение в Android-разработку (Lecture 06 – basics)
DIOR-DNA, Anton Zvonov, Part 1, Activities (жизненный цикл)
Webinar: Возможности RAD Studio 10 Seattle для разработки Windows 10 приложений
Работа с графической подсистемой (Lecture 10 – Graphics)
Fragments (Lecture 09 – Fragments)
Webinar: Разработка мобильного приложения для заучивания стихов в Delphi
Системы автоматизированной сборки (Lecture 05 – gradle)
Ad

Similar to Push Notifications (Lecture 22 – push notifications) (20)

PDF
Android M: опыт личного знакомства
PDF
17 - Web-технологии. Real Time сообщения
PDF
[JAM 1.0] Android OS, Java (Paul Malikov)
PPTX
HighLoad весна 2014 лекция 3
PPTX
Ловля сетями. Инструменты отладки сетевых запросов приложений / Дмитрий Рыбак...
PPT
Лекция Android
PDF
Java GC tuning and monitoring (by Alexander Ashitkin)
PPTX
"Системы уникализации и идентификации пользователей в сети. Методы защиты от ...
PPTX
Денис Неклюдов. Держи свое приложение на волне новинок. РИФ-Воронеж 2016
PPTX
DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)
 
PPTX
DDоS практическое руководство к выживанию (Александр Лямин)
PDF
еще один недостаток современных клиент серверных приложений
PPTX
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...
PDF
Droidcon Moscow 2015. Google Analytics и GTM для мобильных приложений Android...
PPTX
Антон Сапожников. Еще один недостаток современных клиент-серверных приложений
PDF
Изоморфные приложения и Python - Виталий Глибин, Huntflow
PDF
15 - Web-технологии. Сессии и авторизация
PDF
Обеспечение бесперебойной работы корпоративных приложений в больших гетероген...
PPTX
Особенности работы backend для мобильных приложений или Python Django UWSGI в...
PPTX
Изоморфные React-приложения производительность и масштабирование / Денис Изма...
Android M: опыт личного знакомства
17 - Web-технологии. Real Time сообщения
[JAM 1.0] Android OS, Java (Paul Malikov)
HighLoad весна 2014 лекция 3
Ловля сетями. Инструменты отладки сетевых запросов приложений / Дмитрий Рыбак...
Лекция Android
Java GC tuning and monitoring (by Alexander Ashitkin)
"Системы уникализации и идентификации пользователей в сети. Методы защиты от ...
Денис Неклюдов. Держи свое приложение на волне новинок. РИФ-Воронеж 2016
DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)
 
DDоS практическое руководство к выживанию (Александр Лямин)
еще один недостаток современных клиент серверных приложений
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...
Droidcon Moscow 2015. Google Analytics и GTM для мобильных приложений Android...
Антон Сапожников. Еще один недостаток современных клиент-серверных приложений
Изоморфные приложения и Python - Виталий Глибин, Huntflow
15 - Web-технологии. Сессии и авторизация
Обеспечение бесперебойной работы корпоративных приложений в больших гетероген...
Особенности работы backend для мобильных приложений или Python Django UWSGI в...
Изоморфные React-приложения производительность и масштабирование / Денис Изма...
Ad

More from Noveo (18)

PPTX
Гуманитарные специальности в IT-индустрии
PPTX
Box model, display and position (HTML5 тема 07 - box model, display position)
PPTX
Основы CSS (HTML5 тема 02 - основы CSS)
PPTX
Структура HTML документа (HTML5 тема 01 - структура html документа)
PPTX
Yii2
PPTX
Сессии и авторизация
PPTX
Rest
PPTX
PHP basic
PPTX
PHP Advanced
PPTX
PHP and MySQL
PPTX
MySQL
PDF
RxJava+RxAndroid (Lecture 20 – rx java)
PDF
Работа с соцсетями (Lecture 19 – social)
PDF
Material Design (Lecture 15 – material design)
PDF
Многопоточность, работа с сетью (Lecture 12 – multithreading, network)
PDF
XML, JSON (Lecture 11 – XML, JSON)
PDF
Android - 16 - QR
PDF
03 коллекции
Гуманитарные специальности в IT-индустрии
Box model, display and position (HTML5 тема 07 - box model, display position)
Основы CSS (HTML5 тема 02 - основы CSS)
Структура HTML документа (HTML5 тема 01 - структура html документа)
Yii2
Сессии и авторизация
Rest
PHP basic
PHP Advanced
PHP and MySQL
MySQL
RxJava+RxAndroid (Lecture 20 – rx java)
Работа с соцсетями (Lecture 19 – social)
Material Design (Lecture 15 – material design)
Многопоточность, работа с сетью (Lecture 12 – multithreading, network)
XML, JSON (Lecture 11 – XML, JSON)
Android - 16 - QR
03 коллекции

Push Notifications (Lecture 22 – push notifications)

  • 3. Минусы Постоянное соединение с сервером Понадобиться мощный сервер при большом количестве пользователей Много работы на низком уровне системы Сложная логика на сервере
  • 5. Внутри приложения https://github.com/googlesamples/google-services/tree/master/android/gcm 1 <uses-permission android:name="com.google...permission.RECEIVE" /> 2 <uses-permission android:name="android.permission.WAKE_LOCK" /> 3 4 <receiver android:name="com.google...GcmReceiver" 5 <!> 6 </receiver> 7 <service 8 android:name="gcm.play...MyGcmListenerService" 9 android:exported="false" > 10 <intent-filter> 11 <action android:name="com.google...intent.RECEIVE" /> 12 </intent-filter> 13 </service> 14 <service 15 android:name="gcm.play...MyInstanceIDListenerService" 16 <!> 17 </service> 18 <service 19 android:name="gcm.play...RegistrationIntentService" 20 android:exported="false"> 21 </service> 22 </application>
  • 7. Есть спрос — есть предложение тут должна была быть картинка с кучей сервисов, но мне было лень искать и втыкать иконки в одну картинку так что держите лучше котика
  • 8. Интеграция Localytics 1 <meta-data 2 android:name="LOCALYTICS_APP_KEY" 3 android:value="YOUR-LOCALYTICS-APP-KEY" /> 4 <receiver 5 android:name="com.localytics.android.ReferralReceiver" 6 android:exported="true"> 7 <intent-filter> 8 <action android:name="com.android.vending.INSTALL_REFERRER" /> 9 </intent-filter> 10 </receiver> И немного джава кода 1 // добавляем в главном активити 2 @Override 3 protected void onNewIntent(Intent intent) { 4 super.onNewIntent(intent); 5 Localytics.onNewIntent(this, intent); 6 } 7 8 // добавляем в Application 9 @Override 10 public void onCreate() { 11 super.onCreate(); 12 Localytics.autoIntegrate(this); 13 }
  • 11. Плюшки FCM Легче интегрировать Пермишены мёржатся в манифест сами Упростили схему получения RegistrationID Стал более кросплатформенный
  • 12. Больше плюшек Realtime Database — сервисы для управления облачной NoSQL базой данных. Authentication — сервис для идентификации и управления пользователями. Remote Con g — сервис, который позволяет изменять и обновлять части приложений через без обновления приложения. Как и многие другие элементы Firebase, Noti cations интегрируются в Firebase Analytics.