Изменились схемы работы с 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();
На сегодня это все изменения, будем держать вас в курсе. Если у вас остались вопросы, напишите в нашу службу поддержки.
Команда Яндекс.Игр