尝试从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数据平台并不是很熟悉,我可能会错误地调用它。
答案 0 :(得分:0)
我发现了一个解决方案:
我不确定为什么原始统计数据不起作用。也许是因为我使用“得分”这个词作为statID。