dive into push notifications

Post on 18-Jul-2015

67 Views

Category:

Software

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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!

top related