вконтакте для разработчиков приложений
Вконтакте для разработчиков приложений
Ваша аудитория — это более 90 миллионов активных пользователей ВКонтакте.
Встраиваемое приложение — приложение размещено на внешнем сайте, страница которого показывается во фрейме или вебвью ВКонтакте. Такие приложения доступны в разделе https://vk.com/apps, каталоге сервисов https://vk.com/services и в пятой вкладке на мобильных клиентах, а также на страницах сообществ с любых устройств.
Для взаимодействия с API и пользовательским интерфейсом используйте Javascript SDK (iFrame-приложение) или Библиотеку VK Bridge (VK Apps).
SDK для iFrame-приложений и React-библиотека VK Bridge для сервисов VK Apps позволяют легко и удобно взаимодействовать с пользовательским интерфейсом и обращаться к методам API. Вы можете построить логику приложения на работе с данными из ВКонтакте или использовать только вспомогательные функции, например, публиковать записи на стене пользователя или загружать фотографии в альбом.
Разместите свое приложение в каталоге и используйте эффективные механики его продвижения — оно не останется незамеченным. Подробнее о продвижении приложений читайте в этом руководстве.
Мы создали Сопротивление для борьбы с генералом Кригом и его организацией «Спектр». Чтобы успешно противостоять такому сильному и коварному противнику, вы должны расширить и укрепить свою базу, а также каждый раз снова и снова давать ему отпор в самых разных точках земного шара!
Вконтакте для разработчиков приложений
VK Mini Apps — это платформа встраиваемых кроссплатформенных приложений ВКонтакте. Они создаются на базе стандартных веб-технологий: HTML, JavaScript, CSS.
В этом разделе вы найдёте инструкции для разработчиков мини-приложений.
Как создать мини-приложение на платформе VK Mini Apps, в двух видеоуроках.
Важно! Библиотеку VK Bridge необходимо использовать при разработке любого приложения. Остальные библиотеки — не обязательно.
Создайте приложение на этой странице: https://vk.com/apps?act=manage.
Выберите «Встраиваемое приложение», тип: «VK Mini App», укажите название и подтвердите действие. Вы попадёте в интерфейс администрирования Вашего приложения.
Перейдите на вкладку «Настройки» и заполните поля «Мобильная версия»/«Полная версия», указав ссылку на адрес приложения — URL страницы на вашем сайте, которая будет отображаться в браузере в официальных мобильных клиентах и внутри фрейма в веб-версии ВКонтакте.
В конце URL укажите слэш, если ссылаетесь на папку, иначе мини-приложение может открыться в браузере вместо мобильного приложения.
Если какую-то из версий, полную или мобильную, вы не планируете реализовывать — оставьте соответствующее поле пустым.
Чтобы создать шаблон приложения, выполните команду:
С помощью VKUI вы можете создать привлекательный интерфейс мини-приложения для мобильных устройств.
Для использования в полной версии элементы пока не адаптированы.
Если вы используете библиотеку для создания шаблона, отдельно подключать VKUI не нужно.
npm install @vkontakte/vkui || yarn add @vkontakte/vkui
На устройствах с Android нажатие кнопки «Назад» вызывает в вебвью событие history.back (см. документацию). По нажатию этой кнопки официальное приложение сделает возврат на предыдущую страницу вашего приложения или закроет его, если вернуться невозможно. Поэтому для корректной навигации необходимо обрабатывать нажатие аппаратной клавиши в мини-приложении и реализовывать роутинг, например, при помощи библиотеки react-router.
Чтобы мини-приложение могло использовать API ВКонтакте и API устройства пользователя, необходимо подключить библиотеку VK Bridge, которая служит для отправки и получения событий.
В справочнике VK Bridge есть список всех событий, которые можно использовать. Обратите внимание на то, что в коде приложения обязательно нужно вызывать событие инициализации VKWebAppInit, иначе приложение не запустится.
Если ранее вы не работали с API ВКонтакте, рекомендуем прочитать это руководство.
Если ранее вы не работали с React, рекомендуем прочитать это руководство.
vk-bridge — это NPM-пакет для отправки и получения событий в вашем
приложении.
Если вы используете библиотеку для создания шаблона, отдельно подключать VK Bridge не нужно.
npm install @vkontakte/vk-bridge || yarn add @vkontakte/vk-bridge
Вконтакте для разработчиков приложений
Вы можете создать новое приложение на этой странице: https://vk.com/editapp?act=create
Укажите название, выберите платформу «Встраиваемое приложение», затем отметьте нужный тип.
Заполните описание, при необходимости укажите категорию приложения и сохраните данные, подтвердив действие с помощью СМС. Затем Вы попадете в интерфейс администрирования приложения.
Для работы с API Вам потребуются значения полей «ID приложения» (в документации ему соответствует параметр API_ID, app_id или client_id) и «Защищенный ключ» (secret_key, app_secret).
Категорий «Игра», «Приложение» и «Приложение сообщества» всегда представляют собой iFrame.
VK Apps — новый тип встраиваемого приложения. В веб-версиях (десктоп и мобильные браузеры) такие приложения отображаются во фрейме, в мобильных клиентах VK iOS и Android
Максимальный размер приложения — 1000×4050 точек. Приложение может использовать любые технологии, поддерживаемые браузером пользователя (например, Unity).
Для работы с API в IFrame-приложениях мы рекомендуем использовать Javascript SDK.
При запуске встраиваемого приложения в строке запроса в него передаются различные данные о пользователе, источнике запуска и т.д.
Более подробно узнать о параметрах запуска Вы можете на этой странице.
Вконтакте для разработчиков приложений
Используя публичный API ВКонтакте, Вы соглашаетесь с перечисленными Правилами платформы.
Мы оставляем за собой право без уведомления полностью или частично прекратить доступ приложения к публичному API (в том числе путём блокировки приложения) в случае нарушений.
1. Социальная Сеть ВКонтакте (или Социальная Сеть) — социальная сеть, известная под именем «ВКонтакте», размещенная на сайте в сети Интернет по адресу: VK.com (включая все уровни указанного домена, как функционирующие на дату принятия Пользователем настоящих Правил, так и запускаемые и вводимые в эксплуатацию в течение всего срока его действия) и доступная Пользователю через сайт, мобильную версию сайта, приложения и иные ресурсы, представляющая результат интеллектуальной деятельности в форме программы для ЭВМ, являющейся помимо прочего уникальной базой данной ВКонтакте. Социальная Сеть представлена в объективной форме совокупностью данных и команд, и порождаемых аудиовизуальных отображений (включая входящие в ее состав графические изображения и пользовательский интерфейс), (далее – данные и команды), предназначенных для функционирования ЭВМ и мобильных устройств в целях получения определенного результата в виде организации функционала социальной сети. Совокупность данных и команд состоит из активированных и неактивированных данных и команд.
2. Публичный API — совокупность программных средств для работы с данными Социальной Сети посредством HTTP-запросов. Под методами публичного API понимаются методы, перечисленные на странице https://vk.com/dev/methods. Доступ к Публичному API предоставляется на безвозмездной основе и может быть прекращён полностью или частично без уведомления и объяснения причин.
3. Приложение — программный продукт для работы с Публичным API, представляющий собой сайт или автономную программу, зарегистрированный посредством формы https://vk.com/editapp?act=create и имеющий в Социальной Сети уникальный идентификатор (API_ID).
1.1. Приложение не должно обманывать пользователей.
Не стоит обещать бесплатные голоса или просмотр гостей страницы.
1.2. Приложение не должно содержать функций, при работе с которыми пользователь нарушает Правила пользования Социальной Сетью ВКонтакте (https://vk.com/terms).
Например, приложение для помощи в накрутке лайков — плохая идея.
1.3. В Приложении не должно быть ссылок, опасных для пользователей. Все переходы по ссылкам должны быть предсказуемы.
Если в Вашем приложении много разных ссылок от пользователей, используйте метод utils.checkLink, чтобы проверить их безопасность.
1.4. Приложение не может быть выдано за официальный продукт разработчиков ВКонтакте. В том числе, запрещается задействовать логотип, подарки или стикеры ВКонтакте в оформлении, использовать название ВКонтакте в названии или описании Приложения, если иное не оговорено отдельным дополнительным соглашением.
1.5. Нельзя резко изменять суть и название приложения.
Если есть такая необходимость, зарегистрируйте новое. Пользователи будут неприятно удивлены, обнаружив у себя в списке какое-то незнакомое приложение.
1.6. Нельзя предоставлять возможность скачивать контент (например, аудиозаписи, видеозаписи, изображения, документы и иной контент) с серверов ВКонтакте за рамками предоставляемой Социальной Сетью ВКонтакте функциональности с целью предоставления доступа к контенту в оффлайн-режиме или создания с использованием такого контента автономных хранилищ.
Это нарушает интересы Администрации Сайта, пользователей и(или) правообладателей.
1.7. Приложение не должно содержать сторонних библиотек, фрагментов кода, не имеющих прямого отношения к его функционированию, в том числе эксплуатирующих вычислительные мощности устройства пользователя без его ведома.
Тайком майнить криптовалюту — нельзя.
Мы трепетно относимся к данным наших пользователей и ожидаем от Вас того же. Приложениям запрещено:
2.1. Собирать и хранить пользовательские данные, включая идентификатор пользователя (User ID), в целях, не связанных с функционированием Приложения. Запрашиваемые данные должны использоваться только в контексте приложения.
Например, кэшировать идентификаторы друзей пользователя, чтобы быстрее отображать список на мобильном устройстве — можно. Передавать идентификаторы всех пользователей к себе на сервер, чтобы хранить в собственной базе на всякий случай — нельзя.
2.2. Передавать любые пользовательские данные, автоматизированно полученные через API (включая User ID), сторонним сервисам (например, рекламным) как напрямую, так и через посредников.
2.3. Использовать пользовательские данные в любых рекламных объявлениях.
Например, обращаться к пользователю по имени из рекламного баннера. Не надо так.
2.4. Данные, полученные через API, в т.ч. методами newsfeed.search, wall.get, wall.search, в т.ч. идентификаторы пользователей (User ID), не могут использоваться в целях передачи или перепродажи, создания аналитических отчётов, скоринга и т.д., напрямую или через посредников, без прямого согласия Администрации сайта.
Таким согласием, например, может быть договор с рекламным агентством на использование данных о показах рекламных объявлений в отчётах клиентам.
2.5. Доступ к расширенной версии Streaming API для некоммерческих исследований может быть предоставлен на безвозмездной основе по согласованию с Администрацией сайта. Данные, полученные с использованием расширенной версии Streaming API в рамках некоммерческого исследования, запрещено использовать для перепродажи третьим лицам в исходном или обработанном виде (например, в форме аналитического отчёта, баллов скоринга, иных аггрегированных форм).
3.1. Запрещается нарушать права и интересы третьих лиц. Если в Приложении используются чьи-то торговые марки, копирайты, персонажи и любой иной контент, исключительные права на который принадлежат третьим лицам-правообладателям, это необходимо согласовать с правообладателем — так, чтобы по нашему запросу Вы могли предоставить разрешение на использование этих материалов.
Убедитесь в том, что автор не возражает против использования его работы в Вашем приложении.
3.2. Запрещается размещать чужие Приложения и разработки в отсутствие заключенного надлежащим образом соглашения с правообладателем, а также полностью копировать функциональность других Приложений.
Мы за честную конкуренцию.
3.3. Приложение должно содержать информацию о его возрастных ограничениях.
Если в Вашем приложении есть контент, который не стоит показывать детям, упомяните об этом. Напоминаем, что законом предусмотрены следующие маркировки: 0+, 6+, 12+, 16+ и 18+.
4.1. Оповещения, которые Приложение отправляет пользователю, не должны содержать не относящейся к Приложению посторонней информации или спама.
Реклама в оповещениях — верный путь к ненависти. Выбирайте другие способы монетизации.
4.2. Приложение не должно вызывать какие-либо активные действия в API без ведома пользователей и без их согласия.
Пользователь всегда должен знать, что произойдёт после нажатия на кнопку. Уделите особое внимание публикациям на стену и работе с сообщениями. Пользователь не простит Вам запись, опубликованную без его ведома, или случайно удалённый навечно диалог.
4.3. Запрещается стимулировать пользователей выполнять публикацию записей на стенах (в том числе на собственной), публикацию историй, рассылку приглашений другим пользователям, рассылку заявок в друзья случайным людям и другие действия, затрагивающие прямым или косвенным образом других людей.
Допустимый для нас вариант — бонусы пользователям, друзья которых установили приложение, награда за вступление в официальное сообщество Приложения и за публикацию контента, создаваемого самими пользователями.
Также допускаются одноуровневые партнёрские программы с использованием реферальных ссылок, в которых пригласивший друзей пользователь получает бонус за выполнение целевых действий в приложении.
4.4. Приложение, которое использует данные о связях между пользователями ВКонтакте («социальный граф»), полученные с помощью API, должно содержать активные ссылки на профили пользователей на сайте vk.com или в официальном мобильном приложении ВКонтакте (URL-схема vk://). Активная ссылка должна быть доступна при просмотре информации о пользователе приложения на главном экране личного профиля или аналогичного раздела. Отображение ссылки может быть отключено владельцем профиля. Исключение составляют приложения, размещённые на vk.com и в мобильном игровом каталоге, неофициальные клиенты ВКонтакте или приложения, расширяющие функциональность ВКонтакте.
4.5. Приложение, содержащее функциональность ленты новостей, должно корректным образом отображать рекламные записи, формировать статистику взаимодействия пользователей с такими записями и отправлять её Сайту с помощью соответствующего метода публичного API. При несоответствии приложения указанным требованиям (Требования к отображению рекламных записей) Сайт оставляет за собой право прекратить доступ Приложения к публичному API или его отдельным составляющим.
4.6. Администрация ВКонтакте имеет право без уведомления по собственному усмотрению прекратить или ограничить доступ Приложения к публичному API или его отдельным составляющим без объяснения причин, в частности, в случае нарушения требований настоящего соглашения.
5.1. Размещая приложение на vk.com и в мобильном html5-каталоге, Вы предоставляете ВКонтакте на условиях безвозмездной простой неисключительной лицензии право использования приложения в виде размещения его в свободном доступе и для всеобщего сведения в Социальной Сети без ограничения по территории.
5.2. ВКонтакте вправе передавать без ограничения по территории права использования приложения Пользователям посредством их сублицензирования на условиях стандартного Лицензионного соглашения, заключаемого между ВКонтакте и Пользователями посредством размещения ВКонтакте публичной оферты в Социальной Сети. Вы подтверждаете, что ознакомлены с текстом указанного Лицензионного соглашения и не имеете возражений против предоставления ВКонтакте прав использования приложения, размещенного на vk.com, Пользователям на условиях указанного Лицензионного соглашения. Вы предоставляете ВКонтакте право использования приложением, размещенного на vk.com без ограничения по территории следующими способами: :(а) доведение приложения до всеобщего сведения в сети Интернет таким образом, что любое лицо может получить доступ к приложению из любого места и в любое время; :(б) рекламирование и продвижение приложения любым способом без ограничений, в т.ч. посредством размещения рекламных материалов, созданных с использованием изображения интерфейса приложения.
5.3. Права использования приложения согласно пп. 5.1 и 5.2 выше предоставляются сроком на 5 лет с последующей автоматической пролонгацией данного срока на каждый последующий календарный год, в случае если ни одна из сторон договора не выразит волеизъявление о его досрочном расторжении не позднее, чем за 30 календарных дней до момента такого расторжения.
5.4. ВКонтакте не предоставляет никаких дополнительных отчетов об использовании приложения, за исключением согласованного в договоре.
5.5. Вы настоящим гарантируете, что :(а) являетесь правообладателем приложения, размещенного Вами на vk.com (либо правообладателем приложения является лицо, дополнительно указанное Вами), :(б) предоставление ВКонтакте прав использования приложения, размещенного на vk.com, в соответствии с настоящим разделом 6 не нарушает и не будет нарушать условия каких-либо Ваших сделок с третьими лицами и/или права третьих лиц, :(в) использование ВКонтакте и/или Вами приложения, размещенного на vk.com, в соответствии с договором не нарушает прав третьих лиц, включая, но не ограничиваясь только этим, авторские права, смежные права, права на товарные знаки и иные средства индивидуализации, а равно личные неимущественные права физических лиц.
6.1. Правила могут изменяться и дополняться по мере необходимости. ВКонтакте рекомендует регулярно проверять условия настоящих Правил на предмет их изменения и/или дополнения. Продолжение размещения приложения в Социальной Сети после внесения изменений и/или дополнений в настоящие Правила означает принятие и согласие с такими изменениями и/или дополнениями.
Вконтакте для разработчиков приложений
Приступить к созданию приложения во ВКонтакте можно на странице https://vk.com/editapp?act=create.
После создания приложения необходимо загрузить скриншоты, заполнить описание и указать жанр приложения.
Жанр | Описание |
---|---|
Головоломки | Игроку требуется решить задачу с помощью логики и интуиции. |
Приключения | Сюжет крутится вокруг главного героя, исследующего мир и решающего загадки. |
Стратегии | Требуется стратегическое и обдуманное управление войсками и инфраструктурой для победы над противником. |
Ролевые | Игрок развивает способности и умения персонажа, исследует мир и взаимодействует с ним. |
3D-шутеры | Игры от первого лица, основным элементом которых являются боевые действия, единолично или в команде. |
Гонки | Симулятор процесса гонок и управления автомобилем. |
Аркады | Простое управление и короткие, постепенно усложняющиеся уровни. |
Экономические | Вдумчивое управление экономикой для успешного развития предприятия и выгодной продажи товаров. |
Симуляторы | Имитация настоящей или вымышленной реальности, нет конфронтации между игроками. |
Настольные | Игры, прототипами которых являются игры из повседневной жизни: монополия, нарды, шахматы и т.д. |
Для вызова методов API потребуются значения полей «ID приложения» (в документации ему соответствует параметр API_ID, app_id или client_id) и «Защищённый ключ» (secret_key, app_secret).
Ранее для интеграции игр на десктопной версии сайта использовалась библиотека Javascript SDK.
Мы не рекомендуем интегрировать Javascript SDK в новых играх — библиотека VK Bridge позволяет играм интегрироваться одновременно с платформой на десктопной версии сайта и Direct Games.
Игре могут потребоваться разрешения на доступ к данным пользователя. Например, чтобы получить список друзей пользователя или отправлять уведомления. Разрешения можно запросить при первом запуске или в процессе игры. По умолчанию и игры на веб-платформе и игры на платформе Direct Games получают разрешение в процессе игры.
Чтобы проверить, какие права есть у игры, используйте событие VKWebAppCheckAllowedScopes.
Чтобы показать пользователю диалоговое окно с запросом доступа, используйте событие VKWebAppGetAuthToken.