VK Online Logger: оповещения об активности друзей в сети

Авторы: Д.В. Кубашевский, А.В. Чернышова
Источник: Международная научно-практическая конференция студентов, аспирантов и молодых учёных "Компьютерная и программная инженерия – 2015" / Сборник материалов международной научно-практической конференции студентов, аспиратнов и молодых учёных. — Донецк, ДонНТУ — 2015, с. 114-116.

Постановка проблемы

С тех пор, как социальные сети стали неотъемлемой частью повседневной жизни большинства пользователей компьютеров и мобильных устройств, огромную популярность стала набирать социальная сеть «ВКонтакте». В настоящее время более 75 млн. посетителей заходят на сайт каждый день [1].

Некоторые пользователи «ВКонтакте» проводят достаточно много времени, общаясь друг с другом, используя возможности этой социальной сети. Иногда возникает необходимость начать активную беседу с пользователем, который находится в списке друзей, но в данный момент не находится в сети. Приходится ждать, пока собеседник вновь войдёт в сеть и начнёт с вами общение.

Цель работы — провести обзор программы «VK Online Logger», позволяющей сэкономить личное время, затраченное на ожидание собеседника в социальной сети, описать её основные достоинства и продемонстрировать работу программы.

Введение

VK Online Logger — инструмент, который берёт на себя всю работу по отслеживанию состояния «онлайн» каждого пользователя «ВКонтакте» из списка друзей и при изменении состояния оповещает пользователя программы об этом.

На данный момент VK Online Logger реализована на платформах .NET Framework (Desktop-версия) и Android (Mobile-версия) в виде приложения.

Интерфейс

VK Online Logger обладает интуитивно понятным интерфейсом, отображающим в удобном виде списки друзей, которые на данный момент находятся в сети, и которые вышли из сети. Интерфейс Desktop-версии изображён на рис. 1.

Интерфейс Desktop-версии
Рис. 1 Интерфейс Desktop-версии

Интерфейс Mobile-версии изображён на рис. 2.

Интерфейс Mobile-версии
Рис. 2 Интерфейс Mobile-версии

Такой режим работы практически не отличается от распространённого первоначального метода — ручной проверки наличия друга в сети, с единственным лишь отличием: обновление данных происходит автоматически через определённый интервал времени. Поэтому программа (как Desktop-версия, так и Mobile-версия) поддерживает скрытый или фоновый режим.

В скрытом режиме программа выводит стандартное системное уведомление при каждом появлении и исчезновении каждого друга «ВКонтакте», которое сопровождается изображением — фотографией (аватаркой) данного друга и текстом, содержащим имя друга и дату последней активности в социальной сети. Уведомления Desktop-версии, запущенной под ОС Microsoft Windows 7, изображены на рис. 3.

Уведомления Desktop-версии
Рис. 3 Уведомления Desktop-версии

Уведомления Mobile-версии под ОС Google Android 4.1.2 изображены на рис. 4.

Уведомления Mobile-версии
Рис. 4 Уведомления Mobile-версии

Авторизация

Взаимодействие программы с социальной сетью «ВКонтакте» осуществляется с помощью официального интерфейса VK API, который предоставляет набор методов, позволяющих получать необходимую информацию, доступную текущему пользователю.

Авторизация в VK Online Logger происходит также с использованием VK API на базе протокола OAuth 2.0. Процесс авторизации клиентских приложений с использованием VK API обычно состоит из 3-х шагов. Сначала приложение должно открыть окно Web-браузера для аутентификации пользователя на сайте «ВКонтакте». После успешной авторизации сайт запрашивает у пользователя разрешение на использование данных аккаунта, необходимых клиентскому приложению. После этого в клиентское приложение необходимо вернуть ключ доступа (маркер доступа) — «access_token» — для доступа к VK API [2].

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

VK Online Logger использует упрощённый способ, который предоставляет библиотека «VkNet» [3]. Пользователь должен ввести имя и пароль, используя интерфейс приложения. Далее библиотека автоматически выполнит запрос на сервер «ВКонтакте» и получит маркер доступа.

Данные

VK Online Logger получает сведения о друзьях авторизованного пользователя с помощью метода VK API «friends.get», который возвращает список идентификаторов друзей пользователя или расширенную информацию о друзьях пользователя. Для выполнения запроса к VK API с вызовом метода «friends.get» в списке параметров передаётся маркер доступа, полученный при успешной авторизации. В данном случае маркер доступа необходим для определения идентификатора пользователя, для которого необходимо получить список друзей [4].

Ниже представлен список данных, получаемых программой о каждом друге:

  • имя;
  • фамилия;
  • пол;
  • состояние "онлайн";
  • время последней активности в сети;
  • URL-ссылка на фотографию с главной страницы (аватарку).

Полученные данные сохраняются для дальнейшего анализа.

Анализ данных

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

Выводы

Программа VK Online Logger предоставляет новые возможности при работе с социальной сетью «ВКонтакте». Она позволяет сэкономить личное время и избавить пользователя от рутинных операций проверки состояния активности друзей в сети.

В дальнейшем планируется разработка полнофункционального программного обеспечения, которое возьмёт на себя роль приложения-клиента социальной сети «ВКонтакте» для Desktop-версий ОС Microsoft Windows. Данное программное обеспечение будет призвано избавить пользователя от необходимости держать Web-браузер в открытом состоянии для получения уведомлений из социальной сети, тем самым снизив расходы на объём оперативной памяти и вычислительных ресурсов компьютера.VK Online Logger станет одним из модулей новой системы.

Литература

  1. Аудитория ВКонтакте // ВКонтакте. [Электронный ресурс]. – Режим доступа: https://vk.com/page-47200925_44240810
  2. Авторизация клиентских приложений // ВКонтакте. [Электронный ресурс]. – Режим доступа: https://vk.com/dev/auth_mobile
  3. VKNET ВКонтакте API для .NET // VK.NET. [Электронный ресурс]. – Режим доступа: https://vknet.github.io/vk/
  4. friends.get // ВКонтакте. [Электронный ресурс]. – Режим доступа: https://vk.com/dev/friends.get