на чем написан вк андроид

Разбираем приложение Vkontakte под Android. Часть 1, вводная

Видишь суслика? А он уже в облаке

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

Итак, получаем apk из маркета: apps.evozi.com/apk-downloader
Dex2jar — получаем из apk нормальный jar файлик. Да, все xml нам не доступны, но логика-то написана на джаве. Кстати, манифест можно посмотреть из готового APK, до преобразования в jar.
Декомпилятор, например: jd.benow.ca

Первое, что бросается в глаза – папка Facebook:

на чем написан вк андроид. Смотреть фото на чем написан вк андроид. Смотреть картинку на чем написан вк андроид. Картинка про на чем написан вк андроид. Фото на чем написан вк андроид

Второе – это названия переменных. Авторы приложения не используют минификацию (см developer.android.com/tools/help/proguard.html), которая идет по умолчанию в Android Studio. За что им большое спасибо, потрошить такое приложение гораздо проще.

Для сравнения, минифицированный код:

на чем написан вк андроид. Смотреть фото на чем написан вк андроид. Смотреть картинку на чем написан вк андроид. Картинка про на чем написан вк андроид. Фото на чем написан вк андроид

Говорящие названия классов и переменных, правда? В исходном коде все нормально: github.com/KrenVpravo/CheckReaction

Вернемся к фейсбуку Вконтакте. За пределами папки Facebook это слово встречается только в классе SuggestionsImportedFragment. Будем надеяться, что авторы не путали классы специально, чтобы замести следы, и Вконтакте действительно ломится в Фейсбук только для того, чтобы предложить нам фейсбучные результаты поиска. Узнать правду не получится, единственный класс, который вызывается из Вконтакте – FacebookDialog. Он не декомпилируется.

на чем написан вк андроид. Смотреть фото на чем написан вк андроид. Смотреть картинку на чем написан вк андроид. Картинка про на чем написан вк андроид. Фото на чем написан вк андроид

Далее интерес вызвал трекер от Mail.Ru. В открытом доступе такого не нашел.

на чем написан вк андроид. Смотреть фото на чем написан вк андроид. Смотреть картинку на чем написан вк андроид. Картинка про на чем написан вк андроид. Фото на чем написан вк андроид

Похоже, трекер выполняет чисто отладочные функции.

Скачиванием картинок в приложении занимается около полсотни классов. Честно говоря, если держать эту заметку до того, как будет время разобраться к них – получится очередной долгострой долгопис.

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

Главные выводы
– приложение стоит поизучать. Тем более, что vk объявил награды за найденные уязвимости. Их мне искать лень, но возможно для этого код и оставили читабельным.
– соцсети обмениваются информацией, большой дядя все же за нами следит, чтобы советовать знакомых. Еще один повод не ставить все соцсети на телефон.

Источник

Обзор официального приложения ВКонтакте для Android

Вышло официальное приложение Вконтакте для Android. Официальная группа приложения в социальной сети: vk.com/android_app. Запросить установку в web-версии Android Market можно по ссылке: market.android.com/details?id=com.vkontakte.android.

Иконка приложения сделана достаточно опрятно и не броско. По открытии приложения первым, как и в приложении от Facebook, мы увидим ленту новостей. В глаза сразу же бельмом бросается нижняя панель меню в стиле приложений для iOS. Видимо, официальные рекомендации Google по стилю приложений ВКонтакте были проигнорированы. Что ж, большой минус за незнание особенностей платформы.

на чем написан вк андроид. Смотреть фото на чем написан вк андроид. Смотреть картинку на чем написан вк андроид. Картинка про на чем написан вк андроид. Фото на чем написан вк андроид на чем написан вк андроид. Смотреть фото на чем написан вк андроид. Смотреть картинку на чем написан вк андроид. Картинка про на чем написан вк андроид. Фото на чем написан вк андроид

В следующем пункте обнаруживается «Стена». С иконкой «домик». Саечка за отсутствие логики в дизайне. На странице стены, на самом её верху — имя, фамилия и фотография профиля. Не совсем понятно что они там делают вкупе со строчкой статуса: остаётся впечатление, что ценное место потрачено зря.

на чем написан вк андроид. Смотреть фото на чем написан вк андроид. Смотреть картинку на чем написан вк андроид. Картинка про на чем написан вк андроид. Фото на чем написан вк андроидна чем написан вк андроид. Смотреть фото на чем написан вк андроид. Смотреть картинку на чем написан вк андроид. Картинка про на чем написан вк андроид. Фото на чем написан вк андроид

В следующей вкладке — сообщения, отражённые в режиме диалога. Что куда более удобно, чем если бы выводился список всех последних сообщений подряд. (После бурной переписки с одним человеком — листать до старых пришлось бы вечность.) А вот сам диалог выстроен, опять же, с полным игнорированием рекомендаций по дизайну. Это в iOS принято использовать «баблы», в Android (что можно увидеть на примере дизайна страницы SMS-переписки) же используется сплошная «стена» текста и разделением сплошной линией. Никаких таймстампов рядом с сообщениями не обнаружено: ни даты, ни времени. За что можно поставить ещё один жирный минус.

на чем написан вк андроид. Смотреть фото на чем написан вк андроид. Смотреть картинку на чем написан вк андроид. Картинка про на чем написан вк андроид. Фото на чем написан вк андроидна чем написан вк андроид. Смотреть фото на чем написан вк андроид. Смотреть картинку на чем написан вк андроид. Картинка про на чем написан вк андроид. Фото на чем написан вк андроид

Далее следует окно «Места». Здесь расположена карта Google с отметкой вашего местоположения и местоположение других пользователей (совсем не из вашего списка друзей, а вообще со всего сайта), которые захотели его зафиксировать. Нажав «Отметиться» вы, как ни странно, не сможете отметить своё точное местоположение, а попадёте в список заведений вокруг (в моём случае доминировали кафе и рестораны) и «плясать» сможете только от такой точки.

на чем написан вк андроид. Смотреть фото на чем написан вк андроид. Смотреть картинку на чем написан вк андроид. Картинка про на чем написан вк андроид. Фото на чем написан вк андроидна чем написан вк андроид. Смотреть фото на чем написан вк андроид. Смотреть картинку на чем написан вк андроид. Картинка про на чем написан вк андроид. Фото на чем написан вк андроид

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

на чем написан вк андроид. Смотреть фото на чем написан вк андроид. Смотреть картинку на чем написан вк андроид. Картинка про на чем написан вк андроид. Фото на чем написан вк андроид

Количество настроек богатством не потрясает, прямо сказать. Доступно ровно три настройки. Можно загружать или не загружать картинки; можно выбрать метод сортировки списка друзей: по имени, по фамилии и по популярности (думаю, нормальный людей интересует первые два пункта, а по-умолчанию выбран третий); и, наконец, отображение кнопки «Назад» (один-в-один как на iOS), что также с головой выдаёт незнание принципов дизайна приложений под платформу Google Android, аппараты под управлением которой всегда содержат «железную» кнопку «Назад».

на чем написан вк андроид. Смотреть фото на чем написан вк андроид. Смотреть картинку на чем написан вк андроид. Картинка про на чем написан вк андроид. Фото на чем написан вк андроидна чем написан вк андроид. Смотреть фото на чем написан вк андроид. Смотреть картинку на чем написан вк андроид. Картинка про на чем написан вк андроид. Фото на чем написан вк андроид

С главной страницы можно написать сообщение на свою стену для трансляции в ленту новостей друзей. Доступно прикрепление изображения из каталога изображений телефона
на чем написан вк андроид. Смотреть фото на чем написан вк андроид. Смотреть картинку на чем написан вк андроид. Картинка про на чем написан вк андроид. Фото на чем написан вк андроид

Источник

Разработка приложений в VK mini apps

Почему надо смотреть в сторону разработки приложений для работы в VK? У меня за спиной много лет фронтенд-разработки для массовых сервисов, и то, что сейчас предлагает разработчику социальная сеть «ВКонтакте» — быстрый и эффективный способ построить еще один канал коммуникации с действительно большой аудиторией. Ниже расскажу, в чем идея VK mini apps, какие технологии использовать при разработке приложения и на что стоит обратить внимание.

на чем написан вк андроид. Смотреть фото на чем написан вк андроид. Смотреть картинку на чем написан вк андроид. Картинка про на чем написан вк андроид. Фото на чем написан вк андроид

Платформа VK mini apps

«ВКонтакте» предоставляет сторонним разработчикам возможность писать веб-приложения и размещать их в каталоге приложений и/или продвигать внутри сети. Пользователям приложений не нужно скачивать отдельные нативные приложения из Google Play/App Store, функционал выбранного приложения доступен внутри пользовательской сессии основного приложения во «ВКонтакте» или через браузер, на сайте соцсети. В социальной сети есть подробная инструкция о том, как начать работу на платформе VK mini apps.

Инфраструктура приложения VK mini app

Приложение VK mini app представляет собой обычный веб-ресурс, располагаемый по определенному адресу. Его мы должны разместить в «Панели управления приложением» социальной сети.

«ВКонтакте» позволяет разместить три версии приложения:

Ваш веб-ресурс встраивается в приложение «ВКонтакте» через обычное WebView, при открытии с десктопа — через iFrame. Поэтому необходимо держать в уме, что часть функционала JavaScript может быть недоступна, необходимо тщательное тестирование.

После тестирования веб-приложения на разных устройствах его можно отправлять на модерацию, чтобы оно могло быть размещено в каталоге. Заявка на модерацию отправляется из «Панели управления приложением». Объявленный «ВКонтакте» срок модерации — 7 дней. Выкладки новых приложений (сервисов по терминологии «ВКонтакте») происходят раз в неделю по четвергам.

Есть подробная памятка о том, как создать правильное приложение. Рекомендую внимательно свериться с ней, прежде чем отдавать приложение на модерацию.

Разработка приложения VK mini app

Итак, приложение VK Mini Apps — это, по сути, обычное веб-приложение, которое встраивается в платформу посредством iFrame или WebView. Поэтому выбор технологий, на котором оно будет написано, за вами.

Однако для разработки фронтенда «ВКонтакте» рекомендует собственную библиотеку готовых компонентов VK UI, выполненную на React:

Это удобно — многие типовые компоненты уже готовы, осталось только встроить их в структуру вашей страницы или SPA.

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

«ВКонтакте» не требует от разработчика следования какой бы то ни было жесткой архитектуре построения фронтенда — мы берем только то, что нужно, и модифицируем компоненты так, как нужно. Например, вы всегда сможете добавить глупому view-компоненту свой класс, свой обработчик событий, сделать вложенные компоненты любой глубины и так далее.
Существует достаточно подробная (правда, не совсем полная) документация по VKUI. Исходный код на GitHub: https://github.com/VKCOM/VKUI. Соответственно, максимально простая установка:

Обязательно нужно поставить следующий метатег в head верстки страницы вашего приложения, иначе на устройствах с iOS будет неправильно отображаться нативная навигация «ВКонтакте»:

Далее нам нужно просто встроить React-приложение на страницу.

Параметры открытия приложения

«ВКонтакте» сам добавляет параметры запуска к адресной строке, по которой открывается ваше приложение. Их список следующий: vk_user_id, vk_app_id, vk_are_notifications_enabled, vk_language, vk_ref, vk_access_token_settings, vk_group_id, vk_viewer_group_role, vk_platform, vk_is_favorite, sign. То есть фрейм с вашим приложением откроется примерно с похожим адресом: youvkapp.ru/?vk_access_token_settings=notify&vk_app_id=888888&vk_are_notifications_enabled=1&vk_is_app_user=1&vk_is_favorite=1&vk_language=ru&vk_platform=desktop_web&vk_ref=other&vk_user_id=111111&sign=fsdfsdgfgfiuoitu8345u34j

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

Дополнительные параметры в этот список «ВКонтакте» на ноябрь 2019 года включать не планирует. Однако в url можно передать произвольный хэш, например: youvkapp.ru#custom_param

Роутинг

Если в приложении больше одного экрана (я думаю, это как раз ваш случай), нужен переход между экранами. За показ того или иного экрана отвечает state нашего React-приложения. Что касается организации View, то «ВКонтакте» предлагает два способа: смена активного компонента VKUI View и VKUI Panel.

Каждый View отвечает за свой пользовательский сценарий: основной, дополнительный, вызов справочников, страницы поиска и другие. Внутри View содержится свой набор Panel — это конкретные шаги (экраны) в пользовательском сценарии. Абстрактно это выглядит так:

В state в activePanel мы прописываем id того элемента, который нужно показать.

Верстка и компоненты

Теперь можно посмотреть типичную страницу внутри Panel, созданную с помощью компонентов VK UI.

Библиотека VK UI предоставляет практически полный набор компонентов, необходимых для построения интерактивного приложения: всевозможные элементы форм, попапы, стилизованные алерты, галереи, панели навигации, спиннеры, аватары, футеры и так далее.

Как видно, появился ещё один пакет vkontakte:

Можно воспользоваться удобным менеджером по подбору нужной иконки.

Основное правило — правильно использовать компонент либо собственную верстку шапки. В правой части шапки нативное приложение «ВКонтакте» размещает кнопки управления.

на чем написан вк андроид. Смотреть фото на чем написан вк андроид. Смотреть картинку на чем написан вк андроид. Картинка про на чем написан вк андроид. Фото на чем написан вк андроид

Стоит обратить внимание: «ВКонтакте» заявляет, что компоненты могут отображаться на десктопах не совсем адекватно. Однако их можно стилизовать, добавляя свои css-правила. Например, так была стилизована анимация переходов между панелями в одном приложении:

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

Библиотека VK Connect

Библиотека VK Connect предоставляет доступ к широким возможностям как самой сети «ВКонтакте», так и к возможностям устройства, если мы работаем из-под мобильного приложения. Для ее подключения нужно установить пакет vkontakte/vk-connect: npm i —save-dev vkontakte/vk-connect.

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

Чтобы наше приложение вообще начало работу, нужно сначала выполнить инициализацию:

Все дальнейшее взаимодействие с библиотекой происходит похожим образом. Методом connect.send вызываем нужное действие и слушаем ответы. Для этого мы должны подписаться на события:

В объекте detail возвращается type — название типа события, ответ на которое мы ждем, и data — набор данных. В примере выше мы слушаем ответ на запрос connect.send(«VKWebAppGetUserInfo», <>), который должен вернуть данные о пользователе приложения: имя, пол, дату рождения, место проживания, ссылку на картинку аватара в соцсети.

«ВКонтакте» не гарантирует поддержку всех событий на всех устройствах (iOS, Android, Web), поэтому лучше делать проверку такой поддержки перед исполнением кода:

VK Connect также обеспечивает поддержку запросов к API VK, если нужно что-то большее, чем может предоставить сама библиотека VK Connect:

VK Pay

VK Pay — это, по сути, удобный фронтенд для использования онлайн-сервиса оплаты с помощью Деньги Mail.Ru. Для вызова платежной формы достаточно открыть платежное окно с помощью вызова в библиотеке VK Connect:

Таким образом, можно продавать ваши услуги и товары, используя внутреннее платежное средство в сети «ВКонтакте». Подробнее в официальной документации.

Источник

Приложение в приложении: как устроена платформа сервисов VK Mini Apps

Привет, vc.ru! Меня зовут Антон Циварев. В Команде ВКонтакте я руковожу платформой для сторонних разработчиков. В августе 2018 мы запустили VK Mini Apps — платформу сервисов внутри мобильного приложения ВКонтакте. Сейчас там более 5 тысяч активных сервисов: абсурдные игры, акции больших брендов, интернет-магазины и даже альтернативная экономика — рассказываю о самых интересных решениях.

Сервисы VK Mini Apps — веб-приложения в нативном клиенте, позволяющие решать повседневные задачи или интересно проводить время, не выходя из ВКонтакте. Например, пополнять счёт транспортной карты, заказывать еду или такси, знакомиться с новыми людьми, искать работу или учить правила дорожного движения. Платформа открытая, так что сделать приложение может каждый. Большинство проектов придуманы независимыми разработчиками, но представлен и большой бизнес — «Макдоналдс», Dostaевский, ComicCon, «Ситимобил». А самым известным приложением на базе VK Mini Apps можно назвать, пожалуй, VK Coin — в начале апреля о нём говорили едва ли не все развлекательные паблики.

Изначально мы назвали платформу VK Apps, но недавно решили добавить в название приставку Mini. Кажется, так лучше передаётся суть проекта — лёгкие и быстрые сервисы в одном приложении VK прямо в телефоне. Этот формат уже успешен на китайском рынке: в мессенджере WeChat функционируют свыше миллиона «приложений в приложении».

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

Для бизнеса и разработчиков есть свои плюсы :

Во время работы над платформой мы поняли, что для пользователей сервисы VK Mini Apps должны восприниматься как что-то привычное, а для разработчиков — оставаться максимально простыми в создании. Поэтому мы остановились на веб-приложениях, которые будут открываться в WebView на полный экран. Все сервисы созданы с использованием открытой библиотеки для мобильного интерфейса, которой ежедневно пользуемся и мы сами. Это чистый веб, написанный на HTML, CSS и JavaScript без единой строчки нативного кода и мимикрирующий под приложение ВКонтакте.

VK Mini Apps стоит на трёх китах:

С помощью WebView и VK UI были созданы некоторые экраны приложения VK — это позволило нам ускорить его разработку в несколько раз. Именно так мы писали экраны для создания сообщества и управления им, запуска рекламных постов и жалоб на контент. Всю документацию, полезную информацию и примеры сервисов для разработчиков можно найти в сообществе VK Mini Apps: vk.com/vkappsdev

К марту мы планировали выйти на 2 миллиона уникальных пользователей в месяц, а вышли на 10 миллионов. Всего сейчас на платформе — более 5 тысяч активных сервисов, но далеко не каждому из них нужен выход на всю аудиторию ВКонтакте. Поэтому в каталоге, который доступен всем пользователям, размещены около 90 сервисов — самых качественных и массовых. Есть и другие точки входа: сервис можно разместить в меню сообщества, добавить в чат-бота, а если ссылку на приложение вставить в публикацию, то к ней прикрепится красивый заметный сниппет. Кроме того, пользователи могут найти нужный сервис в общем поиске по ВКонтакте.

У нас получилось создать комьюнити разработчиков VK Mini Apps — сообщество, митапы, чаты. Мы поддерживаем общение с авторами успешных проектов, предлагаем им давать нам фидбэк и делиться опытом с другими разработчиками. Дальше я как раз расскажу о нескольких сервисах, которые стали популярны на нашей платформе.

Чтобы опробовать VK Mini Apps и просто «запилить что-нибудь смешное», один из независимых разработчиков в декабре 2018 года запустил абсурдный сервис — пользователи платят деньги, чтобы попасть в топ внутри самого сервиса.

На создание «Сотена» у меня ушла одна неделя. За первый вечер создал дизайн, за следующие три написал прототип, ещё три дня тестировал приложение. Для сравнения — столько же времени, ровно неделю, я потратил, чтобы найти юридическое лицо и официально принимать платежи в приложении.

Всего за неделю в «Сотен» пришли 150 тысяч пользователей, из них 2151 человек отправил деньги. Суммарный оборот сервиса составил 480 000 рублей. «Сотен» стал первопроходцем в своей нише и заложил тренд на простые по механике и быстрые в разработке сервисы с большим виральным потенциалом. Подробнее о сервисе можно прочесть в этом материале на VC.

В новом году появился новый виральный сервис —Tool 42 (vk.com/tool42). С его помощью пользователь может узнать, как давно зарегистрирован ВКонтакте, кто из друзей или друзей друзей добавил его в чёрный список, а также какие записи на странице или в сообществе наиболее популярны по разным показателям: отметкам «Нравится», комментариям, просмотрам. Создал сервис за пару ночей, «когда было свободное время», программист Павел Громадчук. Он хотел получить опыт разработки на React и реализовать полезные функции, которых, на его взгляд, не хватало в VK.

В конце февраля приложение появилось в каталоге, но резко набрало популярность две недели спустя — когда разработчик добавил возможность опубликовать свою дату регистрации ВКонтакте в историях. Пользователи сравнивали свой результат с данными друзей, и это своеобразное соревнование стало невероятно виральным — за первые четыре дня сервисом воспользовались 2 миллиона человек, которые опубликовали больше 700 тысяч историй. 17 марта 21 % авторов всех историй ВКонтакте размещали их через Tool 42. Разработчик потратил всего один час на написание кода для публикации истории и тысячу рублей на создание картинки для шеринга у дизайнера.

Vsemayki.ru — это интернет-магазин по печати принтов на одежде и сувенирах с полумиллионом заказов в год. Свой сервис на VK Mini Apps Vsemayki.ru (vk.com/app6800340) запустили в конце января 2019. Это был эксперимент: создателям хотелось проверить перспективность новой платформы в плане продаж. В итоге они стали одним из первых интернет-магазинов, которые представлены в каталоге. В сервисе быстро оформляются заказы за счёт автозаполнения формы с разрешения пользователя.

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

Источник

Пользователи заметили во «ВКонтакте» поиск по номеру через контакты на телефоне. Функция существует с 2013 года Статьи редакции

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

Несколько пользователей и сообществ заметили во «ВКонтакте» функцию поиска профилей по номеру телефона из списка контактов. Они обратили внимание на опцию после публикаций на «Пикабу» и «ЯПлакал». Для поиска через контакты нужно:

«ВКонтакте» добавила функцию импорта контактов из телефона в соцсеть около пяти лет назад. В 2013 году поиск в записной книге появился в приложении на Android, а в 2015 году — для iOS и Windows Phone.

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

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

В ноябре 2015 года пользователи Фейсбука заметили аналогичную функцию: они могли «пробить» номер незнакомого человека в соцсети и попасть на его страницу. Вскоре администрация Facebook ограничила число запросов с проверкой номеров.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *