Пакет Level Up - це пакет Laravel, який вводить гейміфікацію у ваші програми. Користувачі можуть заробляти очки досвіду (XP) і отримувати рівні за допомогою вашого додатка. Він також включає функцію динамічного лідера.
Цей пакет має три концепції, з яких складається гейміфікація:
- Очки досвіду (XP)
- Рівнів
- Досягнення
Після того, як ви імпортуєте цю ознаку у свою модель користувача:Ця риса моделі відкриває різні методи роботи з API гейміфікації:Ви можете створювати рівні для свого додатка за допомогою наступного API:
use LevelUp\Experience\Concerns\GiveExperience;
class User extends Model
{
use GiveExperience;
// ...
}
$user->addPoints(10);
$user->deductPoints(10);
$user->setPoints(10);
$user->getPoints();
Level::add(
['level' => 1, 'next_level_experience' => null],
['level' => 2, 'next_level_experience' => 100],
['level' => 3, 'next_level_experience' => 250],
);
І, нарешті, ось як GiveExperience
ви створюєте досягнення Ви також можете визначити секретні досягнення
Achievement::create([
'name' => 'Hit Level 20',
'is_secret' => false,
'description' => 'When a User hits Level 20',
'image' => 'storage/app/achievements/level-20.png',
]);
// Unlock an achievement
$achievement = Achievement::find(1);
$user->grantAchievement($achievement);
// Set achievement progress
$user->grantAchievement(
achievement: $achievement,
progress: 50 // 50%
);
, приховані від користувача, поки вони не будуть розблоковані. Цей пакет також підтримує аудит, відстеження, коли користувач набирає бали, підвищує рівні тощо.
Ви можете дізнатися більше про цей пакет, отримати повні інструкції зі встановлення та переглянути вихідний код на GitHub.