Цели на площадках
Уведомление площадок о достижении целей, миссий, выполнении заданий в вашей игре.
Поддерживаемые площадки
Площадки без поддержки
Содержание
- Цели на усмотрение площадки
- Цели, создаваемые вами
- Достижение целей для игр со своим бэкендом через API
- Как протестировать цели
Цели на усмотрение площадки
Помогите площадке и ее менеджерам самим создавать цели в вашей игре.
Сложно учесть все ситуации. Например, скоро акция 11.11 и площадка хочет в этот день сделать задания:
- Убить 11 монстров в игре "Волшебный Мир"
- Добыть 1111 золота в игре "Аномальный копатель"
Делать отдельно задания под цифру 11 совсем не хочется. Вместо этого:
Подготовьте заранее переменные игрока и обновляйте их ежедневно автоматически или вручную.
Создайте переменные игрока, например:
- Убито монстров сегодня
- Нанесено урона сегодня
- Собрано золота сегодня
Так же вы можете указывать постоянные счетчики:
- Убито монстров всего
- Нанесено урона всего
- Собрано золота всего

Так менеджеры смогут использовать вашу переменную и устанавливать свои цели на нее - 11 монстров, 27 монстров, 9999 монстров убито сегодня.
Как сделать ежедневно обновляемую переменную
В переменной игрока поставьте галочку "Ежедневно сбрасывать".

Если вы используете свой бэкенд для сохранения данных и не сохраняете данные в облако постоянно, то при наступлении нового дня, вы можете синхронизировть состояние игрока, чтобы сбросить переменные.
- JavaScript
- Unity
// сработает, когда изменится день на площадке
gp.on('change:platformDay', () => {
// новый день на площадке настал
// Вызываем синк через 5 секунд, чтобы сбросить переменные
// С запасом на погрешность часов
setTimeout(() => gp.player.sync(), 5 * 1000);
});
// Подписываемся на событие
private void OnEnable()
{
GP_Platform.OnChangePlatformDay += OnChangePlatformDay;
}
private void OnChangePlatformDay()
{
// новый день на площадке настал
// Вызываем синк через 5 секунд, чтобы сбросить переменные
// С запасом на погрешность часов
Invoke("SyncPlayer", 5f);
}
private void SyncPlayer()
{
GP_Player.Sync();
}
Цели, создаваемые вами
Вы можете заранее подготовить цели для своей игры, их так же могут использовать и площадки. Например, цели "получить первую профессию", "достичь ранга мастер" или "разграбить 2 каравана сегодня".
Чтобы создать разовую или ежедневную цель на основе облачных переменных - ознакомьтесь с руководством по Триггерам.
Достижение целей для игр со своим бэкендом через API
Через API вы можете активировать триггеры для любого игрока без проверки условий.
Для начала работы:
- Получите ключ API
- Создайте триггер и поставьте ему галку "Активировать триггер только через API"
- Вызовите метод API с ключом и нужными параметрами по примеру ниже
- GraphQL (API)
Метод возвращает успех в случае активации триггера или неудачу при ошибке с сообщением об ошибке.
Как протестировать триггеры
Для проверки работоспособности достаточно убедиться, что триггер был активирован игроком. Дальше мы уведомим площадку об активации / выполнении цели.
Повторная активация триггера
Триггеры можно активировать лишь раз или раз в день.
Когда вам нужно протестировать работу триггера несколько раз - вы можете как администратор снова пометить триггер неактивированным.
Найдите вашего игрока в панели управления в разделе "Игроки":

Или перейдите по ссылке из "Панели отладки" в вашей игре:

Перейдите в раздел "Триггеры", здесь вы можете активировать / деактивировать триггеры игрока вручную как администратор.

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

Так, при следующем заходе система увидит, что игрок заходил последний раз вчера, а сегодня еще нет и сбросит ему переменные и выполненные триггеры.
Оставайтесь на связи
С другими разделами документации вы можете ознакомиться здесь. Для начала работы вы можете ознакомиться с нашими туториалами.
Сообщество GamePush в Telegram: @gs_community.
Для ваших обращений e-mail: official@gamepush.com
Желаем вам успехов!