Блог Яндекс Игр

Изменение схемы работы с player.getID() и с аватаром

Изменились схемы работы с player.getID () и с аватаром, которые помогают персонализировать игру. Расскажем об изменениях, чтобы вам было проще работать.

Изменение метода player.getID ()

Для персонализации игры можно использовать данные профиля пользователя на Яндексе: аватар, имя, идентификатор. Получить эти данные помогут методы объекта Player. Он возвращает постоянный уникальный идентификатор пользователя (тип: string).

Сейчас метод player.getID () устарел. Некоторое время он будет работать с предупреждением в консоли ошибок, а позже исчезнет совсем. Теперь работа будет строиться с помощью метода player.getUniqueID () — он всегда будет возвращать идентификаторы в новом формате.

Теперь, если в игре появились новые пользователи, то значения player.getID () и player.getUniqueID совпадут, а у старых игроков значения будут отличаться. Если игра самостоятельно привязывала к значению player.getID () данные игрока, то нужно произвести миграцию данных, привязав их к значению player.getUniqueID (). Мы советуем не менять ID игроков необратимо, а завести новую колонку, чтобы, если потребуется, можно было откатить данные до старых идентификаторов.

Чтобы сделать миграцию разово сразу для всех пользователей, обращайтесь в нашу службу поддержки

Подробнее о новой схеме работы метода читайте в Документации.

API для идентификации игрока во всех играх одного разработчика

Еще одно важное нововведение: теперь вы можете отправить нам идентификатор пользователя в одной из его своих игр (если пользователь разрешил передачу персональной информации) и получить идентификаторы этого же пользователя во всех остальных своих играх через API.

Пример ответа:

[
    { appID: 103915, userID: "tOpLpSh7i8QG8Voh/SuPbeS4NKTj1OxATCTKQF92H4c=" },
    { appID: 103993, userID: "bviQCIAAuVmNMP66bZzC4x+4oSFzRKpteZ/euP/Jwv4=" }
]

Подробности о настройке вы найдёте в Документации Яндекс.Игр.

Изменение метода получения аватара
Прямое получение бинарных данных аватара не доступно. Теперь, чтобы создать аватар в HTMLCanvasElement, сначала загрузите HTMLImageElement, а потом отрисуйте картинку.

Например:

 var image = new Image();
img.addEventListener('load', function() {
    var canvas = document.getElementById('canvas');
    var ctx = canvas.getContext('2d');
    ctx.drawImage(img, 0, 0);
}, false);
image.src = ysdkPlayer.getPhoto();

На сегодня это все изменения, будем держать вас в курсе. Если у вас остались вопросы, напишите в нашу службу поддержки.

Команда Яндекс.Игр