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
Moscow Python Meetup
PRO
June 23, 2016
Programming
1
710
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 №105. Кирилл Гладких (ООО Штаб, Python разработчик). Как вайбкодить по-сениорски
moscowdjango
PRO
0
75
Moscow Python Meetup №105. Пётр Андреев (МФТИ, лектор по курсу Advanced Python). Дотянуться до кремния. HighLoad Python: SIMD, GPU
moscowdjango
PRO
0
27
Moscow Python Meetup №105. Антон Важнецов (K2 Cloud, Тимлид). Подход к глубоким изменениям. Миграция SDN в боевом облаке на Python
moscowdjango
PRO
0
22
Moscow Python Meetup №104. Как научить Алису рецептам дореволюционной кухни
moscowdjango
PRO
0
28
Moscow Python Meetup №104. Оптимизация сервиса АБ тестирования или как уйти от Django ORM к Fastapi query builder
moscowdjango
PRO
0
43
Moscow Python Meetup №104. CI/CD Pytest для тестирования качества данных здравоохр. в Великобритании
moscowdjango
PRO
0
27
Moscow Python Meetup №103. Станислав Коленский (Самозанятый, репетитор). Как учат программированию в школьный период и на сколько можно готовить кадры с подросткового возраста
moscowdjango
PRO
0
49
Moscow Python Meetup №103. Мария Рубаненко (Fintech AI / Tech lead DS). Суперсжатие на строках
moscowdjango
PRO
0
84
Moscow Python Meetup №103. Михаил Попов (Assigna Python Backend Developer). Vibe coding. Очевидные преимущества и непоправимые угрозы
moscowdjango
PRO
0
44
Other Decks in Programming
See All in Programming
GC25 Recap: The Code You Reviewed is Not the Code You Built / #newt_gophercon_tour
mazrean
0
130
Developer Joy - The New Paradigm
hollycummins
1
380
CSC305 Lecture 09
javiergs
PRO
0
330
Amazon ECS Managed Instances が リリースされた!キャッチアップしよう!! / Let's catch up Amazon ECS Managed Instances
cocoeyes02
0
110
Ktorで簡単AIアプリケーション
tsukakei
0
120
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
420
Introducing RemoteCompose: break your UI out of the app sandbox.
camaelon
2
160
Blazing Fast UI Development with Compose Hot Reload (Bangladesh KUG, October 2025)
zsmb
2
430
Register is more than clipboard
satorunooshie
1
170
When Dependencies Fail: Building Antifragile Applications in a Fragile World
selcukusta
0
120
Inside of Swift Export
giginet
PRO
1
250
Designing Repeatable Edits: The Architecture of . in Vim
satorunooshie
0
190
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
80
6k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
940
Faster Mobile Websites
deanohume
310
31k
RailsConf 2023
tenderlove
30
1.3k
Writing Fast Ruby
sferik
630
62k
Practical Orchestrator
shlominoach
190
11k
Product Roadmaps are Hard
iamctodd
PRO
55
11k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
The Language of Interfaces
destraynor
162
25k
Thoughts on Productivity
jonyablonski
71
4.9k
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 ✴ бесплатный и простой
сервис рассылки пушей
Спасибо за внимание