Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
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
48
Moscow Python Meetup №106. Валерий Карпузов (SmartFX, Team Lead). Пиши, сокращай — Code Golf на Python
moscowdjango
PRO
0
82
Moscow Python Meetup №106. Николай Казак (Технический лидер роботизации бизнес-процессов, МТС Финтех). RPA по-взрослому
moscowdjango
PRO
0
29
Moscow Python Meetup №105. Кирилл Гладких (ООО Штаб, Python разработчик). Как вайбкодить по-сениорски
moscowdjango
PRO
0
100
Moscow Python Meetup №105. Пётр Андреев (МФТИ, лектор по курсу Advanced Python). Дотянуться до кремния. HighLoad Python: SIMD, GPU
moscowdjango
PRO
0
47
Moscow Python Meetup №105. Антон Важнецов (K2 Cloud, Тимлид). Подход к глубоким изменениям. Миграция SDN в боевом облаке на Python
moscowdjango
PRO
0
38
Moscow Python Meetup №104. Как научить Алису рецептам дореволюционной кухни
moscowdjango
PRO
0
41
Moscow Python Meetup №104. Оптимизация сервиса АБ тестирования или как уйти от Django ORM к Fastapi query builder
moscowdjango
PRO
0
64
Moscow Python Meetup №104. CI/CD Pytest для тестирования качества данных здравоохр. в Великобритании
moscowdjango
PRO
0
42
Other Decks in Programming
See All in Programming
Developing static sites with Ruby
okuramasafumi
0
300
非同期処理の迷宮を抜ける: 初学者がつまづく構造的な原因
pd1xx
1
720
関数実行の裏側では何が起きているのか?
minop1205
1
700
大体よく分かるscala.collection.immutable.HashMap ~ Compressed Hash-Array Mapped Prefix-tree (CHAMP) ~
matsu_chara
2
220
AIコーディングエージェント(Gemini)
kondai24
0
230
【CA.ai #3】Google ADKを活用したAI Agent開発と運用知見
harappa80
0
320
251126 TestState APIってなんだっけ?Step Functionsテストどう変わる?
east_takumi
0
320
マスタデータ問題、マイクロサービスでどう解くか
kts
0
110
React Native New Architecture 移行実践報告
taminif
1
160
開発に寄りそう自動テストの実現
goyoki
2
1k
JETLS.jl ─ A New Language Server for Julia
abap34
1
410
AIエンジニアリングのご紹介 / Introduction to AI Engineering
rkaga
8
2.9k
Featured
See All Featured
Being A Developer After 40
akosma
91
590k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.3k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.2k
Scaling GitHub
holman
464
140k
4 Signs Your Business is Dying
shpigford
186
22k
The Cost Of JavaScript in 2023
addyosmani
55
9.4k
The World Runs on Bad Software
bkeepers
PRO
72
12k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
How to Think Like a Performance Engineer
csswizardry
28
2.4k
Agile that works and the tools we love
rasmusluckow
331
21k
Site-Speed That Sticks
csswizardry
13
1k
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 ✴ бесплатный и простой
сервис рассылки пушей
Спасибо за внимание