2017-09-11 3 views
0

Lorsque vous tentez de récupérer un leaderboard à partir de Xbox Live, le type d'événement statistique get_leaderboard_complete renvoie le code d'erreur 404. J'utilise Xbox Live dans un jeu UWP du programme Créateurs.Le classement Xbox Live dans le jeu UWP renvoie une erreur 404

Je suis capable de définir et de récupérer la statistique pour l'utilisateur. Cette partie fonctionne sans problème:

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); 
} 

Mon code est adopté par l'exemple leaderboard dans le Xbox Live Samples. Donc, pour récupérer mon classement, j'appelle getLeaderboard(m_user, L"score"); et chaque image que j'appelle 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()); 
} 

Parce que je suis en mesure de définir et de récupérer la stat sans problème, je me demande si peut-être il est un problème avec la Xbox back-end en direct? Cependant, je ne suis pas très familier avec la plate-forme de données xbox live 2017, et je peux appeler quelque chose de manière incorrecte.

Répondre

0

J'ai découvert une solution:

  1. Créer une nouvelle stat/leaderboard dans Dev Center.
  2. Appuyez sur le bouton "Test". Ceci est important car il publie la configuration du service.

Je ne suis pas sûr pourquoi la stat d'origine n'a pas fonctionné. Peut-être parce que j'ai utilisé le mot "score" comme l'état.