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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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 №106. Евгений Блинов (The Mutating Company, Founder). Суперфункции
moscowdjango
PRO
0
71
Moscow Python Meetup №106. Валерий Карпузов (SmartFX, Team Lead). Пиши, сокращай — Code Golf на Python
moscowdjango
PRO
0
110
Moscow Python Meetup №106. Николай Казак (Технический лидер роботизации бизнес-процессов, МТС Финтех). RPA по-взрослому
moscowdjango
PRO
0
49
Moscow Python Meetup №105. Кирилл Гладких (ООО Штаб, Python разработчик). Как вайбкодить по-сениорски
moscowdjango
PRO
0
130
Moscow Python Meetup №105. Пётр Андреев (МФТИ, лектор по курсу Advanced Python). Дотянуться до кремния. HighLoad Python: SIMD, GPU
moscowdjango
PRO
0
67
Moscow Python Meetup №105. Антон Важнецов (K2 Cloud, Тимлид). Подход к глубоким изменениям. Миграция SDN в боевом облаке на Python
moscowdjango
PRO
0
52
Moscow Python Meetup №104. Как научить Алису рецептам дореволюционной кухни
moscowdjango
PRO
0
51
Moscow Python Meetup №104. Оптимизация сервиса АБ тестирования или как уйти от Django ORM к Fastapi query builder
moscowdjango
PRO
0
82
Moscow Python Meetup №104. CI/CD Pytest для тестирования качества данных здравоохр. в Великобритании
moscowdjango
PRO
0
60
Other Decks in Programming
See All in Programming
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
390
副作用をどこに置くか問題:オブジェクト指向で整理する設計判断ツリー
koxya
1
610
Oxlintはいいぞ
yug1224
5
1.4k
ぼくの開発環境2026
yuzneri
0
240
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
620
AWS re:Invent 2025参加 直前 Seattle-Tacoma Airport(SEA)におけるハードウェア紛失インシデントLT
tetutetu214
2
120
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.9k
AgentCoreとHuman in the Loop
har1101
5
250
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
tsukamoto1783
0
200
Claude Codeと2つの巻き戻し戦略 / Two Rewind Strategies with Claude Code
fruitriin
0
140
CSC307 Lecture 10
javiergs
PRO
1
660
生成AIを使ったコードレビューで定性的に品質カバー
chiilog
1
280
Featured
See All Featured
エンジニアに許された特別な時間の終わり
watany
106
230k
Everyday Curiosity
cassininazir
0
130
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
57
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
Technical Leadership for Architectural Decision Making
baasie
2
250
Mind Mapping
helmedeiros
PRO
0
90
Scaling GitHub
holman
464
140k
Optimising Largest Contentful Paint
csswizardry
37
3.6k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
130
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
66
37k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3k
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 ✴ бесплатный и простой
сервис рассылки пушей
Спасибо за внимание