Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Dive into Push Notifications

9 views

Published on

Dive into Push Notifications

Published in: Software
  • Be the first to comment

  • Be the first to like this

Dive into Push Notifications

  1. 1. Dive into Push Notifications Igor Khomenko mobiledevs.kh.ua, 25 April 2013
  2. 2. Agenda -WTF? How it works? -iOS Push Notifications -Android Push Notifications -Nowadays
  3. 3. Definition
  4. 4. Push Notifications Определение: Push Notification позволяют приложению уведомлять пользователя о новых сообщениях или событиях без необходимости фактически приложению быть открытым, подобно тому, как текстовое сообщение делает звук и всплывает на экране. Это отличный способ для приложений взаимодействовать с пользователем в фоновом режиме, будь то игра сообщает нам о некоторых событиях, происходящих в игровом мире или просто почтовая программа издает звуковой сигнал когда новое сообщение появляется в почтовом ящике.
  5. 5. -Pull – запрос производится клиентом, ответ пораждается сервером -Push – информация поступает от сервера к клиенту Pull vs Push
  6. 6. How it works?
  7. 7. -Mobile application & device -Push service (APNS, GCM,…) -3rd party server (Push provider) Key players
  8. 8. 1. Подписка на пуши
  9. 9. 1. Подписка на пуши
  10. 10. 2. Доставка пушей
  11. 11. 2. Доставка пушей
  12. 12. iOS Push Notifications
  13. 13. 1. Подписка на пуши
  14. 14. 2. Отправка пушей -3rd party server хранит токены устройств -Отправляет пуши по этим токенам -Production & development зоны Пример payload { "aps" : { "alert" : "You got your emails.", "badge" : 9, "sound" : "bingbong.aiff" }, "acme1" : "bar", "acme2" : 42 }
  15. 15. 3. Получение пушей
  16. 16. 4. APNS certificate & Provision profile -Подписать приложение правильным Provision profile -Сгенерировать APNS сертификат и загрузить его на 3rd party server Чтоб все заработало нужно: How To! http://qblx.co/YTX4lP
  17. 17. Android Push Notifications
  18. 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. 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. 20. 3. Получение пушей Разработчик сам решает как показывать сообщение пользователю
  21. 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. 22. Ключевые отличия iOS & Android -Размер payload (iOS: 256 байт, Android 4KB) -UI (разработчик сам определяет действие по приходу пуша и как его показывать в Android) -Тестовая зона (В Android нет) -Связь с APNS устнавливается по TLS, c GCM по HTTPS -GCM более настраиваемый
  23. 23. Nowadays
  24. 24. mBaaS providers
  25. 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. 26. skype: fuel_ex igor@quickblox.com There's never been a better time to be a mobile developer!

×