Перейти к содержимому
ВозможностиГеймификация

Достижения игрока

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

Мгновенные достижения

Срабатывают при наступлении определенного события в игре (например, победа над первым боссом или завершение пролога). Повторные вызовы идемпотентны и не вызывают ошибок.

csharp
// Пример для Unity
await BlueStudzSDK.Achievements.Unlock("first_boss_slain");

Накопительный прогресс

Для ачивок с прогрессом (например, «Собрать 100 монет») прогресс фиксируется сервером по принципу наивысшего значения (GREATEST), исключая случайный откат при синхронизации.

json
{
  "achievementId": "coins_collector",
  "progress": 75,
  "maxProgress": 100
}

Защита от читерства и подделки

Для предотвращения несанкционированной разблокировки ачивок через сторонние утилиты запрос на эндпоинт POST /sdk/achievements/unlock требует обязательного наличия заголовка x-bs-secrettoken.

Спецификация запроса:
POST https://api.bluestudz.ru/sdk/achievements/unlock
Authorization: Bearer <gameToken>
x-bs-gameid: <gameId>
x-bs-secrettoken: <secretToken>

Отображение в оверлее лаунчера

При успешном ответе (HTTP 200) сервис рассылает WebSocket-событие в оверлей лаунчера. В правом нижнем углу экрана игрока отображается анимированное всплывающее уведомление с иконкой и звуком.