Таблица лидеров Xbox Live в игре UWP возвращается с ошибкой 404
При попытке получить таблицу лидеров из Xbox Live, тип события stat get_leaderboard_complete
возвращает код ошибки 404. Я использую Xbox Live в игре UWP в Программе создателей.
Я могу установить и получить статистику для пользователя. Эта часть работает без проблем:
xbox_live_result<stat_value> serverStat = m_statsManager->get_stat(m_user, L"score");
auto result = serverStat.payload();
if (result.as_integer() < score) {
setStatForUser(m_user, L"score", score);
}
Мой код взят из примера таблицы лидеров в Xbox Live Samples. Таким образом, чтобы восстановить мой список лидеров, я звоню getLeaderboard(m_user, L"score");
и каждый кадр я звоню statsManager->do_work();
,
// Process events from the stats manager
// This should be called each frame update
auto statsEvents = m_statsManager->do_work();
std::wstring text;
for (const auto& evt : statsEvents)
{
switch (evt.event_type())
{
case stat_event_type::local_user_added:
text = L"local_user_added";
break;
case stat_event_type::local_user_removed:
text = L"local_user_removed";
break;
case stat_event_type::stat_update_complete:
text = L"stat_update_complete";
break;
case stat_event_type::get_leaderboard_complete:
text = L"get_leaderboard_complete";
auto getLeaderboardCompleteArgs = std::dynamic_pointer_cast<leaderboard_result_event_args>(evt.event_args());
processLeaderboards(evt.local_user(), getLeaderboardCompleteArgs->result());
break;
}
stringstream_t source;
source << _T("StatsManager event: ");
source << text;
source << _T(".");
log("%S", source.str().c_str());
}
Поскольку я могу устанавливать и получать статистику без проблем, мне интересно, может быть, это проблема с бэкэндом Xbox Live? Однако я не очень знаком с платформой данных xbox live 2017, и, возможно, я что-то неправильно называю.
1 ответ
Я нашел решение:
- Создайте новую статистику / таблицу лидеров в Dev Center.
- Нажмите кнопку "Тест". Это важно, потому что публикует конфигурацию сервиса.
Я не уверен, почему оригинальная статистика не сработала. Возможно, потому что я использовал слово "оценка" в качестве statID.