Android to Android

16
Android to Android Павел Криворучко

description

Возможности коммуникаций между Android устройствами, их сравнение и сценарии использования. Доклад для Mera DevFest

Transcript of Android to Android

Page 1: Android to Android

Android to Android Павел Криворучко

Page 2: Android to Android

Android: везде и всюду

Android: 85% iOS: 13%

Android и Tizen iOS (c 2015)

Fire TV, Oyua и пр.

Google TV/Android TV

Android: 66% iOS: 28%

Windows: 6%

Более 1 000 000 000 устройств с Google сервисами. Более 600 000 000 на других вариациях Android

Page 3: Android to Android

Фрагментация и версии

• По официальной статистике, более 78% устройств на 4.1 и выше. В реальности перекос еще больше в пользу новых версий

• Почти 25% устройств на KitKat (4.4)

45,5% 12% 10%

Черная зона. 2.х, почти нет

поддержки

Серая зона. 4.0.х,

не развивается

Зеленая зона. 4.1-4.2,

рост функций

32,5%

Зрелость. 4.3-4.4,

современный стандарт

Page 4: Android to Android

Средства коммуникации Средство ОС Доступность Проблемы

WiFi 1.х+ Массовая, практически во всех консьюмерских устройствах

Зависимость от средств предоставления связи

Bluetooth 1.х+ Массовая, в большинстве устройств

Зачастую отключен по умолчанию, требует ручного подтверждения соединения

Bluetooth LE 4.3+

Распространен в устройствах верхнего и среднего ценового сегмента

Нативная поддержка лишь с Android 4.3, низкая распространенность в дешевых устройствах

WiFi Direct 2.3+ Массовая, в большинстве

устройств Требует ручного подтверждения соединения

NFC 2.3+ 4.0+ (AAR)

Телефоны верхней и средней ценовой категории.

Практически отсутствует в планшетах. Неполная поддержка стандартов, проблемы в 4.4.1-2

Infrared 4.2+ Часть устройств Samsung и HTC, изредка другие

Малая поддержка дополняется наличием в части устройств только передатчика, но не приемника

Page 5: Android to Android

Гибридные техники

NFC

Bluetooth

Handshake Обмен данными

Bluetooth

WiFi Direct

Android Beam

Samsung S Beam

Page 6: Android to Android

Bluetooth

• Пинг – ~100 мс, канал до 2 Мбит/с • По умолчанию имеет интервал

деактивации (типовое значение – 120 с), при этом приложение имеет возможность одновременно запросить разрешение на включение и бесконечный режим ожидания

Page 7: Android to Android

WiFi Direct • Пинг – , канал – около 10 Мбит, нестабильна • Несмотря на P2P, требует разрешения

INTERNET в манифесте • Достаточно, чтобы одно из устройств имело

поддержку стандарта – второму достаточно WiFi

• Спаривание устройств только после ручного подтверждения

• Несмотря на поддержку вплоть до 2.3, в 4.0 и 4.1 были внесены существенные улучшения

Page 8: Android to Android

NFC • Пинг – практически неприменимо • С 4.0 – AAR для моментального запуска

приложений • Реальная скорость – около 20 Кбит/c • Множество проблемных форматов для тегов • На 4.0-4.3 p2p взаимодействие между

устройствами невозможно вне UI “Touch to Beam”

• На 4.4 появилась эмуляция смарт-карт и возможность p2p взаимодейтсвия без Beam

Page 9: Android to Android

Bluetooth LE • Пинг - <10 мс, канал 100-300 Кбит/с • Стандарт для соединения с носимыми

устройствами (вне зависимости от их ОС) • Чтение данных с Beacon-ов (технически

возможна имплементация iBeacon, однако Apple начали препятствовать этому)

• Начиная с 4.4.3, начали появляться API для работы Android устройства в качестве Beacon-а, в Android L – это работает полноценно

Page 10: Android to Android

Общение между приложениями

• Network Service Discovery: WiFi, WiFi Direct – Подписываемся на опред

• Android Application Record: NFC • Android Open Accessory: в зависимости

от подключенных внешних устройств

Page 11: Android to Android

Обходя ограничения • Хотя WiFi Direct требует пользовательского ввода.

Для внутренних нужд можно использовать решения для рутованных устройств, такие как Xposed Framework или собственную сборку на базе AOSP

• Для поддержки широкого парка девайсов автоматическое взаимодействие сводится к подключению внешних устройств в качестве аксессуаров

Page 12: Android to Android

Сценарий 1: «умный пульт»

• Управляющее устройство: смартфон, планшет • Управляемое устройство: планшет, ТВ, консоль Возможности: классический second screen с отображением дополнительной информации; контекстно-зависимые контроллеры

Page 13: Android to Android

Сценарий 2: интерактивное взаимодействие

• 2 равноправных устройства

Возможности: передача данных – от коротких сообщений до файлов в десятки мегабайт весом.

Page 14: Android to Android

Сценарий 3: сенсоры + центр обработки

• Центральное устройство и одно или несколько периферийных

• Центральное устройство агрегирует данные и принимает решения (автоматически или путем ввода оператора)

• Периферийные устройства могут быть не интерактивны

Page 15: Android to Android

Что дальше? • Прогноз в 50 000 000 000 устройств,

способных к соединению друг с другом к 2020 году – все ближе к реальности

• Все больший акцент на отслеживание положения и автоматическое взаимодействие устройств

• Централизованная обработка данных с нескольких групп сенсоров

• Реинкарнация «дополненной реальности» в работающем виде

Page 16: Android to Android

Вопросы?

Контакты: [email protected] http://facebook.com/pavel.krivoruchko