Добрый день! Мы расширили возможности для неавторизованных пользователей
Что нового?
Теперь неавторизованные пользователи могут совершать покупки и сохранять свой прогресс. Так же мы обновили методы для авторизации. Однако обратите особое внимание на то, что идентификатор гостевого аккаунта может быть утерян в некоторых случаях (например, при очистке устройства пользователя). Чтобы сохранить данные необходимо использовать полную авторизацию. К примеру, вы можете предложить пользователям игры залогиниться в удобном моменте, чтобы надежно сохранить прогресс и достижения в аккаунте зарегистрированного пользователя. Так же в lite режиме не доступны лидерборды и api для выставления оценки
Проверка авторизации
Чтобы проверить, авторизован ли игрок на Яндексе, используйте метод объекта Player — player.getMode (). Метод возвращает строку lite в случае, если игрок не авторизован в Яндексе
var player;
function initPlayer() {
return ysdk.getPlayer().then(_player => {
player = _player;
return player;
});
}
initPlayer().then(_player => {
if (_player.getMode() === 'lite') {
// Игрок не авторизован.
ysdk.auth.openAuthDialog().then(() => {
// Игрок успешно авторизован
initPlayer().catch(err => {
// Ошибка при инициализации объекта Player
});
}).catch(() => {
// Игрок не авторизован.
});
}
}).catch(err => {
// Ошибка при инициализации объекта Player
});
Подробности в документации
Внутриигровые покупки
Совершать внутриигровые покупки могут как авторизованные на Яндексе пользователи, так и неавторизованные. Авторизоваться пользователь может непосредственно во время игры, в том числе и в момент совершения покупки.
Чтобы предоставить пользователям возможность совершать внутриигровые покупки, используйте объект payments. Подробности в документации.
С уважением, команда Яндекс Игр!