Достижения игрока
Система достижений BlueStudz интегрирована с профилями пользователей, лентой активности и встроенным оверлеем лаунчера. Разблокировка подтверждается секретным токеном разработчика.
Мгновенные достижения
Срабатывают при наступлении определенного события в игре (например, победа над первым боссом или завершение пролога). Повторные вызовы идемпотентны и не вызывают ошибок.
// Пример для Unity
await BlueStudzSDK.Achievements.Unlock("first_boss_slain");Накопительный прогресс
Для ачивок с прогрессом (например, «Собрать 100 монет») прогресс фиксируется сервером по принципу наивысшего значения (GREATEST), исключая случайный откат при синхронизации.
{
"achievementId": "coins_collector",
"progress": 75,
"maxProgress": 100
}Защита от читерства и подделки
Для предотвращения несанкционированной разблокировки ачивок через сторонние утилиты запрос на эндпоинт POST /sdk/achievements/unlock требует обязательного наличия заголовка x-bs-secrettoken.
Отображение в оверлее лаунчера
При успешном ответе (HTTP 200) сервис рассылает WebSocket-событие в оверлей лаунчера. В правом нижнем углу экрана игрока отображается анимированное всплывающее уведомление с иконкой и звуком.
