Документация Steamworks
Микротранзакции (внутриигровые покупки)

Введение

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

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

Требования к внутриигровым покупкам

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

Кошелёк Steam может быть использован для покупки отдельных предметов или для приобретения внутриигровой валюты.

Предотвращение мошенничества

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

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

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

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

  1. Используйте накопленные в игре знания о пользователе, чтобы ограничить действия, которые могут привести к мошенничеству. К примеру, если разработчик знает, что игрок — новичок, можно ограничить покупки дорогих предметов или валюты. Маловероятно, что обычный пользователь, который только недавно начал играть, будет заинтересован в покупке предметов или валюты на 200 долларов США. Для сбора информации о пользователе потребуется внедрить несколько элементов данных.
    • Дорос ли пользователь до определенного минимального уровня в игре?
    • Совершал ли пользователь покупки в прошлом? Не вызывает ли подозрений его предыдущее поведение?
    • Каковы размеры средних покупок в игре в месяц? Не вызывает ли подозрений данная покупка, если она значительно превышает это значение?
    • Сколько платежей в месяц совершают типичные платящие пользователи? Не вызывает ли подозрений число покупок, которое совершает данный пользователь?
    • Не вызывает ли подозрений история обменов пользователя?
  2. Используйте накопленные Steam знания о пользователях, чтобы получить дополнительную информацию о конкретном платеже или пользователе. Вы можете получить от Steam информацию, которая позволит определить, какие действия стоит разрешить пользователю. Вызовите GetUserInfo() из API ISteamMicroTxn, чтобы получить информацию о пользователе. Три основных параметра ответа могут пригодиться при определении, насколько данный пользователь заслуживает доверия:
    • country – показывает страну, из которой пользователь совершает покупку. Сами по себе эти данные не очень информативны, но могут пригодиться вместе с данными о валюте.
    • currency – показывает код валюты кошелька Steam пользователя. Обычно это используется при определении того, в какой валюте показываются цены на игры. Эту информацию также можно использовать для сравнения валюты пользователя с валютой страны, откуда исходит запрос на транзакцию. Их несовпадение не обязательно означает, что это мошенничество — пользователи могут заходить в Steam и делать покупки во время путешествий, но данная проверка может дать больше информации при определении особенностей мошеннического поведения.
    • status – возвращает значения Active (активный), Trusted (надёжный) или Locked (заблокированный).
      1. По умолчанию аккаунт активен.
      2. Надёжный аккаунт совершал покупку более чем 90 дней назад, причём у него не было отменённых транзакций. Важно отметить, впрочем, что надёжные аккаунты также могут быть взломаны или специальным образом подготовлены с помощью покупок продуктов низкой стоимости. Этот статус не должен быть единственным фактором для принятия или отклонения покупки.
      3. Заблокированный аккаунт не может совершать покупки в Steam из-за мошенничества, отменённых транзакций, взлома или нарушения соглашения подписчика Steam. Этот статус не является перманентным, особенно в случае со взломами и случайными отменами транзакций со стороны банков.
  3. Важно иметь возможность предотвращать мошеннические транзакции прежде, чем они повлияют на экономику игры.
    • Steam выявляет большинство мошеннических транзакций в пределах 48 часов с момента покупки. Вызывайте GetReport() как минимум один раз в день, чтобы согласовать изменения в транзакциях в соответствии с их обновлённым статусом.
    • Следует запрещать обмен или покупку купленных предметов хотя бы в течение 72 часов со времени покупки. Это затронет большинство ваших игроков, поскольку они используют средства и предметы для себя, в то время как мошенники должны перемещать товары, чтобы получить прибыль.
    • Когда происходит возврат средств за покупку, автоматическая система «возмещения», удаляющая средства и предметы с мошеннического аккаунту, препятствует дальнейшему мошенническому поведению. В сочетании со временем обнаружения и ограничением на обмен мошенник не получит прибыль с мошеннического аккаунта.
  4. Нельзя выводить на экран ключ продукта при проведении внутриигровых покупок, так как он может быть использован на других аккаунтах. В Steam есть функции API, которые позволяют активировать комплекты или контент без необходимости показа пользователю ключа, который может быть скопирован.
  5. Не позволяйте пользователям изменять привязанные аккаунты, описанные в разделе о привязке аккаунтов.
Использование службы инвентаря Steam позволяет применить все эти рекомендации.

Cвязь аккаунтов со Steam

Если у вас есть собственная система управления аккаунтами, вместо того, чтобы требовать от пользователя вручную создавать аккаунт в игре или на сайте, рекомендуем использовать API Steamworks для автоматического создания и привязывания пользовательских аккаунтов Steam к вашей системе. Создание новых аккаунтов в других сервисах — лишняя головная боль для пользователей, которая может привести к значительному уменьшению вашей аудитории.

Аккаунт пользователя Steam к вашей системе можно привязать, найдя и верифицировав SteamID пользователя. SteamID является уникальным идентификатором для аккаунта Steam.

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

Дополнительная информация о привязывании аккаунтов доступна в разделе Аутентификация и проверка владения.

Рекомендации по настройке внутриигровой экономики

Steamworks предоставляет множество инструментов для интеграции микроплатежей и внутриигровой экономики. Есть несколько тем, на которые следует обратить внимание.

Подробности доступны в презентации Кайла Дэвиса с конференции Steam Dev Days.
https://www.youtube.com/watch?v=RHC-uGDbu7s

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

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

    Многие бесплатные игры, особенно с многопользовательским режимом, полагаются на модель, в рамках которой чем больше денег тратит игрок, тем хуже игра становится для других. Избегайте построения систем, в рамках которых игроки имеют возможность негативно влиять на игровой опыт других. Вместо этого, сфокусируйтесь на создании позитивных эффектов в разрабатываемых играх и продуктах. В презентации с конференции Steam Dev Days представлены конкретные примеры, но в целом мы рекомендуем проектировать продукт вокруг простого принципа: пользователь должен радоваться за другого игрока, совершившего покупку. Это оправдано для игр всех жанров и стилей, так что мы рекомендуем поэкспериментировать подобным образом в ваших играх.
  3. Позвольте пользователям создавать ценные вещи друг для друга.

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

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

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

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

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