Игровые механики
С помощью игровых механик вы предоставите пользователям возможность звать друг друга в игры, просить помощь, радовать подарками, делиться на стене важным опытом и заполнять ленту активности достигнутыми уровнями, заработанными очками и выполненными миссиями.
Сообщения от игры
Отправка личных сообщений — отличный способ донести до пользователя важную персональную информацию об игровых событиях. В сообщениях стоит указывать релевантную и ценную информацию с игровым контекстом. В этом случае получение сообщения не будет раздражать пользователя и вероятность запуска игры будет выше.
Сообщения отправляются пользователям от лица официального сообщества игры.
Пока что запросить право отправлять личные сообщения можно только в играх на vk.com. На платформе Direct Games такая возможность появится совсем скоро.
Внедрение
Игра может запросить у пользователя право отправлять личные сообщения. Для этого нужно вызвать бокс с помощью метода showAllowMessagesFromCommunityBox
, передав в него ID официальной группы игры, указанной в настройках приложения:
VK.callMethod('showAllowMessagesFromCommunityBox', group_id);
После вызова ВКонтакте проверит, совпадают ли указанный ID с ID официальной группы игры. Если всё сходится, пользователь увидит бокс запроса прав.
Колбеки
Игре приходят колбеки в зависимости от действий пользователя:
- •После разрешения генерируется метод
onAllowMessagesFromCommunity
, - •Если пользователь нажал Отмена или закрыл окно, генерируется событие
onAllowMessagesFromCommunityCancel
.
Лучшие практики
Примеры хорошей реализации работы с сообщениями находятся в разделе Лучшие практики продвижения.
Добавление в меню
Добавление в меню — важный элемент долгосрочного удержания пользователя, который прямо влияет на удержание игроков. Левое меню на десктопной версии сайта является вторым по количеству источником запуска игр после раздела Игры.
Внедрение
Чтобы показать пользователю окно с предложением добавить игру в меню во время игрового процесса, нужно вызывать метод showSettingsBox
с маской +256. Способ универсален для веб-платформы и Direct Games.
У игр в меню можно устанавливать счётчик с помощью метода secure.setCounter
. Установка счётчика пока что поддерживается только в десктопной версии.
Сценарии поведения
Игра добавляется в меню на vk.com и в мобильных устройствах независимо друг от друга. Это означает, что если пользователь добавил игру в меню на Direct Games, она не появится у него в меню на vk.com и наоборот. Потому окна с предложениями добавить игру нужно показывать на каждый платформе независимо.
Преимущества
Чаще всего пользователи запускают игры из блока Мои игры в каталоге и из левого меню, доступного с каждой страницы сайта. Добавление в меню позволит вам повысить показатели удержания игроков.
Лучшие практики
Внутри игр можно предлагать бонусы за добавление игры в меню.
Когда в игре произошло какое-то важное обновление, можно присылать оповещение методом secure.sendNotification
и устанавливать счётчик у игры в меню, чтобы привлечь внимание пользователя.
Уведомления
Привлекайте в игру своих постоянных пользователей или возвращайте неактивных с помощью уведомлений. Пользователь получит push-уведомление и оповещение в «колокольчик».
Уведомления бывают:
- •разовые (ситуативные, привязанные к любым событиям в игре);
- •автоматические (привязанные к дням неактивности и получению достижений);
- •массовые (рассылка активным пользователям в честь какого-то события).
Важно! Включить уведомления на пользователей можно только после публикации игры в каталоге.
Разовые уведомления
Разовые уведомления отправляются с сервера игры при помощи метода secure.sendNotification
.
Лимиты
Каждому пользователю можно отправить 1 уведомление в час и не более 3 уведомлений в день. Одному пользователю нельзя отправить подряд 2 уведомления с одинаковым текстом.
Автоматические уведомления
Вы можете настроить автоматическую отправку уведомлений пользователям, если они не запускали вашу игру в течение 1, 7 или 30 дней. Пользователь получит уведомление от игры, как только появится в сети.
Как включить
- 1.Откройте Мои приложения → Редактировать → Уведомления.
- 2.В блоке Автоматические уведомления нажмите Подробнее напротив подходящего события и введите текст сообщения, которое увидят пользователи в уведомлении.
Нажмите Отправить сообщение себе, чтобы посмотреть, как уведомление будет выглядеть у пользователя. 3. Чтобы отправить сообщение на проверку, нажмите Отправить на модерацию.
Как только вашу заявку одобрят модераторы, вы получите сообщение об этом и сможете включить рассылку уведомлений.
Если вы хотите, чтобы пользователи начали получать уведомления сразу после прохождения модерации, переключите тумблер напротив события ещё до одобрения заявки.
Лимиты
Пользователь может получить не более 1 уведомления раз в два дня, не более 2 уведомлений в неделю и не более 4 уведомлений в месяц.
Массовые рассылки
Чтобы привлечь внимание активных пользователей к какому-либо событию, используйте массовую рассылку уведомлений.
Как включить
- 1.Откройте Мои приложения → Редактировать → Уведомления.
- 2.В блоке Массовые рассылки нажмите Создать рассылку.
3. Придумайте название для рассылки и нажмите Добавить. 4. Укажите дату и время начала и конца рассылки. 5. Введите текст сообщения, которое пользователи увидят в уведомлении. Нажмите Отправить сообщение себе, чтобы посмотреть, как уведомление будет выглядеть у пользователя. 6. Нажмите Отправить на модерацию, чтобы сообщение ушло на проверку.
Как только ваша заявка будет одобрена модерацией, вы получите оповещение в личном сообщении и сможете включить рассылку уведомлений.
Если вы хотите, чтобы пользователи начали получать уведомления сразу после прохождения модерации, переключите тумблер напротив события ещё до одобрения заявки.
Лимиты
Массовые уведомления можно рассылать не чаще одного раза в 3 месяца.
Модерация
Перед тем как отправить сообщение на модерацию, убедитесь, что оно:
- •не содержит грамматических и пунктуационных ошибок;
- •не вводит пользователя в заблуждение: текст сообщения полностью отражает суть проходящего в игре события.
Лента активности друзей
Лента активности друзей — позволяет узнать об успехах игрока и его прогрессе в играх. Лента наполняется уровнями, очками и миссиями и не требует дополнительных действий или подтверждений со стороны игрока.
Внедрение
Для того, чтобы игровые события попадали в ленту активности, нужно внедрить метод secure.addAppEvent
с соответствующими требуемому событию параметрами.
События, отправляемые с помощью
secure.addAppEvent
, начнут отображаться в ленте активности только после публикации в каталоге.
Сценарии поведения
Так как лента активности заполняется в фоне и не требует дополнительных подтверждений со стороны пользователя, запрещается использовать метод без непосредственного участия игрока. Например, нельзя начислять пользователю уровни или очки за действия друзей. Вся активность должна быть завязана непосредственно на игровой процесс, зависящий от пользователя.
Преимущества
Лента активности друзей может приносить до 20% от общего числа установок игры и до 15% от числа всех запусков. Цифры примерно идентичны как для каталогов на мобильных устройствах, так и для каталога на vk.com.
Уровни
Один из способов заполнять ленту активности— это показывать достигнутые в игре уровни. Они позволяют поделиться прогрессом и показать, как далеко зашёл пользователь.
Внедрение
Для добавления информации о новом уровне необходимо вызвать метод secure.addAppEvent
с activity_id=1
и номером нужного уровня в значении поля value
.
Сценарии поведения
Уровень можно повышать за активные действия игрока, например, прохождение игрового этапа или улучшение строения на базе. Нельзя повышать уровень за полученные бонусы, действия друзей и другую пассивную активность.
Максимальное значение уровня, которое можно достичь, равняется 15 000.
Уровни начнут отображаться в ленте активности только после публикации игры в каталоге.
Миссии
Миссия — это последовательность действий в игре, приводящая к определённому результату, например: «Пройти 7 уровней подряд» или «Найти хвост единорога». Сообщения о достижении миссий появляются в ленте активности друзей пользователя и привлекают больше внимания к игре.
Внедрение
Добавить миссии можно в настройках игры в разделе Миссии. Каждой игре даётся 2000 баллов для распределения между миссиями и возможность создать не более 200 миссий. Минимальное количество баллов, которое можно начислить пользователю за миссию — 1, максимальное — 100. В будущем баллы могут использоваться для поддержания интереса человека к играм.
Для сохранения выполненной игроком миссии необходимо вызвать метод secure.addAppEvent
с activity_id
, которая была выполнена пользователем.
Сценарии поведения
Каждую миссию игрок может пройти только один раз. Важно учитывать это при распределении баллов за миссии. Если давать их слишком много, то ресурс баллов быстро закончится и заполнять ленту активности миссиями не получится.
Миссии начнут отображаться в ленте активности только после публикации игры в каталоге.
Лучшие практики
При создании каждой миссии нужно указать:
- •название миссии (в инфинитиве: пройти, собрать, заработать, очистить),
- •текст для ленты активности (в зависимости от пола, в прошедшем времени),
- •количество баллов, которое даётся игроку за выполнение миссии.
После создания миссия отправляется на проверку модераторам и после одобрения её можно использовать для размещения событий в ленте активности. Обратите внимание, что после одобрения миссию нельзя удалить, а её данные (название, описание и количество баллов) не могут быть изменены.
Текст для миссии
Когда игрок выполнит миссию, в ленте активности его друзей появится сообщение об этом, например «Максим победил минотавра, не потеряв ни капли крови, в игре Лабиринт Минотавра».
Для того, чтобы текст грамматически правильно вписался в ленту активности, он должен:
- •начинаться с глагола прошедшего времени,
- •состоять из не более чем 8-10 слов,
- •корректно согласовываться с началом и концом стандартного текста в ленте активности («Иван <сделал что-то> в игре Инди-Кот»).
Текст может повторять описание миссии, но желательно сделать его более художественным. Например, название — «Откройте новую локацию», текст для ленты активности — «..исследовал и открыл пустыню Сахара..».
Распределение баллов
Миссии лучше всего разделить на несколько типов, например, простые, средние, сложные, и давать за выполнение миссий каждого типа разное количество баллов. Например, 10 баллов за простые, 20 за средние, 50 за сложные.
Публикация выполненных миссий нужна для привлечения внимания к игре через ленту активности. Потому не имеет смысла создавать 10 миссий по 100 баллов ради того, чтобы игроки побыстрее набрали возможный максимум очков. Таким образом вы быстро израсходуете ресурс миссий для ленты активности и не сможете удерживать с помощью неё интерес пользователей к игре.
Очки
Когда пользователь набирает в игре определённое число очков, разработчики могут разместить информацию об этом в ленте активности.
Внедрение
Для добавления информации о набранном количестве очков необходимо вызвать метод secure.addAppEvent
с activity_id=2
и количеством очков в значении поля value
.
Сценарии поведения
Очки можно начислять только за активные действия игрока, например, за прохождение игрового этапа. Нельзя начислять очки за действия друзей и другую пассивную активность.
Максимальное количество очков, которое показывается в ленте активности, равняется 10 000 000.
Очки начнут отображаться в ленте активности только после публикации игры в каталоге.
Турнирная таблица
Турнирная таблица — показывает прогресс игрока в сравнении с его друзьями в игре. На основе данных о пройденных уровнях или количестве набранных очков строится таблица рекордов, в которой отображается, кто из пользователей добился большего успеха в игре.
Внедрение
Турнирные таблицы работают в играх на платформе Direct Games.
Сначала в настройках игры нужно выбрать тип турнирной таблицы, который больше подходит под суть игры — по очкам или уровням. Выбирайте то, что лучше отображает долгосрочный прогресс.
Данные для турнирной таблицы передаются в фоне серверным методом secure.addAppEvent
с параметром activity_id=1
или activity_id=2
.
Чтобы показать турнирную таблицу в игре, вызовите метод showLeaderboardBox
. В параметрах метода нужно передать user_result
(integer
). User_result
отображает последний набранный пользователем результат.
Метод
secure.addAppEvent
позволяет перезаписывать значения только на большие. Потому, например, если в игре на очки пользователь достиг меньшего результата, чем лучший, в таблице рекордов в списке друзей будет отображаться лучший результат, а в верхней части последний набранный.
Сценарии поведения
Например, если у вас игра в жанре «три в ряд» с продвижением по карте или сюжетным развитием, то уровни в лучшей мере отобразят долгосрочный прогресс.
С другой стороны, если у вас аркада, в которой нужно ставить рекорды (например, пролететь дальше всех), то лучшим отображением удачного результата будут очки.
Преимущества
Турнирные таблицы дают возможность устроить соревнования между игроками, а также дают возможность позвать новых пользователей присоединиться к соревнованиям. Также, события, отправляемые с помощью метода secure.addAppEvent
, появятся в ленте активности друзей после публикации игры в каталоге.
Лучшие практики
В играх, в которых основные соревнования строятся на положении пользователя в турнирной таблице, можно показывать турнирную таблицу непосредственно после окончания игровой сессии, чтобы игрок сразу же мог оценить свои успехи.
Приглашения
Приглашения — это один из наиболее распространённых методов социального взаимодействия и прямой коммуникации с друзьями. Приглашения позволяют вовлекать друзей в игру, чтобы кооперироваться или соревноваться друг с другом.
Приглашение в игру отображается у пользователя в каталоге на vk.com или в мобильном приложении и сопровождается стандартным чёрным окном оповещения или push-уведомлением от мобильного приложения ВКонтакте, если пользователь не запретил оповещать себя.
Механизм приглашений становится доступен игре после публикации в каталоге.
Внедрение
Для отправки приглашений в играх на веб-платформе нужно использовать метод showInviteBox()
в Client API. В играх на платформе Direct Games используйте метод showInviteBox
из Mobile SDK.
Для отправки приглашений в мобильных играх нужно использовать метод apps.sendRequest
c параметром type=invite
. Для получения списка доступных для приглашения друзей в играх, запущенных в каталоге мобильной платформы, нужно использовать метод apps.getFriendsList
c параметром type=invite
.
Преимущества
Приглашения могут приносить до 15% от общего числа запусков игры. До 25% всего трафика, который отдаётся играм в каталоге мобильной платформы, составляют переходы в магазины приложений для установки игры после клика по пришедшему приглашению.
Сценарии поведения в играх на vk.com
При реализации механизма приглашений нужно учитывать несколько ограничений, направленных как на поддержание ценности каждого приглашения для отправителя и получателя, так и на предупреждение спама и использования приглашений не по прямому назначению.
При реализации механизма приглашений нельзя:
- •поощрять или награждать пользователей (например, внутриигровой валютой),
- •использовать реферальную систему (показывать отправителю приглашения, кто именно пришел в игру по его рекомендации).
Допустимый вариант: давать пользователю бонус за самостоятельно присоединившихся к игре друзей.
Сценарии поведения в играх Direct Games
При реализации механизма приглашений нельзя отправлять несколько приглашений за раз, потому что после каждого приглашения у пользователя будет появляться окно подтверждения. Поэтому приглашения следует отправлять раздельно каждому пользователю. Удобнее всего это реализовать с помощью отдельной кнопки для каждого конкретного пользователя.
Обратите внимание, что пока игра не запущена в мобильном каталоге, метод
apps.sendRequest
позволяет отправлять запросы только между администраторами приложения. Это значит, что пригласить в игру никого не получится, однако проверить работу приглашений можно. В методеapps.sendRequest
приглашение и запрос отличаются только параметромtype
. Потому для проверки можно передать параметрtype=request
. Если на него вернётся корректный ответ вида{response: 10001}
, значит и приглашение черезtype=invite
отобразится корректно в каталоге у получателя.
Запросы
Запросы — метод социального взаимодействия и прямой коммуникации с друзьями в играх. Запросы позволяют возвращать в игру друзей пользователя с помощью отправки подарков, просьб о помощи, вызовов на бой и других методов.
Внедрение
Для отправки запросов в играх на веб-платформе нужно использовать метод showRequestBox()
в Client API. В играх на Direct Games используйте метод showRequestBox
.
Для получения списка друзей, доступных для отправки запроса, в играх, запущенных в мобильном каталоге ВКонтакте, нужно использовать метод apps.getFriendsList
c параметром type=request
. Для отправки запросов нужно использовать метод apps.sendRequest
c параметром type=request
.
Пока игра не добавлена в каталог, отправка запросов будет работать только между администраторами приложения.
Преимущества
Запросы могут принести до 20% от всех запусков игры в каталоге веб-платформы. В каталоге Direct Games до 20% всего трафика идёт на запуск игр с полученных запросов.
Сценарии поведения в играх Direct Games
При реализации механизма запросов нужно учитывать, что после каждого запроса у пользователя будет появляться окно подтверждения. Поэтому запросы следует отправлять раздельно каждому пользователю. Удобнее всего это реализовать с помощью отдельной кнопки для каждого конкретного пользователя.
Пока игра не добавлена в каталог для мобильных устройств, запросы, отправляемые методом
apps.sendRequest
, будут доставляться только между администраторами приложения. В случае отправки запроса не администратору вернётся ошибка 15 — «Access denied: this method is allowed only for approved apps».
Записи на стене
Реализовав возможность делиться записями на стене, вы передаёте в руки пользователей мощный инструмент вирального распространения игры. Дайте игрокам возможность поделиться ценной информацией с друзьями, например, историей успеха или важным достижением.
Внедрение
Для отправки записей на стену нужно использовать метод wall.post
или showShareBox
для мобильных HTML5-игр.
Сценарии поведения
При реализации возможности отправлять сообщения на стену нужно учитывать, что большое количество записей захламляет стену пользователя и новости его друзей. Потому мы запрещаем поощрять или награждать пользователя только за отправку записей на стену.
Лучшие практики
Аудитория
Помните, что большая часть пользователей, которая увидит запись, ещё ничего не знает про игру. Поэтому контекст записи должен давать базовое представление об игре: о чём она и какой у неё жанр.
Плохо: «Я прошёл 52 уровень на две звезды. Сможете лучше?»
Хорошо: «Сложил 60 пироженок по три в ряд, очистил поле от желе и получил 10800 очков. Сможете лучше?»
Содержание записи
Рассказывайте истории о ключевых моментах, событиях и элементах игры, описывая их взаимодействие и как усилия и старания игрока влияют на них. Дайте пользователю возможность гордиться своими достижениями в игре и продемонстрируйте, в чём он хорош.
Плохо: «Прошёл миссию за 16 секунд. Серьёзный куш у меня в кармане!»
Хорошо: «Разнёс базу Генерала Ада при поддержке десанта друзей за 16 секунд. Присоединяйтесь! Разнесём за 14 и поделим серьёзный куш».
Публикации должны быть оригинальными и смешными. Заставьте людей, прочитавших запись, улыбнуться. Такие записи собирают больше отметок «Мне нравится», ими чаще делятся и их чаще комментируют, а следовательно — это приносит больше новых игроков.
Количество записей
Берите качеством, а не количеством. Каждая запись должна нести ценность и для игрока, и для его друзей, а если же публикаций будет много, пользователи перестанут обращать на них внимание.