Download - Определение качества сетевого соединения в iOS-почте, Даниил Румянцев, разработчик приложения Почты
Определение качества сети в почте Mail.Ru
Даниил Румянцев, iOS Developer, Mail.Ru, myMail
плохая сеть+
много траффика=
плохой UX
Как определить хорошая ли сеть?
Network Connection Class
https://github.com/facebook/network-connection-class
Network Connection Class
• ConnectionClass_Unknown
• ConnectionClass_Poor
• ConnectionClass_Moderate
• ConnectionClass_Good
• ConnectionClass_Excellent
VS
ConnectionClass_PoorConnectionClass_Excellent
Ping
• Шлем 5 icmp-пакетов на старте
• Считаем время получения ответа и потерянные пакеты
• ….
• PROFIT!
resp
onse
tim
e, s
ec
0
0,175
0,35
0,525
0,7
packets0 10 20 30 40 50 60 70 80 90 100
CoreTelephonyCTRadioAccessTechnologyGPRS
CTRadioAccessTechnologyWCDMA CTRadioAccessTechnologyHSDPA CTRadioAccessTechnologyHSUPA CTRadioAccessTechnologyCDMA1x CTRadioAccessTechnologyCDMAEVDORev0 CTRadioAccessTechnologyCDMAEVDORevA CTRadioAccessTechnologyCDMAEVDORevB
CTRadioAccessTechnologyLTE
2G
3G
LTE
Facebook • Точный результат только при тяжелом траффике
Ping• Дает результат только через 5 секунд
• Результат станет невалидным при смене сети
CoreTelephony• Работает только на сотовой сети, при wi-fi бесполезен
Ping
Application start
Кеш по SSID или типу соединения
CoreTelephony или Moderate
CompositeConnectionQualityHandler
facebook Ping CoreTelephony
Как мы это тестировалиp
Всем спасибо!Вопросы?