Как создать приложение вконтакте
Перейти к содержимому

Как создать приложение вконтакте

  • автор:

Создание приложения VK Mini App: взгляд изнутри

Всем привет! Хочу рассказать про разработку приложения для ВКонтакте под названием VK Mini App: что это, для чего это и как вообще устроено.

Пару лет назад я написал на vc.ru статью о своем проекте Фотопланета, которая попала в подборку за месяц, что и сподвигло меня разработать приложение VK Mini App Фотопланета, опубликовать его в каталоге и поделиться полной информацией о процессе, которой мне ой как не хватало на старте.

Что такое VK Mini App?

По сути — это веб-приложение, написанное HTML+CSS+JS и запускаемое внутри ВКонтакте: на vk.com / m.vk.com и в мобильных приложениях.

Отмечу, то необязательно делать поддержку сразу 3-х платформ, а также уточню, что в мобильных приложениях для iOS есть режим ODR, с которым не все так просто и об этом будет сказано ниже.

Взаимодействие между вашим кодом в приложении и ВКонтакте осуществляется с помощью библиотеки VK Bridge. Документация по ней хорошая, а само использование не вызывает сложностей.

Зачем это и что это дает?

Во-первых, вы сразу получаете доступ к информации о пользователе, который в приложении уже является как бы “зарегистрированным” — это удобно и для него и для вас.

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

И в-третьих, вы имеете возможность получить доступ к таким штукам, которые или недоступны или ограниченно доступны на JS. Пример: информация о фонарике.

Как это выглядит?

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

Между vk.com и m.vk.com есть разница: например, открыть нативный просмотрщик и показать в нем фото можно в m.vk.com и нельзя в vk.com

Как это устроено технически?

Для сайтов vk.com и m.vk.com приложение запускается в , в мобильных приложениях — в WebView. И если с Андроидом все однозначно, то на iOS возможны два пути:

  • ODR — режим: тут все отлично выглядит и принцип работы аналогичен принципу для Android.
  • и не ODR — режим: приложение будет открываться в m.vk.com, который будет открываться в WebView (как будто вы открыли ссылку в любимом мессенджере). Минус тут не только в таком отображении, но и в том, что аутентификация иногда слетает и вам придется вводить логин и пароль заново (это просто не юзер-френдли).

Код вашего приложения размещается или на вашем сайте или на поддерживаемом из коробки хостинге статики ВК. Но ODR же устроен по-другому.

ODR (только для iOS)

Чтобы ваше приложение работало в ODR (простыми словами — работало “нормально”) нужно иметь аккаунт разработчика Apple (стоит от 99$ в год) и указать необходимые сведения в настройках приложения.

Далее, вы создаете ZIP-архив файлов. Не забываем про корректную работу с CORS и про то, что приложение должно запускаться просто открыв index.html

Осталось лишь понять, доступен ли ODR-режим? Если да, то у вас на айфоне приложение будет запущено именно в нем:

  • ODR доступен администрации приложения (это настраивается и можно добавлять туда просто “тестеров”) сразу после его загрузки в кабинете разработчика. Класс!
  • Для всех остальных (хотя.. не всех?): вы отправляете архив на проверку модератором (он просто смотрит факт работы, не вдаваясь в детали), получаете апрув и со следующим обновлением приложения ВКонтакте (еще и Apple должна дать “добро”) ODR становится доступен всем. Как вы понимаете, это не так быстро.

Да, ODR обязателен для каталога, если вы собираетесь поддерживать iOS.

Итак, вы разработали приложение и можете давать пользователям им наслаждаться. А если вам не нужен ODR или вы вообще iOS не планируете поддерживать, то модерации, получается, вообще нет.

Размещение приложения в каталоге дает пользователей. Как? Да вот так:

  • “Новые”. Выходит не так много много новых приложений и ваше точно будет не обделено вниманием.
  • Фичеринг: по какой-то причине ваше приложение понравится ВК и вам дадут еще трафика.
  • Размещение в категориях: да, в категориях каталога мало приложений и ваше приложение не останется незамеченным.
  • Уже открывали приложение? ВК об этом пользователю напомнит: прекрасная возможность для повышения retention.

Но как попасть в каталог? Скажу так: модерация в App Store и Google Play (да, тут она тоже есть) покажется цветочками, но с другой стороны — это и плюс, ведь чем сложнее, тем интереснее:)

Определяемся с тем, для кого приложение

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

Отправка приложения

Вы уже разработали приложение, проверили его и считаете, что уже пора? Отлично, самое время отправить заявку, это делается в настройках приложения.

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

  • Все по делу, а модератор всегда адекватный — это означает, что вы можете высказать свое мнение и его аргументировать, таким образом сделать по-своему.
  • Кажется, что модератор не читает свои же сообщения: у меня было А, сказали — Б, сделал, потом сказали А, потом опять Б.
  • То, что все требования не публикуются изначально — это не удобно. Думаешь, что уже все сделано и тут бах — новый список.

Но вот прошло время, вы пофиксили или уже отстояли свою позицию. Теперь в каталог? Неет, теперь в Testpool: иными словами, вам создают продукт и вы попадаете в Баг-трекер.

В Баг-трекере сотни тестировщиков будут создавать задачи (мне создали более 100), а потом еще и проверять их выполнение.

  • Абсолютно все задачи составлены грамотно: коротко и ясно.
  • Все тестировщики адекватные люди, с которыми комфортно общаться и опять же, отстаивать свою позицию.
  • Приложение “вылизывают”, даже помогают в орфографии.
  • Присутствуют мелкие замечания, которые не являются ошибками, а скорее просто пожеланиями. Почему это в “минусах”? Потому, что это отнимает время, а пользы не приносит, ну и задерживает публикацию в каталоге.

Сделали все? Супер, самое время обновить приложение, а тестировщикам дать возможность проверить все исправления.

И вот тут теперь наступает важный момент: ODR вы обновили, но стал ли он доступен тем, кто помогает вам сделать приложение лучше?

В официальном чате мне сказали — нет, только после проверки модератором и после обновления приложения ВК. Но как показала практика, все же это не так: ODR сразу становится доступен тем, кто участвует в тестировании продукта. Это здорово!

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

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

Что доступно после того, как вас одобрят:

  • Самое главное — это красивый адрес приложения.
  • Оценка приложения: Performance, Best Practices и Progressive Web App, выраженные в процентах.
  • Ну и настройка баннера для каталога.

Теперь ваш продукт в Testpool становится закрытым, а при каждом обновлении вам нужно снова писать в поддержку.

Про дизайн

Чтобы разработать приложение полностью в стиле ВК, вы можете использовать официальную библиотеку VKUI, которая представляет собой набор React-компонентов.

  • ВК-стайл обеспечивает комфорт для пользователей, ведь они не чувствуют, что вышли из ВК при открытии приложения.
  • Удобно и просто использовать.
  • Нет встроенного роутера, я писал свой, хотя есть сторонние решения.
  • Сложность разработки возрастает сильно, если ваше приложение не “пара экранов с простой логикой”, основная проблема — навигация.

Если вы разрабатываете приложение без каталога, то можно использовать любой дизайн. Если вы отважитесь на каталог, то тут действует правило “да, но нет” касательно выбора дизайна: VKUI приветствуется и обязательно в плане соблюдения (если будете делать на нем), но можно делать и на другом дизайне.

На что обратить внимание?

  • Swipe Back на iOS и кнопка Назад на Андроиде: обязательно сделайте, без этого приложением пользоваться неудобно.
  • Светлая и темная тема: также реализуйте, без этого приложение будет смотреться странно.
  • Также обратите внимание на то, как правильно указывать платформу в коде.
  • Используете localStorage? Учтите, что он не доступен в в режиме “инкогнито”.

Монетизация

Внимание! Перед использованием проконсультируйтесь со специалистами (поддержка ВК).

Сам я монетизацию не делал, но основное, что хочется сказать про это:

  • Цифровые товары запрещено продавать на iOS, а для других платформ нужно принимать оплату голосами. Кто-то делает через VK Donut, но тут лучше смотреть первый абзац в этом разделе.
  • Возможна установка рекламы — это, можно сказать, доступно из коробки. Не забывайте, что миллионы вы не заработаете на 10 посетителях в день: тут нужен хороший трафик и качественное приложение.

Что дальше?

  • Установка в сообщество — классная идея, которая позволит кому угодно ставить ваше приложение в свое сообщество, а вам — адаптировать его содержимое под определенный запрос. Это в моих планах.
  • Размещение в Одноклассниках — я пока не пробовал, но обязательно попробую, судя по документации, там не должно возникнуть сложностей.

Спасибо, что дочитали до конца, надеюсь статья вам будет полезна, если планируете работать с VK Mini App. И если вы решили сделать приложение и разместить его в каталоге, то желаю ему не только туда попасть, но и развиваться! Почему? К сожалению, есть несколько примеров классных приложений (да еще пропиаренных самим ВК), которые после релиза не обновляются ни технически, ни в плане контента, видимо, стали неинтересны авторам:(

28 показов
7.4K открытий
11 комментариев
Написать комментарий.

А есть ли смысл вкладываться в такие приложения? Мб лучше сфокусироваться на гугл плей и эппл маркете, нежели чем еще в такие ниши заходить?

Развернуть ветку
Развернуть ветку

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

Развернуть ветку

Предположу, что вы все же использовали какое-нибудь VK Mini App, но не обращали внимание: например, «Такси».

Развернуть ветку

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

Развернуть ветку

Смотря какие цели вы преследуете. Если у вас уже есть приложение в гугл плей и эпл стор, то это отличный вариант получить трафик и в дальнейшем перенести его уже на другие площадки.

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

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

Как создать мини-приложение: база знаний VK Mini Apps

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

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

image

Находим идею

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

  • Какпридуматьзаметить идею мини-приложения — статья от VK Mini Apps.
Проектируем и прототипируем

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

Наглядный пример стоимости ошибки на разных этапах разработки:

image

Убедитесь, что идея жизнеспособна. Если планируете зарабатывать на своём мини-приложении и нужен будет трафик — проведите исследование потенциального рынка. Соберите данные, пообщайтесь с целевой аудиторией, изучите её потребности и боли. Составьте две-три пользовательские истории. Займитесь техническим проектированием: составьте список фич, которые хотите видеть в MVP и в финальной версии.

После этого можно переходить к созданию прототипа вашего будущего приложения.

Что посмотреть:

  • Лекция менеджера платформы VK Mini Apps Андрея Ошанина — о проектировании, работе с аудиторией, анализе рынка и инструментах, которые помогут быстро набросать прототип.
  • Проектирование и прототипирование — конспект лекции, чтобы закрепить опорные тезисы.
Кастомизируем UX/UI

На этом этапе предстоит балансировать между «Делаю, как мне нравится», «Делаю как умею» и «Делаю, как будет удобно пользователям».

Найти и сохранить такое равновесие сложно даже опытным дизайнерам и разработчикам. Так что этап кастомизации — поле бесконечных экспериментов, А/B-тестов и проверок гипотез. У тех, кто создаёт мини-приложения, есть мощное подспорье — VKUI. Это набор React-компонентов, с помощью которых можно создавать интерфейсы, внешне неотличимые от приложения VK.

Что пригодится:

  • VKUI styleguide — все доступные компоненты интерфейсов, чтобы ваше мини-приложение выглядело как нативный клиент. Бонус: ассеты VKUI для Figma — они бесплатны сами по себе, но доступны только в платной версии программы.
  • Туториал по React — пригодится, если вы ещё не работали с этим фреймворком. Затем можно возвращаться к компонентам VKUI.
  • VK Icons — набор SVG-иконок, представленный в виде React-компонентов.
  • Happy Santa VK App UI Style Guide — полезный материал для десктопной реализации мини-приложений.
  • Лекция дизайнера из Команды ВКонтакте Алексея Мазелюка — если хотите наглядности и примеров.
  • Рекомендации по UX/UI от наших экспертов — раздел большой статьи о критериях модерации на платформе VK Mini Apps.
Разрабатываем

Наконец можно приступить к реализации. Делимся всеми ссылками, которые вам помогут.

Must read перед разработкой:

  • Правила размещения сервисов на платформе VK Mini Apps — документ № 1.
  • Критерии модерации сервисов VK Mini Apps — большая статья о том, как попасть в каталог.
  • Быстрый старт — подробный официальный материал о том, как запустить своё первое мини-приложение.
  • Как создать первое приложение на VK Mini Apps — опыт стороннего разработчика.
  • Знакомство с API ВКонтакте — статья с подробным описанием методов и объектов интерфейса, процесса регистрации приложения, авторизации пользователя, прав доступа.
  • Обзор API ВКонтакте от менеджера проекта VK Mini Apps Ксюши Черотченко — принципы работы и методы API.
  • Документация VK Mini Apps.
  • Деплой сервиса в GitHub Pages — инструкция.
  • CodeSandbox — полезный сервис: кнопка Add Dependency позволяет добавлять нужные библиотеки, а Save создаст уникальную ссылку на ваш проект.
  • Web Skills — дорожная карта для начинающего веб-разработчика. Обзор областей знания и концепций со ссылками на учебные материалы (на английском).
  • Воркшоп от разработчика мини-приложений из VK Team, часть 1 — Глеб Воронцов показывает техническую часть разработки: панель администрирования, инструменты и многое другое.
  • Воркшоп по разработке мини-аппа, часть 2, — финишная прямая: VKUI, VK Bridge и наглядный кодинг.
  • Навигация и цветовая схема — подробная статья о том, как сделать навигацию в мини-аппе для платформ iOS и Android, включая свайпы и аппаратные кнопки.
  • Poo-Mini-App — github-репозиторий с примером реализации мини-аппа.
  • VK Bridge Sandbox — песочница для тестирования VK Bridge.
Проходим модерацию и тестирование

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

Модераторы проверят, соответствует ли он правилам размещения сервисов на платформе VK Mini Apps и учтены ли критерии размещения. Ещё они могут отметить, где стоит доработать UX и UI. Замечания модераторов помогут улучшить приложение, а на финальной проверке — ещё и устранить уязвимости, угрожающие данным пользователей.

Что посмотреть:

  • Лекция о том, как подготовиться к модерации и попасть в каталог — от менеджера проектов ВКонтакте Антон Нижегольцев.

Чтобы сервис попал к ним в ближайший четверг (актуально для каждой недели), нужно написать модератору, что вы готовы к тестированию, в понедельник до 18:00 по московскому времени.

В среднем бета-тестирование занимает около двух полных недель. Есть смысл постараться попасть в него как можно раньше — особенно если вы претендуете на грант от VK Fresh Code. Участники конкурса размещают готовое мини-приложение в каталоге до заявленной даты. Для нынешней, четвёртой волны программы — это 21 октября 2020 года.

Финальная модерация: выходим в каталог

Все репорты закрыты, и ваш мини-апп вышел из тестирования почти идеальным. Пора ещё раз напомнить о себе модератору — в том же тикете, где вы общались ранее.

Останется сделать приятные мелочи: загрузить иконки и обложки для отображения в каталоге и на сниппетах. После этого ваш проект опубликуется в официальном каталоге платформы VK Mini Apps.

После релиза: продвигаем и монетизируем

Активная аудитория растёт, количество показов рекламы увеличивается, система монетизации работает. Что дальше?

Главное — не останавливаться на достигнутом и продумать качественную рекламную кампанию для мини-приложения.

Продвижение

Что почитать:

  • Гид по Академии ВКонтакте: как начать разбираться в продвижении — статья от команды ВКонтакте для бизнеса. Понятно о том, как создавать интересный контент и для чего нужна сегментация аудитории.
  • Продвижение приложений на платформе VK Mini Apps. Быстро и эффективно — мастер-класс Эдуарда Мухина, сертифицированного специалиста по рекламе ВКонтакте.
  • для рекламы мини-аппов существует отдельный аукцион — а значит, нет конкуренции с предложениями заработков и записью на ноготочки. Стоимость показов и переходов в 2–3 раза дешевле, чем у обычных объявлений;
  • разработали много нативных способов продвижения и инструментов для тонкой настройки аудитории;
  • регулярно проводим акции для разработчиков мини-приложений — иногда можно вообще не тратиться на рекламу самим.

Сейчас ВКонтакте есть две модели монетизации мини-приложений: это покупки внутри приложений и реклама. Их можно использовать отдельно или вместе.

Что почитать:

  • Монетизация сервисов VK Mini Apps — подробно о том, как зарабатывать на мини-приложении.
  • AppsCentrum. Интеграция рекламы — инструкции, как правильно добавить в своё мини-приложение баннеры и прероллы.

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

  • вконтакте
  • vk mini apps
  • Блог компании VK
  • Программирование
  • ВКонтакте API

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

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

image

Первоначальная публикация статьи в блоге Mail.ru Cloud Solutions: https://mcs.mail.ru/blog/razrabotka-prilozhenij-v-vk-mini-apps

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

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

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

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

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

  • для мобильных клиентов — то есть для открытия в нативном приложении «ВКонтакте»;
  • десктопный вариант — vk.com в браузере;
  • вариант для браузеров в мобильных телефонах (https://m.vk.com).

Ваш веб-ресурс встраивается в приложение «ВКонтакте» через обычное 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. Соответственно, максимально простая установка:

npm i —save-dev @vkontakte/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 — это конкретные шаги (экраны) в пользовательском сценарии. Абстрактно это выглядит так:

import from ‘@vkontakte/vkui’; > >      >      

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

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

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

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

import < Button, Div, FormLayout, Input, Panel, PanelHeader, PanelHeaderBack, Search, View >from "@vkontakte/vkui"; import Icon36Done from "@vkontakte/icons/dist/36/done"; import CustomTextarea from "./YourComponents/CustomTextarea"; render() < return ( 
> />> >App Title height= />

This is the first page

You can do some interaction here

value= /> onChange= />
) >

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

npm i —save-dev @vkontakte/icons

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

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

image

import < Textarea >from «@vkontakte/vkui»; export default class CustomTextarea extends React.Component < render() < return ( 
Custom textarea is here
name= onChange= this.bindData(e, this.props.name)> value= className= />
); > >

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

.desktop_web < .View__panel—prev < max-width: 458px !important; margin: 0 auto; left: calc(50% — 230px) !important; -webkit-animation: root-android-animation-hide-back 3s cubic-bezier(.4, 0, .2, 1); animation: root-android-animation-hide-back 3s cubic-bezier(.4, 0, .2, 1); >.View__panel—next < max-width: 460px !important; left: calc(50% — 230px) !important; >> 

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

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

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

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

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

import connect from ‘@vkontakte/vk-connect’; connect.send(«VKWebAppInit», <>); 

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

connect.subscribe((e) => < switch (e.detail.type) < case «VKWebAppGetUserInfoResult» : this.bindConnectUserData(e.detail.data); break; >>); 

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

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

if (connect.supports(«VKWebAppGetUserInfo»)) …

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

connect.send(«VKWebAppCallAPIMethod», >);

VK Pay

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

connect.send(«VKWebAppOpenPayForm», >);

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

  • vk mini apps
  • javascript
  • вконтакте
  • vk
  • приложения вконтакте
  • mail.ru cloud solutions
  • JavaScript
  • Разработка мобильных приложений
  • ВКонтакте API

Как разработать приложение в ВК для бизнеса

Всем привет! Меня зовут Вика, я руководитель отдела спецпроектов в KTS. За шесть лет мы запустили более 300 проектов, более 70 из них — миниаппы. Рассказываю и показываю, что нужно для разработки VK-приложения, и как это сделать.

ВКонтакте — уже давно не «социальная сеть со стеной», а центр экосистемы компании VK. В 2018 году компания запустила направление VK Mini Apps: это открытая платформа мини-приложений, которые работают внутри ВКонтакте и не требуют установки. За последний год мини-приложения стали приносить VK на 89% больше доходов от рекламы, а количество приложений выросло на 43%. Каждый месяц приложениями VK пользуется 41 миллион пользователей — это 56% от всей аудитории соцсети.

Зачем бизнесу разрабатывать мини приложение

Платформа VK Mini App удобна для бизнеса тем, что позволяет компаниям нативно интегрировать свой продукт ВКонтакте и не уводить клиента на сторонние площадки. Это позволяет увеличивать контакты с аудиторией: не все пользователи готовы скачивать отдельное приложение, и миниаппы решают эту проблему. К тому же создание VK-приложения быстрее и дешевле, чем разработка с нуля для последующего размещения в App Store или Google Play. Скорость разработки миниаппа обуславливается в том числе наличием готовых компонентов у ВКонтакте. Если бизнесу не принципиален уникальный дизайн, то приложение VK можно быстро создать из уже существующих компонентов VK UI.

Большинство сервисов в VK Mini Apps создали независимые разработчики, которые не работают на VK. Если посмотреть каталог миниаппов, то сразу выделяется разноплановость приложений. Здесь есть и сервис отслеживания посылок от Почты России, и трекер цикла для женщин «Мой Календарь», и сервис по поиску людей «Найди меня». Разработкой некоторых из них занималась наша команда.

Все миниаппы можно условно поделить на два типа:

  1. Игровые, развлекательные приложения

Когда ВКонтакте появилась платформа VK Mini Apps, бóльшая часть заявок, которые мы получали, были на создание игровых, развлекательных приложений под рекламные кампании. Они работали в основном по принципу «выполни задание — получи награду от бренда». Приложение внутри соцсети помогало компаниями повысить узнаваемость бренда и прорекламировать продукт через игровые механики.

  1. Приложения для более сложных бизнес-задач

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

Мы создали свой продуктовый миниапп-конструктор ботов Smartbot, который создаёт чат-ботов ВКонтакте.

Актуальность площадки

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

К чему нужно быть готовым перед запуском своего миниаппа

Зачастую заказчикам разработка приложения понятна только на стадиях идеи и релиза. Что связывает эти два этапа — неизвестно: процесс создания приложения мы называем для клиента «магией чёрного ящика».

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

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

Этап 1. Предварительная оценка

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

Также на этой встрече мы рассказываем заказчику о всех процессах нашей работы. Мы акцентируем внимание клиента на том, что полностью берём на себя техническое проектирование приложения и поддержку проекта после релиза. Как оказалось, для многих заказчиков это важно, так как снимает большое количество «головной боли». Для нас же это совсем не сложная задача, так как помимо отдела разработки в KTS есть свой отдел DevOps, который и занимается созданием инфраструктуры. Подробнее об этом можно почитать в статье руководителя направления DevOps в KTS.

Этап 2. Аналитика

Затем мы проводим аналитику и проектируем сервис. Проектная команда готовит подробный story map — пути взаимодействия пользователей с контентом, прорабатывает детали системы и логику её работы.

На этом этапе мы плотно общаемся с заказчиком. Разработчики часто созваниваются с проектными менеджерами и аналитиками: так они точно не упустят важных деталей конечного продукта.

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

Этап 3. Дизайн

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

Этап 4. Разработка и отладка

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

Мы обязательно проводим код-ревью и тестирование. Ревьюеры проекта — полноценные участники процесса разработки: они знают все требования к продукту. Тестировщики проверяют задачи по мере их выполнения разработкой. В конце вся проектная команда ещё раз просматривает готовое приложение перед финальной передачей клиенту. Всё это помогает нам дополнительно отслеживать качество выпускаемого продукта.

Завершающий шаг — тестирование готового продукта клиентом.

Этап 5. Релиз и поддержка

Запуск миниаппа — наша ответственность, поэтому мы берём это на себя: инфраструктура позволяет размещать приложения клиентов на наших серверах — это входит в поддержку сервиса. Ещё в неё входят «часы разработки» для небольших правок в уже разработанное приложение: например, когда нужно поменять цвет элементов, тексты или контент.

Нюансы и бонусы миниаппов

VK-приложения имеют свои уникальные особенности — бонусы и нюансы. Мы умеем работать с этими особенностями и обязательно рассказываем заранее о них, так как зачастую это может влиять на финальные требования клиента

Нюансы

  1. «Звоните Тиму Куку»

1,5 года назад у ВКонтакте изменился процесс работы миниаппов на iOS. Причина — Apple обновил требования к публикации в App Store нативного приложения ВКонтакте. Теперь для нативного открытия миниаппа в нативном приложении на iOS разработчики миниаппов должны отправить специальный архив на модерацию ВКонтакте. Эти архивы после проверки командой ВКонтакте попадают внутрь сборки нативного приложения соцсети.

Итог: пока человек не обновит приложение соцсети, миниапп будет открываться на iOS только в мобильной версии (m.vk.com). Если пользователь раньше ни разу не заходил в свой аккаунт через мобильную версию в браузере на телефоне, то его попросят авторизоваться. Затем вместо интерфейса миниаппа он может увидеть страницу с новостями, ему вновь придётся возвращаться в приложение ВКонтакте и повторно открывать миниапп (сейчас эта ситуация уже стала улучшаться и не всегда требуется перезаход). Как вы понимаете, это может сильно влиять на конверсию.

Когда мы объясняем эту проблему клиенту, то часто в ответ на вопрос: «Что с этим можно сделать?» шутим: «Звоните Тиму Куку». Но мы постарались сделать всё возможное с нашей стороны для упрощения прохождения этих проверок — наладили и автоматизировали работу с архивами (которые нужно подавать на модерацию), знаем и учитываем в таймингах дедлайны подачи.

  1. Модерация каталога миниаппов

Как только миниапп запускается, он становится доступен пользователям по прямой ссылке, а также виден внутри сообщества ВКонтакте, к которому привязан (это ещё один нюанс — при запуске миниаппа у клиента обязательно должно быть сообщество, к которому добавляется миниапп). С помощью этого клиенты могут анонсировать миниапп в публикациях и дополнительно добавить виджет в меню сообщества.

Помимо доступа по ссылке платформа VK Mini Apps также предоставляет каталог для мини-приложений. Это хаб миниаппов с различными тематиками, доступ к которому имеют все пользователи ВКонтакте. Для попадания в каталог, нужно пройти внутреннюю модерацию ВКонтакте: этап общего тестирования работоспособности приложения и проверку на соответствие внутренним правилам площадки. Обычно он длится около двух недель в зависимости от объема функционала приложения.

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

Бонусы

  1. Веб-версия как дополнительная точка входа

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

  1. Эффективность каталога миниаппов

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

  1. Одно мини-приложение для трёх соцсетей

На платформе VK Mini Apps есть возможность экспорта мини-приложения в Одноклассники, а также отдельно можно сделать интеграцию в Telegram. Конечно, миниапп нужно будет немного донастроить — изменить цвета, поменять некоторые детали авторизаций и тд. Но это окупается возможностью сделать из одного приложения сразу три.

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

  1. Возможность добавить чат-бота

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

Вместо вывода

VK Mini App — универсальный инструмент, который позволяет закрывать многие задачи бизнеса: увеличить охват аудитории, снизить затраты на привлечение новых клиентов, открыть новый канал продаж, повысить узнаваемость бренда компании и так далее. Функционал и масштаб разработки зависит от ваших пожеланий и проблем, которые приложение должно решать.

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

А если у вас горит запуск рекламного проекта, и вы хотите быстро запустить интерактив — можете поискать его в нашем каталоге готовых механик. Мы сможем быстро настроить их под вашу задачу.

Заходите на страницу спецпроектов в нашем сообществе ВКонтакте, там мы делимся своими проектами. Если возникли вопросы или у вас есть задача на реализацию — велком в мои личные сообщения ВКонтакте!

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

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