Czy mogę zresetować wyniki osiągów/tabel wyników z mojej aplikacji na Androida, która jest używana w Usługach gier Google Play?Resetuj osiągnięcia/tabelę wyników z mojej aplikacji na Androida
8
A
Odpowiedz
15
Tak, jest to możliwe z kont testowych. To trochę trudne, więc tutaj przykład kodu.
Dodaj ten w swoim manifeście:
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.INTERNET" />
I tu jest rzeczywisty kod wykonywany w aplikacji. Dodano w działaniu opartym na BaseGameActivity.
public void resetAchievements()
{
if(isSignedIn())
{
String accountName = getGamesClient().getCurrentAccountName();
String scopes = getScopes();
new ResetterTask(this, accountName, scopes).execute((Void) null);
}
}
private class ResetterTask extends AsyncTask<Void, Void, Void>
{
public String mAccountName;
public String mScope;
public Context mContext;
public ResetterTask(Context con, String name, String sc)
{
mContext = con;
mAccountName = name;
mScope = sc;
}
@Override
protected Void doInBackground(Void... params)
{
try
{
String accesstoken = GoogleAuthUtil.getToken(mContext, mAccountName, mScope);
HttpClient client = new DefaultHttpClient();
//Reset leader board:
/*String leaderboardid = "theleaderboardid";
HttpPost post = new HttpPost
(
"https://www.googleapis.com"+
"/games/v1management"+
"/leaderboards/"+
leaderboardid+
"/scores/reset?access_token="+accesstoken
);*/
//Reset a single achievement like this:
/*
String acheivementid = "acheivementid";
HttpPost post = new HttpPost
(
"https://www.googleapis.com"+
"/games/v1management"+
"/achievements/"+
acheivementid+
"/reset?access_token="+accesstoken
);*/
//This resets all achievements:
HttpPost post = new HttpPost
(
"https://www.googleapis.com"+
"/games/v1management"+
"/achievements"+
"/reset?access_token="+accesstoken
);
client.execute(post);
Log.w(LogTag, "Reset achievements done.");
}
catch(Exception e)
{
Log.e(LogTag, "Failed to reset: " + e.getMessage(), e);
}
return null;
}
@Override
protected void onPostExecute(Void result)
{
//Launch activity to refresh data on client.
//NOTE: Incremental achievements will look like they are not reset.
//However, next time you and some steps it will start from 0 and
//gui will look ok.
startActivityForResult(getGamesClient().getAchievementsIntent(), 0);
}
}
1
Jest inny sposób na osiągnięcie tego. Przejdź do swojej tablicy wyników w obszarze usług gier na stronie dla programistów. Następnie wybierz jedną z tablic wyników. Zmień opcję Zamawiania "Większy jest lepszy" na "Mniejszy jest lepszy" lub na odwrót. Zapisz, a następnie zmień to z powrotem.
Spowoduje to usunięcie wszystkich wartości, które obecnie masz w tabeli wyników, i oczywiście jest to możliwe do wykonania tylko podczas testowania.
Powiązane problemy
- 1. Jak korzystać z aplikacji WhatsApp w mojej aplikacji na Androida?
- 2. Jak uruchamiać aplikacje na Androida w mojej aplikacji na Androida?
- 3. Roboto czcionka w mojej aplikacji na Androida
- 4. Sprawdź, czy żądanie http pochodzi z mojej aplikacji na Androida
- 5. Czy mogę wyłączyć systemi z poziomu mojej aplikacji na Androida?
- 6. Jak umieścić reklamę w mojej aplikacji na Androida?
- 7. Jak dodać powiadomienie push w mojej własnej aplikacji na Androida
- 8. Jak mogę zintegrować reklamy AirPush w mojej aplikacji na Androida?
- 9. Dlaczego Gmail nie działa w mojej aplikacji na Androida?
- 10. Jak wyświetlać reklamy VAST w mojej aplikacji na Androida?
- 11. Wyświetlanie plików programu Excel w mojej aplikacji na Androida
- 12. Jak rozdawać darmowe kopie mojej płatnej aplikacji na Androida?
- 13. Jak mogę używać ikon systemowych w mojej aplikacji na Androida?
- 14. USSD na Androida z aplikacji
- 15. Jak dodać widżet do ekranu głównego Androida z mojej aplikacji?
- 16. Dostęp do zdjęć z aplikacji Obrazy w mojej aplikacji na Androida
- 17. Opuszczanie aplikacji na Androida z przyciskiem Wstecz
- 18. Przywróć stos aplikacji na Androida z tła
- 19. Budowanie aplikacji błyskawicznej na Androida z komponentem aplikacji z Dagger'a
- 20. Niestandardowy kolor czcionki dla aplikacji PagerTabStrip w aplikacji ViewPager dla mojej aplikacji na Androida
- 21. Otwieranie aplikacji na Androida z Kalendarza
- 22. Resetuj stan aplikacji między InstrumentationTestCase działa
- 23. Jak zmienić kolor akcentu w mojej aplikacji na Androida z niebieskiego na coś innego
- 24. Wdrażanie aplikacji na Androida
- 25. Aktualizacja aplikacji Xamarin na Androida
- 26. Jak pozwolić użytkownikom na ocenę aplikacji na Androida z poziomu aplikacji (bez przekierowania do Sklepu Play)
- 27. Sterowanie elementami DOM z aplikacji na Androida
- 28. budowanie aplikacji na Androida z mrówką tylko
- 29. Otwórz rodzimą przeglądarkę z aplikacji na Androida
- 30. debugowanie aplikacji na Androida z ionic-cordova
Próbuję uzyskać to działa z najnowszym API, ale mam problem z "getScopes()". Czy ktoś może mi powiedzieć, gdzie to znajdę? A może powróci? Dzięki. –
@Will Calderwood Ta metoda nadal działa, ale Google zmieniło api aplikacji GamesClient. możesz użyć "[email protected]" dla e-maila i "oauth2: h ttps: //www.googleapis.com/auth/games" dla zakresu (nospace) – Gak2