Удаленная конфигурация

Чтобы получить удаленную конфигурацию флагов (Remote Config), используйте метод getFlags() из SDK Яндекс Игр. Рекомендуем запрашивать флаги один раз на старте игры.

Пример

1const ysdk = await YaGames.init();
2
3const flags = await ysdk.getFlags(); // Метод возвращает объект с флагами.
4
5// В логике игры можно добавить условие:
6if (flags.difficult === 'hard') {
7    // Включаем высокую сложность.
8}

Локальная конфигурация

Совет

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

Чтобы добавить локальную конфигурацию (плоский объект, значения — строки), нужно передать ее в дополнительный параметр метода getFlags(), в поле defaultFlags. Полученный в итоге объект является объединением удаленной и локальной конфигураций. Приоритет удаленной конфигурации выше.

Пример

1const ysdk = await YaGames.init();
2
3const flags = await ysdk.getFlags({ defaultFlags: { difficult: 'easy' } });
4
5if (flags.difficult === 'easy') {
6
7}

Клиентские параметры

Если ваша игра хранит данные игрока (пройденные уровни, опыт, инап-покупки и т. д.), то их можно использовать в удаленной конфигурации. Подробнее о том, как настроить флаг в зависимости от условий, см. в разделе Шаг 1. Создайте конфигурацию флагов.

Клиентские параметры нужно передавать в виде массива в поле clientFeatures метода getFlags().

Пример

 1const ysdk = await YaGames.init();
 2
 3const player = await ysdk.getPlayer();
 4
 5const payingStatus = player.getPayingStatus();
 6
 7// Запрашиваем флаги с клиентским параметром статуса платежной активности пользователя.
 8const flags = await ysdk.getFlags({
 9    clientFeatures: [
10        { name: 'payingStatus', value: payingStatus }
11    ]
12});

Сигнатура и интерфейсы метода getFlags()

 1interface IFlags {
 2    [key: string]: string;
 3}
 4
 5interface IClientFeature {
 6    name: string;
 7    value: string;
 8}
 9
10interface IGetFlagsParams {
11    defaultFlags?: IFlags;
12    clientFeatures?: IClientFeature[];
13}
14
15function getFlags(getFlagsParams: IGetFlagsParams = {}): IFlags {}

Примечание

Сотрудники службы поддержки помогают разместить готовую игру на платформе Яндекс Игр. На прикладные вопросы о разработке и тестировании предметно ответят другие разработчики в Сообществе в Телеграме.

Если при использовании SDK Яндекс Игр вы столкнулись с проблемой или у вас появился вопрос, обратитесь в службу поддержки:

Написать в чат
Предыдущая
Следующая