Удаленная конфигурация
Чтобы получить удаленную конфигурацию флагов (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 Яндекс Игр вы столкнулись с проблемой или у вас появился вопрос, обратитесь в службу поддержки: