dive into push notifications

26
Dive into Push Notifications Igor Khomenko mobiledevs.kh.ua , 25 April 2013

Upload: igor-khomenko

Post on 18-Jul-2015

67 views

Category:

Software


3 download

TRANSCRIPT

Page 1: Dive into push notifications

Dive into

Push Notifications

Igor Khomenko

mobiledevs.kh.ua, 25 April 2013

Page 2: Dive into push notifications

Agenda

-WTF? How it works?

-iOS Push Notifications

-Android Push Notifications

-Nowadays

Page 3: Dive into push notifications

Definition

Page 4: Dive into push notifications

Push Notifications

Определение:

Push Notification позволяют приложению уведомлять

пользователя о новых сообщениях или событиях без

необходимости фактически приложению быть

открытым, подобно тому, как текстовое сообщение

делает звук и всплывает на экране.

Это отличный способ для приложений

взаимодействовать с пользователем в фоновом

режиме, будь то игра сообщает нам о некоторых

событиях, происходящих в игровом мире или просто

почтовая программа издает звуковой сигнал когда новое

сообщение появляется в почтовом ящике.

Page 5: Dive into push notifications

-Pull – запрос производится

клиентом, ответ пораждается

сервером

-Push – информация поступает от

сервера к клиенту

Pull vs Push

Page 6: Dive into push notifications

How it works?

Page 7: Dive into push notifications

-Mobile application & device

-Push service (APNS, GCM,…)

-3rd party server (Push provider)

Key players

Page 8: Dive into push notifications

1. Подписка на пуши

Page 9: Dive into push notifications

1. Подписка на пуши

Page 10: Dive into push notifications

2. Доставка пушей

Page 11: Dive into push notifications

2. Доставка пушей

Page 12: Dive into push notifications

iOS Push Notifications

Page 13: Dive into push notifications

1. Подписка на пуши

Page 14: Dive into push notifications

2. Отправка пушей

-3rd party server хранит токены устройств

-Отправляет пуши по этим токенам

-Production & development зоны

Пример payload

{

"aps" : {

"alert" : "You got your emails.",

"badge" : 9,

"sound" : "bingbong.aiff"

},

"acme1" : "bar",

"acme2" : 42

}

Page 15: Dive into push notifications

3. Получение пушей

Page 16: Dive into push notifications

4. APNS certificate & Provision profile

-Подписать приложение правильным

Provision profile

-Сгенерировать APNS сертификат и

загрузить его на 3rd party server

Чтоб все заработало нужно:

How To! http://qblx.co/YTX4lP

Page 17: Dive into push notifications

Android

Push Notifications

Page 18: Dive into 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)

Page 19: Dive into push notifications

2. Отправка пушей

-3rd party server хранит токены (registration_ids)

устройств

-Отправляет пуши по этим токенам (обычный

HTTP запрос)

-Нет явно выделенных Production &

Development зон

Пример payload

{ "data": {

"score": "5x1",

"time": "15:10»

},

"registration_ids": ["4", "8", "15", "16", "23", "42"]

}

Page 20: Dive into push notifications

3. Получение пушей

Разработчик сам решает как

показывать сообщение пользователю

Page 21: Dive into push notifications

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

Чтоб все заработало нужно:

Page 22: Dive into push notifications

Ключевые отличия iOS & Android

-Размер payload (iOS: 256 байт, Android 4KB)

-UI (разработчик сам определяет действие по приходу пуша и

как его показывать в Android)

-Тестовая зона (В Android нет)

-Связь с APNS устнавливается по TLS, c GCM по HTTPS

-GCM более настраиваемый

Page 23: Dive into push notifications

Nowadays

Page 24: Dive into push notifications

mBaaS providers

Page 25: Dive into push notifications

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/

Page 26: Dive into push notifications

skype: fuel_ex

[email protected]

There's never been a better

time to be a mobile developer!