UWP 游戏 returns 中的 Xbox Live 排行榜出现错误 404
Xbox Live leaderboard in UWP game returns with error 404
尝试从 Xbox Live 检索排行榜时,统计事件类型 get_leaderboard_complete
returns 错误代码 404。我在 Creators Program 的 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数据平台不是很熟悉,可能是我调用的有误
我发现了一个解决方案:
- 在开发中心新建 stat/leaderboard。
- 按“测试”按钮。这很重要,因为它发布了服务配置。
我不确定为什么原来的统计数据不起作用。可能是因为我用了“score”这个词作为statID。
尝试从 Xbox Live 检索排行榜时,统计事件类型 get_leaderboard_complete
returns 错误代码 404。我在 Creators Program 的 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数据平台不是很熟悉,可能是我调用的有误
我发现了一个解决方案:
- 在开发中心新建 stat/leaderboard。
- 按“测试”按钮。这很重要,因为它发布了服务配置。
我不确定为什么原来的统计数据不起作用。可能是因为我用了“score”这个词作为statID。