Обмен с устройствами поблизости андроид

Обмен с окружением на Android — что это такое и как пользоваться?

В недавних обновлениях Android появилась новая полезная функция — Обмен с окружением или Nearby Share, позволяющая легко передавать файлы между Android устройствами «по воздуху», в том числе и очень большие файлы. При этом наличие функции не зависит от конкретной версии Android или производителя устройства — если у вас обновляются Google Play Services, то функция должна появиться.

В этой короткой инструкции о том, что представляет собой «Обмен с окружением» на Android, как пользоваться функцией и дополнительная информация, которая может быть полезной.

Используем Обмен с окружением для передачи файлов между Android устройствами

Обмен с окружением — новая функция Android, позволяющая передавать данные (файлы, фото, видео и другие) между устройствами по беспроводным интерфейсам. Могут использоваться Wi-Fi, Bluetooth или NFC, есть возможность передачи и по мобильной сети. Обычно данные передаются по прямому Wi-Fi подключению между устройствами (Wi-Fi Direct). Функция очень похожа на Apple AirDrop на iPhone и на «Быстрая отправка» — аналог на устройствах Samsung Galaxy.

Для того, чтобы использовать функцию «Обмен с окружением» или Nearby Share на Android в общем случае потребуется выполнить следующие шаги:

  1. На обоих устройствах должны быть включены Wi-Fi (подключение к сети не обязательно), Bluetooth и геолокация, также должен быть разблокирован экран на обоих устройствах. Также стоит предварительно включить саму функцию: это можно сделать с помощью соответствующей кнопки в области уведомлений или в разделе Настройки — Google — Подключения устройства — Обмен с окружением.
  2. На Android устройстве, с которого передаются данные, в файловом менеджере, стороннем приложении или где-то еще нажмите кнопку «Поделиться» и выберите пункт «Обмен с окружением».
  3. Начнется поиск доступных устройств. Удаленное устройство может сразу отобразиться в списке доступных (если телефон есть в списке контактов), как на изображении ниже. Тогда достаточно выбрать его и отправить файл (на удаленном устройстве потребуется подтвердить получение файла).
  4. Возможен вариант, когда прежде, чем удаленное устройство появится в списке, на нем потребуется включить видимость, нажав по уведомлению «Устройство поблизости передает файлы».
  5. Переданные файлы сохраняются в папку «Загрузки» (Downloads) на удаленном устройстве.

Как правило, разобраться в использовании функции не составляет труда. Некоторые дополнительные моменты, которые могут пригодиться:

  • Если вы не уверены, есть ли на вашем смартфоне функция «Обмен с окружением» загляните в панель быстрого доступа (кнопки в области уведомлений) и посмотрите, есть ли там соответствующая кнопка. Если нет, попробуйте заглянуть в список отключенных кнопок (кнопка меню — «Порядок кнопок» или нажатие по кнопке с изображением карандаша).
  • Вы можете изменить параметры конфиденциальности и используемых типов подключения при передаче файлов (например, включить отправку и по мобильной сети, или полностью отключить использование Интернета для передачи) с помощью «Обмен с окружением», зайдя в «Настройки» — «Google» — «Подключения устройства» — «Обмен с окружением». В том же разделе настроек вы можете и полностью отключить эту функцию.

В моем тесте всё работает отлично, функцией можно пользоваться: передавал базу оффлайн Википедии на 20 с лишним Гб между смартфоном и планшетом — времени ушло много, но вполне приемлемо для такого объема данных, не исключено, что по USB с использованием компьютера в качестве промежуточного звена оказалось бы дольше.

Источник

Обмен с окружением на Андроид — что это и как отключить

Android – чрезвычайно функциональная операционка. Это её и плюс, и минус одновременно. Ведь то, в чём одни видят возможности, для других является сложностью, с которой нужно разобраться. Причём последних, как показывает практика, оказывается намного больше, чем первых. Всё-таки с каждым обновлением доступных функций и инструментов Android становится больше, а значит, и больше поводов что-то не понять. Как хорошо, что у вас есть мы, готовые рассказать и показать, что к чему.

Обмен с окружением — это тот самый Nearby Sharing

Недавно Android получил функцию передачи данных по беспроводному соединению Nearby Sharing. Google выпустила её в составе сервисов Google Play, поэтому системное обновление для этого не требовалось. Вот только у кого-то нововведение появилось в исходном названии, а у кого-то в русскоязычной локализации – «Обмен с окружением». В принципе, перевод верен, но кто вообще будет заморачиваться и искать аналогии в другом языке?

Как отключить Обмен с окружением

Итак, ещё раз: Обмен с окружением – это и есть функция передачи данных Nearby Sharing. Она позволяет передавать файлы с устройства на устройство, используя технологии Wi-Fi и Bluetooth одновременно. За счёт этого удаётся развить очень высокую скорость, при которой фотографии весом 1-4 МБ передаются практически мгновенно, а тяжёлые видеофайлы весом 1 ГБ – меньше чем за минуту.

Читайте также:  Подключить андроид как флешку без рут

По умолчанию «Обмен с окружением» включён всегда. Однако его можно отключить. Сделать это можно в настройках, но поскольку все производители прячут этот механизм в разные сегменты настроек, искать его лучше всего поиском:

  • Перейдите в «Настройки» и свайпните вниз, чтобы появилась строка поиска;
  • Введите в строку «Обмен с окружением» (или Nearby Sharing, если первый вариант не работает);

Отключать Обмен с окружением совсем необязательно

  • Откройте соответствующую вкладку, тапнув по результату в поисковой выдаче;
  • В открывшемся окне отключите функцию «Обмен с окружением», передвинув тумблер в неактивное положение.

Стоит ли отключать Обмен с окружением

Nearby Sharing — очень удобная функция, и отключать её нет никакой нужды

Впрочем, отключать «Обмен с окружением» в принципе нет никакой необходимости по нескольким причинам:

  • Вы можете включить режим невидимки, скрывшись от пользователей не из списка контактов или вообще ото всех (так у вас сохранится возможность отправлять файлы, когда вам захочется);
  • Вы можете использовать как мобильный интернет для передачи данных, так и Wi-Fi, либо вообще выбрать офлайн-режим, чтобы не задействовать его, если вы боитесь перерасхода трафика;
  • Вы можете переключаться между разными аккаунтами Google, чтобы передавать и принимать файлы через «Обмен с окружением», так что сохранить анонимность можно и здесь.

В целом, «Обмен с окружением» — это очень удобная функция, которая позволяет быстро отправлять данные с устройства на устройство. В отличие от AirDrop, который явно выступил прототипом, «Обмен» от Google требует, чтобы пользователи находились друг перед другом в момент передачи данных, рекомендуя не разносить аппараты на расстояние дальше 30 см. То есть терроризировать вас картинками непристойного содержания случайные люди, скорее всего, не смогут. Поэтому бояться тут нечего. А поскольку «Обмен» не расходует трафик, то и экономить на его отключении нечего.

Новости, статьи и анонсы публикаций

Свободное общение и обсуждение материалов

Ассортименту продукции Xiaomi может позавидовать любой другой производитель. «Китайская Apple» выпускает так много смартфонов, что среди них каждый обязательно найдёт что-то для себя. Особенно хорошо идут упрощённые версии флагманских моделей. Xiaomi просто берёт корпус от топового смартфона, меняет железо на более облегчённое и продаёт такой аппарат по не в пример более низкой цене. А называются такие устройства субфлагманскими. Вот бы все так делали.

Несмотря на то что я терпеть не могу кастомизацию и перепрошивки, мне всегда очень нравилось возиться с экспериментальными функциями тех или иных приложений. Особенно оттянуться удавалось на Google Chrome, в котором постоянно появлялись скрытые нововведения, которые было нужно принудительно активировать в меню флагов. На выходе я получал тот же самый браузер, но с чуть более расширенной функциональностью, которая позволяла пользоваться им с чуть большим удобством. Как говорится, мелочь, а приятно. Поэтому я сильно обрадовался, когда узнал, что и в YouTube есть такие же скрытые функции, которые можно принудительно активировать.

Культура общения в социальных сетях имеет свои особенности по сравнению с реальной жизнью. То, что является абсолютной нормой на письме, в интернете может восприниматься, как что-то странное и непонятное. И с каждым новым поколением пользователей нормы и правила меняются. Когда-то мы писали СМС в строго укороченном варианте, потому что так было дешевле, а сейчас можно слогать целые поэмы в сети, но большинство этим не занимается. Попробуем разобраться, что же изменилось в культуре общения в ближайшее время.

А опустить шторку и при необходимости включать или отключать? не?

Источник

Как мы разработали технологию обнаружения устройств поблизости

Эта история началась с функции “Рядом” в одном из наших мобильных приложений. Мы хотели, чтобы пользователи могли быстро создать групповой чат или добавить находящихся рядом пользователей в друзья. Мы попробовали решить эту задачу при помощи геолокации, Bluetooth, Wi-Fi и ультразвука, но у каждого из способов мы обнаружили критичные в нашем случае недостатки.

В итоге мы придумали новый способ. Он основан на поиске совпадения окружающего шума: если устройства слышат одно и то же, то, скорее всего, они находятся рядом.

В статье мы расскажем о принципе его работы, а также рассмотрим достоинства и недостатки других распространенных способов обнаружения устройств.

Взаимодействие между устройствами поблизости

Люди, находясь рядом друг с другом, часто хотят обменяться файлами, добавить нового знакомого в друзья, сыграть вместе в игру, перевести деньги, поделить счет или выполнить другие совместные действия. Такие приложения станут удобнее, если позволят пользователю легко взаимодействовать с окружающими людьми или устройствами.

Например, Петров только что познакомился с Ивановым и они пытаются “подружиться” на Facebook. Спустя несколько безуспешных попыток найти друг-друга, они, скорее всего, закроют Facebook, обменяются номерами телефонов и будут общаться через WhatsApp.

Читайте также:  Перенос строки string android studio

Кстати, Вконтакте предусмотрели это: в их мобильном приложении для iOS и Android есть функция “Люди Рядом”, которая позволяет найти других пользователей при помощи геолокации. О минусах этого способа я расскажу чуть позже.

Поиск нового знакомого в FB Поиск нового знакомого в Vk

Чтобы функция действительно была удобна пользователю, она должна работать:

  • На любом смартфоне
  • Всегда и везде. На улице, в транспорте, в офисе и т.д.
  • Кроссплатформенно. Как минимум на iOS и Android, а лучше, и в браузере
  • Точно. Определять устройства, которые действительно рядом
  • Быстро. Устройство должно быть найдено менее, чем за 10 секунд
  • Просто. Без дополнительных действий со стороны пользователя

Окружающий шум

Где бы вы не находились (в офисе, транспорте, кафе, на улице, встрече или концерте) — везде есть окружающий шум: голоса людей, музыка, работа двигателя, шум колес, стук клавиш и так далее.

Короткий сэмпл естественного окружающего шума вместе с точным временем его записи, в большинстве случаев, уникален для любого места на Земле. Совпадение окружающего шума и времени означает, что записывающие устройства находятся рядом. Именно на этом основан принцип работы технологии.


Схема работы

Каждое устройство в реальном времени захватывает звук с микрофона и преобразовывает его в специальный отпечаток при помощи перцептивной хэш-функции. Особенность перцептивных хэш-функций в том, что небольшие отличия в исходных данных выражены небольшими отличиями в результирующем хэше.

Отпечаток звука с точной меткой времени отправляется на сервер. Сравнивая его с отпечатками других устройств, сделанных в тот же момент времени, сервер может определить, насколько похожи исходные звуки. Если показатель схожести выше определенного порога — устройства получают идентификаторы друг-друга для последующего взаимодействия.


Пример и сравнение отпечатков с двух разных устройств

Нужно было убедиться, что данный принцип работает и способен находить совпадения в звуке, записанном разными устройствами на расстоянии нескольких метров, а также, что заведомо разный звук не совпадает. Мы вручную собрали сотни часов звука, записанного одновременно на несколько устройств во множестве различных мест.

Используя эти данные, мы перебрали множество алгоритмов генерации и параметров сравнения отпечатков для достижения наилучшего результата. В итоге добились того, что 6-секундный отпечаток позволяет обнаружить устройство на расстоянии до 5 метров в 96% случаев, а ложноположительный результат возможен в 0.0039% случаев.

Мы разработали библиотеки для iOS и Android, которые скрывают от приложения всю реализацию через простой API и встроили их в свои приложения.

Недостаток данного подхода в том, что он не работает в абсолютной тишине. Тишина очень похожа на любую другую тишину и алгоритм намеренно игнорирует ее, чтобы исключить ложные срабатывания. Стоит отметить, что абсолютная тишина встречается в реальных условиях крайне редко. Достаточно стука клавиш клавиатуры или звука шагов, чтобы устройства обнаружили друг-друга.

Иногда это выглядит забавно: пользователи молча ждут обнаружения секунд 10, после чего один из них говорит что-то вроде “Это не работает!”. Эта фраза работает как заклинание и через секунду устройства обнаруживают друг-друга.

Одно преимуществ данного подхода — кроссплатформенность. JS-версия библиотеки, работает в Chrome, Safari, Firefox, Edge, в том числе, в их мобильных версиях.

Еще один способ….

В нашем приложении функция “Рядом” является одной из ключевых. Мы попробовали применить различные существующие способы для ее реализации, но столкнулись с критичными для нас ограничениями и проблемами.
Давайте подробно рассмотрим альтернативные способы.

Геолокация

Это наиболее очевидный способ решить задачу. В момент, когда пользователь открывает раздел “Рядом”, мы получаем его текущее местоположение и выполняем поиск ближайших пользователей на сервере.

Если представить местоположение как центр окружности, а погрешность координат в виде радиуса, то 2 пользователя могут быть изображены следующим образом:

Если расстояние между устройствами (d) меньше суммы погрешностей (r1 + r2), значит есть вероятность (P), что пользователи находятся рядом.

Радиус поиска должен быть не меньше погрешности координат. Как оказалось, реальные координаты смартфона могут находиться и за пределами погрешности, например, в Android это происходит в 32% случаев. Значит, даже находясь рядом, пользователи все равно могут не “увидеть” друг-друга.

Координаты, полученные при помощи GPS и ГЛОНАСС точны, но этот способ зачастую не работает внутри помещений, кроме того, может потребоваться до минуты на поиск спутников. При этом, модуль GPS/ГЛОНАСС присутствует не во всех устройствах (Привет, iPad Wi-Fi!) или может быть отключён на уровне ОС (Привет, Android!).

На самом деле, даже вне здания, на улице с плотной застройкой GPS/ГЛОНАСС часто ошибается из-за отражения сигнала от зданий и может выдавать точность ниже 100 метров:

Поэтому в большинстве случаев приходится использовать координаты, полученные при помощи триангуляции по сигналу окружающих Wi-Fi сетей и сотовых вышек, этот способ работает быстро и энергоэффективно, но точность на порядок ниже: 100 — 1500 метров. На практике, устройство нередко определяет неверное местоположение в городе, а иногда может “телепортироваться” в другой город.

Читайте также:  Лучший менеджер загрузок для андроида

Мы реализовали этот способ и протестировали его в Москве, примерно в 15% случаев устройства не находят друг-друга из-за неверных координат. Особенно часто ошибки происходят внутри высоток Москва-Сити, в метро и наземном транспорте. Также из-за низкой точности часто будут попадаться “лишние” пользователи (не находящиеся рядом).

+ простой в реализации способ
− низкая точность
− плохо работает в транспорте (в движении)

Команда Bump придумала оригинальный способ увеличить точность поиска по геолокации. Пользователям нужно стукнуться своими смартфонами, при этом, акселерометр фиксирует точное время соприкосновения и отправляет его вместе с координатами на сервер, алгоритм ищет пару только среди устройств с одинаковым временем соприкосновения. Эта простая идея на порядки уменьшает вероятность ложноположительного результата, что дает возможность значительно увеличить радиус поиска.

Но в 2013 их поглотил Google, а уже в 2014 проект закрыли, несмотря на то, что Bump SDK был встроен во множество сторонних приложений, а приложение Bump для обмена файлами получило сотни миллионов скачиваний. Дальнейшая судьба технологии неизвестна.

Главный недостаток технологии заключается в том, что за один ”Бамп” связывается только пара устройств. Чтобы объединить группу пользователей, потребуется сделать множество “Бампов”.

+ высокая точность
− необходимо сталкивать друг о друга устройства
− попарное обнаружение устройств
− проект закрыт

Bluetooth, BLE и Wi-Fi

iOS и Android категорически не дружат по Bluetooth. Передача данных между этими платформами — нетривиальная задача: Apple позволяет приложению подключиться только к сертифицированным (Made For iPhone) Bluetooth-устройствам.

Чтобы устройства могли обнаружить друг-друга, используется следующий способ: iOS имитирует какую-либо Bluetooth Low Energy-периферию, устанавливая свой токен в качестве имени BLE-устройства. Android временно меняет Bluetooth-имя смартфона на свой токен и включает режим обнаружения. Теперь, чтобы обнаружить устройства вокруг, Android сканирует Bluetooth для обнаружения Android и BLE для обнаружения iOS-устройств. iOS сканирует только BLE для обнаружения iOS, т.к. сканирование Bluetooth-устройств невозможно с помощью публичного API. Для того, чтобы обнаружить Android, iOS через облако получает идентификаторы окружающих Android-устройств, которые обнаружили его BLE-токен.

Окружающие Wi-Fi-сети в некоторых случаях помогают обнаружить, что устройства рядом: iOS-приложение может получить BSSID Wi-Fi точки доступа, к которой в данный момент подключен пользователь, а Android BSSID всех видимых точек. Если найдено совпадение, значит, пользователи рядом.

Грамотно реализовать этот способ самостоятельно не так уж просто, в том числе из-за множества особенностей BLE-стека разных версий Android и iOS. Существуют библиотеки, которые скрывают сложную реализацию “под капот”.

Мы попробовали Google Nearby. Обнаружение пары iOS — Android происходит медленно, в среднем поиск занимает 20 секунд, а в некоторых случаях длится до 40 секунд, это оказалось главным останавливающим фактором.

Другой нюанс заключается в том, что Bluetooth выключен на большинстве смартфонов, поэтому пользователям iOS каждый раз при использовании функции нужно будет правильно ответить на вопрос “Разрешить приложению использовать Bluetooth?”.

Также, стоит помнить, что использование Bluetooth (на Android) сильно влияет на потребление заряда. Google предупреждает, что Google Nearby увеличивает потребление энергии в 2.5 — 3.5 раза.

+ proof of proximity (гарантия того, что устройства находятся рядом)
− медленное обнаружение
− высокое потребление энергии

Обмен информацией через звук

У всех смартфонов есть динамик и микрофон. Можно закодировать какой-либо идентификатор в звук на одном устройстве, воспроизвести его при помощи динамика, декодировать на устройствах в радиусе слышимости и таким образом объединить устройства в группу.


Пример спектрограммы сигнала Chirp.io

В слышимом диапазоне сигнал смешивается с голосом, музыкой и окружающим шумом, чтобы увеличить вероятность корректного декодирования приходится воспроизводить звук с максимальной громкостью. Чаще всего используется FSK и PSK-модуляция, генерирующая похожий на свист или шум (в зависимости от плотности данных) звук, что раздражает многих людей (пример звука). Этот способ реализован в проекте Chirp.io.

− плохо работает в шумных местах
− раздражает окружающих

Можно использовать диапазон 18-20 кГЦ, он обычно не зашумлен, а большинство взрослых людей не услышат раздражающий звук. К сожалению, некоторые смартфоны тоже воспринимают его плохо, становится актуальна проблема отражения и интерференции, дальность устойчивой связи уменьшается до 0.5 — 3 метров. Этот способ реализован в Google Nearby и Chirp.io, но включается отдельно.

− работает на слишком малых расстояниях

Вместо заключения

Мы тестируем технологию в собственном приложении уже более 2-х лет. За это время мы убедились в ее работоспособности и удобстве в “боевых” условиях. В очень скором времени мы хотим дать возможность любому разработчику быстро встроить и использовать ее в своем приложении.

Надеюсь, статья оказалась познавательной и полезной. Если тема окажется интересной, в следующих статьях я планирую более подробно рассказать об алгоритмах создания и сравнения “отпечатков” окружающего звука, а также о трудностях, с которыми нам пришлось столкнуться.

С удовольствием отвечу на ваши вопросы в комментариях!

Источник

Оцените статью