0

尝试从 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 数据平台不是很熟悉,我可能会错误地调用某些东西。

4

1 回答 1

0

我发现了一个解决方案:

  1. 在开发中心创建一个新的统计数据/排行榜。
  2. 按下“测试”按钮。这很重要,因为它发布了服务配置。

我不确定为什么原始统计数据不起作用。也许是因为我使用了“分数”这个词作为 statID。

于 2017-09-13T18:30:52.597 回答