UWP游戏中的Xbox Live排行榜返回错误404

时间:2017-09-11 19:02:35

标签: c++ uwp xbox-live

尝试从Xbox Live检索排行榜时,统计事件类型get_leaderboard_complete会返回错误代码404.我在创作者计划的UWP游戏中使用Xbox Live。

我能够为用户设置和检索统计信息。这部分没有问题:

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 个答案:

答案 0 :(得分:0)

我发现了一个解决方案:

  1. 在开发人员中心创建新的统计/排行榜。
  2. 按“测试”按钮。这很重要,因为它发布了服务配置。
  3. 我不确定为什么原始统计数据不起作用。也许是因为我使用“得分”这个词作为statID。