Таблица лидеров 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 ответ

Решение

Я нашел решение:

  1. Создайте новую статистику / таблицу лидеров в Dev Center.
  2. Нажмите кнопку "Тест". Это важно, потому что публикует конфигурацию сервиса.

Я не уверен, почему оригинальная статистика не сработала. Возможно, потому что я использовал слово "оценка" в качестве statID.

Другие вопросы по тегам