SlideShare uma empresa Scribd logo
1 de 26
Dive into
Push Notifications
Igor Khomenko
mobiledevs.kh.ua, 25 April 2013
Agenda
-WTF? How it works?
-iOS Push Notifications
-Android Push Notifications
-Nowadays
Definition
Push Notifications
Определение:
Push Notification позволяют приложению уведомлять
пользователя о новых сообщениях или событиях без
необходимости фактически приложению быть
открытым, подобно тому, как текстовое сообщение
делает звук и всплывает на экране.
Это отличный способ для приложений
взаимодействовать с пользователем в фоновом
режиме, будь то игра сообщает нам о некоторых
событиях, происходящих в игровом мире или просто
почтовая программа издает звуковой сигнал когда новое
сообщение появляется в почтовом ящике.
-Pull – запрос производится
клиентом, ответ пораждается
сервером
-Push – информация поступает от
сервера к клиенту
Pull vs Push
How it works?
-Mobile application & device
-Push service (APNS, GCM,…)
-3rd party server (Push provider)
Key players
1. Подписка на пуши
1. Подписка на пуши
2. Доставка пушей
2. Доставка пушей
iOS Push Notifications
1. Подписка на пуши
2. Отправка пушей
-3rd party server хранит токены устройств
-Отправляет пуши по этим токенам
-Production & development зоны
Пример payload
{
"aps" : {
"alert" : "You got your emails.",
"badge" : 9,
"sound" : "bingbong.aiff"
},
"acme1" : "bar",
"acme2" : 42
}
3. Получение пушей
4. APNS certificate & Provision profile
-Подписать приложение правильным
Provision profile
-Сгенерировать APNS сертификат и
загрузить его на 3rd party server
Чтоб все заработало нужно:
How To! http://qblx.co/YTX4lP
Android
Push Notifications
1. Подписка на пуши
-Подключение gcm.jar
http://developer.android.com/google/gcm/gs.html#libs
-Настрока AndroidManifest.xml
http://developer.android.com/google/gcm/gs.html#an
droid-app (step 1 & 2)
-Подписка
http://developer.android.com/google/gcm/gs.html#an
droid-app (step 3 & 4)
2. Отправка пушей
-3rd party server хранит токены (registration_ids)
устройств
-Отправляет пуши по этим токенам (обычный
HTTP запрос)
-Нет явно выделенных Production &
Development зон
Пример payload
{ "data": {
"score": "5x1",
"time": "15:10»
},
"registration_ids": ["4", "8", "15", "16", "23", "42"]
}
3. Получение пушей
Разработчик сам решает как
показывать сообщение пользователю
4. Project ID & API key
-Создать Google API project
http://developer.android.com/google/gcm/gs.ht
ml#create-proj и использовать project ID в
приложении
-Получить API key и загрузить на 3rd party
сервер
http://developer.android.com/google/gcm/gs.ht
ml#access-key
Чтоб все заработало нужно:
Ключевые отличия iOS & Android
-Размер payload (iOS: 256 байт, Android 4KB)
-UI (разработчик сам определяет действие по приходу пуша и
как его показывать в Android)
-Тестовая зона (В Android нет)
-Связь с APNS устнавливается по TLS, c GCM по HTTPS
-GCM более настраиваемый
Nowadays
mBaaS providers
mBaaS providers
• StackMob
http://developer.stackmob.com/tutorials/ios/Push-
Notifications
• Parse https://parse.com/tutorials/ios-push-notifications
• Kinvey http://devcenter.kinvey.com/ios/guides/push
• QuickBlox
http://quickblox.com/developers/SimpleSample-
messages_users-ios
• Pusher http://pusher.com/
• Urban Airship http://urbanairship.comhttp://servicesangle.com/blog/2012/10/23/mobile-backend-as-a-service-mbaas-all-hype-or-here-to-stay/
skype: fuel_ex
igor@quickblox.com
There's never been a better
time to be a mobile developer!

Mais conteúdo relacionado

Semelhante a Dive into Push Notifications

"Windows Azure для мобильных платформ". Владимир Юнев, Microsoft
"Windows Azure для мобильных платформ". Владимир Юнев, Microsoft"Windows Azure для мобильных платформ". Владимир Юнев, Microsoft
"Windows Azure для мобильных платформ". Владимир Юнев, MicrosoftYandex
 
WebCamp:Front-end Developers Day. Александр Михайленко "Обзор библиотек и кан...
WebCamp:Front-end Developers Day. Александр Михайленко "Обзор библиотек и кан...WebCamp:Front-end Developers Day. Александр Михайленко "Обзор библиотек и кан...
WebCamp:Front-end Developers Day. Александр Михайленко "Обзор библиотек и кан...GeeksLab Odessa
 
Chrome push notifications. Анатомия и разработка
Chrome push notifications. Анатомия и разработкаChrome push notifications. Анатомия и разработка
Chrome push notifications. Анатомия и разработкаAlexandr Mikhaylenko
 
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...Ontico
 
Как правильно подключать сотрудников из дома через VPN шлюз на Palo Alto Netw...
Как правильно подключать сотрудников из дома через VPN шлюз на Palo Alto Netw...Как правильно подключать сотрудников из дома через VPN шлюз на Palo Alto Netw...
Как правильно подключать сотрудников из дома через VPN шлюз на Palo Alto Netw...Denis Batrankov, CISSP
 
140720 iBecom_For_Sport_2.0
140720 iBecom_For_Sport_2.0140720 iBecom_For_Sport_2.0
140720 iBecom_For_Sport_2.0iBecom_ru
 
Идентификация и аутентификация - встроенные функции безопасности или задачи с...
Идентификация и аутентификация - встроенные функции безопасности или задачи с...Идентификация и аутентификация - встроенные функции безопасности или задачи с...
Идентификация и аутентификация - встроенные функции безопасности или задачи с...Mikhail Vanin
 
Особенности тестирования приложений на iOS
Особенности тестирования приложений на iOSОсобенности тестирования приложений на iOS
Особенности тестирования приложений на iOSHeads&Hands
 
Знакомство с Windows Phone
 Знакомство с Windows Phone  Знакомство с Windows Phone
Знакомство с Windows Phone Volha Banadyseva
 
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...Positive Hack Days
 
Антон Сапожников. Еще один недостаток современных клиент-серверных приложений
Антон Сапожников. Еще один недостаток современных клиент-серверных приложенийАнтон Сапожников. Еще один недостаток современных клиент-серверных приложений
Антон Сапожников. Еще один недостаток современных клиент-серверных приложенийPositive Hack Days
 
Rusnavgeoset LLC
Rusnavgeoset LLCRusnavgeoset LLC
Rusnavgeoset LLCdripfeeder
 
Content Delivery Network
Content Delivery NetworkContent Delivery Network
Content Delivery NetworkLLC NewLink
 
Руководство по формату событий для разработчиков
Руководство по формату событий для разработчиковРуководство по формату событий для разработчиков
Руководство по формату событий для разработчиковOlesya Shelestova
 
Владимир Колесников «Windows Phone 7: самое главное для разработчика»
Владимир Колесников «Windows Phone 7: самое главное для разработчика»Владимир Колесников «Windows Phone 7: самое главное для разработчика»
Владимир Колесников «Windows Phone 7: самое главное для разработчика»e-Legion
 
Геолокационная игра Пятнашки в городе
Геолокационная игра Пятнашки в городеГеолокационная игра Пятнашки в городе
Геолокационная игра Пятнашки в городеOpen City Foundation
 
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...SQALab
 
Противодействие вредоносному ПО для мобильных устройств на сети оператора свя...
Противодействие вредоносному ПО для мобильных устройств на сети оператора свя...Противодействие вредоносному ПО для мобильных устройств на сети оператора свя...
Противодействие вредоносному ПО для мобильных устройств на сети оператора свя...Denis Gorchakov
 

Semelhante a Dive into Push Notifications (20)

"Windows Azure для мобильных платформ". Владимир Юнев, Microsoft
"Windows Azure для мобильных платформ". Владимир Юнев, Microsoft"Windows Azure для мобильных платформ". Владимир Юнев, Microsoft
"Windows Azure для мобильных платформ". Владимир Юнев, Microsoft
 
WebCamp:Front-end Developers Day. Александр Михайленко "Обзор библиотек и кан...
WebCamp:Front-end Developers Day. Александр Михайленко "Обзор библиотек и кан...WebCamp:Front-end Developers Day. Александр Михайленко "Обзор библиотек и кан...
WebCamp:Front-end Developers Day. Александр Михайленко "Обзор библиотек и кан...
 
Chrome push notifications. Анатомия и разработка
Chrome push notifications. Анатомия и разработкаChrome push notifications. Анатомия и разработка
Chrome push notifications. Анатомия и разработка
 
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...
 
Как правильно подключать сотрудников из дома через VPN шлюз на Palo Alto Netw...
Как правильно подключать сотрудников из дома через VPN шлюз на Palo Alto Netw...Как правильно подключать сотрудников из дома через VPN шлюз на Palo Alto Netw...
Как правильно подключать сотрудников из дома через VPN шлюз на Palo Alto Netw...
 
140720 iBecom_For_Sport_2.0
140720 iBecom_For_Sport_2.0140720 iBecom_For_Sport_2.0
140720 iBecom_For_Sport_2.0
 
Load testing with Tsung
Load testing with TsungLoad testing with Tsung
Load testing with Tsung
 
Идентификация и аутентификация - встроенные функции безопасности или задачи с...
Идентификация и аутентификация - встроенные функции безопасности или задачи с...Идентификация и аутентификация - встроенные функции безопасности или задачи с...
Идентификация и аутентификация - встроенные функции безопасности или задачи с...
 
Особенности тестирования приложений на iOS
Особенности тестирования приложений на iOSОсобенности тестирования приложений на iOS
Особенности тестирования приложений на iOS
 
Знакомство с Windows Phone
 Знакомство с Windows Phone  Знакомство с Windows Phone
Знакомство с Windows Phone
 
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...
 
Антон Сапожников. Еще один недостаток современных клиент-серверных приложений
Антон Сапожников. Еще один недостаток современных клиент-серверных приложенийАнтон Сапожников. Еще один недостаток современных клиент-серверных приложений
Антон Сапожников. Еще один недостаток современных клиент-серверных приложений
 
Rusnavgeoset LLC
Rusnavgeoset LLCRusnavgeoset LLC
Rusnavgeoset LLC
 
Content Delivery Network
Content Delivery NetworkContent Delivery Network
Content Delivery Network
 
Руководство по формату событий для разработчиков
Руководство по формату событий для разработчиковРуководство по формату событий для разработчиков
Руководство по формату событий для разработчиков
 
Владимир Колесников «Windows Phone 7: самое главное для разработчика»
Владимир Колесников «Windows Phone 7: самое главное для разработчика»Владимир Колесников «Windows Phone 7: самое главное для разработчика»
Владимир Колесников «Windows Phone 7: самое главное для разработчика»
 
Лекция Android
Лекция AndroidЛекция Android
Лекция Android
 
Геолокационная игра Пятнашки в городе
Геолокационная игра Пятнашки в городеГеолокационная игра Пятнашки в городе
Геолокационная игра Пятнашки в городе
 
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
 
Противодействие вредоносному ПО для мобильных устройств на сети оператора свя...
Противодействие вредоносному ПО для мобильных устройств на сети оператора свя...Противодействие вредоносному ПО для мобильных устройств на сети оператора свя...
Противодействие вредоносному ПО для мобильных устройств на сети оператора свя...
 

Mais de Igor Khomenko

Chat bots are new apps - flashback
Chat bots are new apps - flashbackChat bots are new apps - flashback
Chat bots are new apps - flashbackIgor Khomenko
 
Chat bots are new apps
Chat bots are new appsChat bots are new apps
Chat bots are new appsIgor Khomenko
 
Use Slack in software development processes
Use Slack in software development processesUse Slack in software development processes
Use Slack in software development processesIgor Khomenko
 
Создание QuickBlox из сервисной компании
Создание QuickBlox из сервисной компанииСоздание QuickBlox из сервисной компании
Создание QuickBlox из сервисной компанииIgor Khomenko
 
Qmunicate. Как за 2 дня сделать собственный WhatsApp под iOS, Android и Web
Qmunicate. Как за 2 дня сделать собственный WhatsApp под iOS, Android и WebQmunicate. Как за 2 дня сделать собственный WhatsApp под iOS, Android и Web
Qmunicate. Как за 2 дня сделать собственный WhatsApp под iOS, Android и WebIgor Khomenko
 
Rapid development of backend-based mobile applications
Rapid development of backend-based mobile applicationsRapid development of backend-based mobile applications
Rapid development of backend-based mobile applicationsIgor Khomenko
 
QuickBuilder - how to make your own Android projects builder
QuickBuilder - how to make your own Android projects builderQuickBuilder - how to make your own Android projects builder
QuickBuilder - how to make your own Android projects builderIgor Khomenko
 

Mais de Igor Khomenko (8)

Chat bots are new apps - flashback
Chat bots are new apps - flashbackChat bots are new apps - flashback
Chat bots are new apps - flashback
 
Chat bots are new apps
Chat bots are new appsChat bots are new apps
Chat bots are new apps
 
Use Slack in software development processes
Use Slack in software development processesUse Slack in software development processes
Use Slack in software development processes
 
Создание QuickBlox из сервисной компании
Создание QuickBlox из сервисной компанииСоздание QuickBlox из сервисной компании
Создание QuickBlox из сервисной компании
 
Qmunicate. Как за 2 дня сделать собственный WhatsApp под iOS, Android и Web
Qmunicate. Как за 2 дня сделать собственный WhatsApp под iOS, Android и WebQmunicate. Как за 2 дня сделать собственный WhatsApp под iOS, Android и Web
Qmunicate. Как за 2 дня сделать собственный WhatsApp под iOS, Android и Web
 
Rapid development of backend-based mobile applications
Rapid development of backend-based mobile applicationsRapid development of backend-based mobile applications
Rapid development of backend-based mobile applications
 
Mercurial vs Git
Mercurial vs GitMercurial vs Git
Mercurial vs Git
 
QuickBuilder - how to make your own Android projects builder
QuickBuilder - how to make your own Android projects builderQuickBuilder - how to make your own Android projects builder
QuickBuilder - how to make your own Android projects builder
 

Dive into Push Notifications

  • 1. Dive into Push Notifications Igor Khomenko mobiledevs.kh.ua, 25 April 2013
  • 2. Agenda -WTF? How it works? -iOS Push Notifications -Android Push Notifications -Nowadays
  • 4. Push Notifications Определение: Push Notification позволяют приложению уведомлять пользователя о новых сообщениях или событиях без необходимости фактически приложению быть открытым, подобно тому, как текстовое сообщение делает звук и всплывает на экране. Это отличный способ для приложений взаимодействовать с пользователем в фоновом режиме, будь то игра сообщает нам о некоторых событиях, происходящих в игровом мире или просто почтовая программа издает звуковой сигнал когда новое сообщение появляется в почтовом ящике.
  • 5. -Pull – запрос производится клиентом, ответ пораждается сервером -Push – информация поступает от сервера к клиенту Pull vs Push
  • 7. -Mobile application & device -Push service (APNS, GCM,…) -3rd party server (Push provider) Key players
  • 14. 2. Отправка пушей -3rd party server хранит токены устройств -Отправляет пуши по этим токенам -Production & development зоны Пример payload { "aps" : { "alert" : "You got your emails.", "badge" : 9, "sound" : "bingbong.aiff" }, "acme1" : "bar", "acme2" : 42 }
  • 16. 4. APNS certificate & Provision profile -Подписать приложение правильным Provision profile -Сгенерировать APNS сертификат и загрузить его на 3rd party server Чтоб все заработало нужно: How To! http://qblx.co/YTX4lP
  • 18. 1. Подписка на пуши -Подключение gcm.jar http://developer.android.com/google/gcm/gs.html#libs -Настрока AndroidManifest.xml http://developer.android.com/google/gcm/gs.html#an droid-app (step 1 & 2) -Подписка http://developer.android.com/google/gcm/gs.html#an droid-app (step 3 & 4)
  • 19. 2. Отправка пушей -3rd party server хранит токены (registration_ids) устройств -Отправляет пуши по этим токенам (обычный HTTP запрос) -Нет явно выделенных Production & Development зон Пример payload { "data": { "score": "5x1", "time": "15:10» }, "registration_ids": ["4", "8", "15", "16", "23", "42"] }
  • 20. 3. Получение пушей Разработчик сам решает как показывать сообщение пользователю
  • 21. 4. Project ID & API key -Создать Google API project http://developer.android.com/google/gcm/gs.ht ml#create-proj и использовать project ID в приложении -Получить API key и загрузить на 3rd party сервер http://developer.android.com/google/gcm/gs.ht ml#access-key Чтоб все заработало нужно:
  • 22. Ключевые отличия iOS & Android -Размер payload (iOS: 256 байт, Android 4KB) -UI (разработчик сам определяет действие по приходу пуша и как его показывать в Android) -Тестовая зона (В Android нет) -Связь с APNS устнавливается по TLS, c GCM по HTTPS -GCM более настраиваемый
  • 25. mBaaS providers • StackMob http://developer.stackmob.com/tutorials/ios/Push- Notifications • Parse https://parse.com/tutorials/ios-push-notifications • Kinvey http://devcenter.kinvey.com/ios/guides/push • QuickBlox http://quickblox.com/developers/SimpleSample- messages_users-ios • Pusher http://pusher.com/ • Urban Airship http://urbanairship.comhttp://servicesangle.com/blog/2012/10/23/mobile-backend-as-a-service-mbaas-all-hype-or-here-to-stay/
  • 26. skype: fuel_ex igor@quickblox.com There's never been a better time to be a mobile developer!