Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Push, или Как разрядить чужой телефон
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Moscow Python Meetup
PRO
June 23, 2016
Programming
1
720
Push, или Как разрядить чужой телефон
Алина Баймашева @ MoscowPython 36
Moscow Python Meetup
PRO
June 23, 2016
Tweet
Share
More Decks by Moscow Python Meetup
See All by Moscow Python Meetup
Moscow Python Meetup №108. Воркшоп "Построение AI-агента: Говори с данными на языке бизнеса"
moscowdjango
PRO
0
49
Moscow Python Meetup №108. Gather. Inspire. Deliver.
moscowdjango
PRO
0
36
Moscow Python Meetup №107. Бесшовные релизы глазами разработчика: обновляем код Облака без API
moscowdjango
PRO
0
45
Moscow Python Meetup №107. Django Blue-Green Migrations
moscowdjango
PRO
0
33
Moscow Python Meetup №107. Суперсжатые полнотекстовые индексы
moscowdjango
PRO
0
53
Moscow Python Meetup №106. Евгений Блинов (The Mutating Company, Founder). Суперфункции
moscowdjango
PRO
0
110
Moscow Python Meetup №106. Валерий Карпузов (SmartFX, Team Lead). Пиши, сокращай — Code Golf на Python
moscowdjango
PRO
0
120
Moscow Python Meetup №106. Николай Казак (Технический лидер роботизации бизнес-процессов, МТС Финтех). RPA по-взрослому
moscowdjango
PRO
0
63
Moscow Python Meetup №105. Кирилл Гладких (ООО Штаб, Python разработчик). Как вайбкодить по-сениорски
moscowdjango
PRO
0
160
Other Decks in Programming
See All in Programming
Vuetify 3 → 4 何が変わった?差分と移行ポイント10分まとめ
koukimiura
0
190
Smarter Angular mit Transformers.js & Prompt API
christianliebel
PRO
1
100
Mastering Event Sourcing: Your Parents Holidayed in Yugoslavia
super_marek
0
110
Strategy for Finding a Problem for OSS: With Real Examples
kibitan
0
110
モダンOBSプラグイン開発
umireon
0
180
モックわからないマン卒業記 ~振る舞いを起点に見直した、フロントエンドテストにおけるモックの使いどころ~
tasukuwatanabe
3
420
実践ハーネスエンジニアリング #MOSHTech
kajitack
7
4.2k
Angular-Apps smarter machen mit Gen AI: Lokal und offlinefähig - Hands-on Workshop!
christianliebel
PRO
0
140
Rで始めるML・LLM活用入門
wakamatsu_takumu
0
210
Xdebug と IDE による デバッグ実行の仕組みを見る / Exploring-How-Debugging-Works-with-Xdebug-and-an-IDE
shin1x1
0
140
夢の無限スパゲッティ製造機 -実装篇- #phpstudy
o0h
PRO
0
160
今年もTECHSCOREブログを書き続けます!
hiraoku101
0
140
Featured
See All Featured
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
330
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
Abbi's Birthday
coloredviolet
2
5.8k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.5k
Test your architecture with Archunit
thirion
1
2.2k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
Faster Mobile Websites
deanohume
310
31k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
170
Site-Speed That Sticks
csswizardry
13
1.1k
Unsuck your backbone
ammeep
672
58k
Transcript
Push или как разрядить чужой телефон
RAMBLER&Co Рамблер/недвижимость python dev
[email protected]
Алина Баймашева
None
None
40 50+ 700 1700+ млн человек суммарная аудитория группы количество
изданий, сервисов и проектов разработчиков человек в хорошей компании
Контакты В группе компаний Rambler&Co всегда есть открытые вакансии для
тех, кто хочет профессионально расти и развиваться, занимаясь тем, что по-настоящему нравится
[email protected]
www.rambler-co.ru/jobs
Сайт
Мобильное приложение
✴ получение актуальной информации пользователями ✴ отправлять пуш-сообщения: много и
часто ✴ отправлять модно асинхронно ✴ красивый код ✴ универсальность и простоту использования Миссия
Желания Push- сервис мобильные устройства push-сообщение
Выбор Google Cloud Messaging https://goo.gl/BTGCZc Apple Push Notification Service https://goo.gl/dWW4XY
Google Cloud Messaging
Взаимодействие Push- сервис мобильные устройства GCM API KEY SENDER ID
Ингредиенты ✴ python 3.5 ✴ asyncio ✴ aiohttp ✴ postgresql
✴ aiopg
asyncio Event Loop aiohttp Web-Server aiopg DB GCM client GCM
iOS Android Push- message Архитектура
GCM и мобильное приложение iOS Android GCM Registration Token push-сообщение
Push-сервис и мобильное приложение aiohttp Web-Server iOS Android POST /tokens/
Push-сервис и GCM GCM GCM client POST /push/ GCM-ответ https://gcm-http.googleapis.com/gcm/send
Content-Type:application/json Authorization:key=AIzaSyZ-1u...0GBYzPu7Udno5aA
Push-сообщение
Push-сервис и GCM-ответ DB GCM client обновить token удалить token
{"message_id": "1:2342", "registration_id": "epeG1sjqiYw:GH8k..."} {"error": "NotRegistered"} GCM-ответ GCM-ответ
HTTP API HTTP API aiohttp Web-Server POST /tokens/ PUT /tokens/
DELETE /tokens/ POST /send-push/
Пошлем пуш ?
GCM ✴ поддержка только iOS и Android, Chrome ✴ сильное
различие в пуш-формате между iOS и Android ✴ сообщение с payload 4kb ✴ сообщение notification 2kb ✴ максимальное время жизни недоставленного пуша 4 недели Нюансы Ограничения
Производительность
Итоги ✴ модно молодежно - asyncio ✴ бесплатный и простой
сервис рассылки пушей
Спасибо за внимание