Gamevious Developers

Gość (anonimowe)

Gracz zaczyna grać od razu, a konto zakłada później - bez utraty postępu, zakupów ani pozycji w rankingach.

Wymaga metody Anonimowe włączonej w panelu dla danego środowiska.

Logowanie jako gość#

POST/v1/authentication/anonymous
curl -X POST https://player-auth.services.api.sandbox.gamevious.com/v1/authentication/anonymous \
  -H "Content-Type: application/json" -H "X-Project-Id: prj_gv_…" -H "X-Environment: env_gv_…" \
  -d '{"displayName":"Gracz"}'

Odpowiedź ma tokeny jak każde logowanie, player.accountState: "anonymous" i player.anonymous: true. W idToken pole amr ma wartość ["anonymous"] - po nim Twój serwer odróżni gościa od konta.

Zakładanie gości podlega temu samemu limitowi co rejestracja: „Rejestracje z jednego IP na godzinę” w Ustawieniach.

Zamiana gościa na konto e-mail#

POST/v1/authentication/email/link

Wywołaj z idToken gościa. Gracz zachowuje ten sam player.id, więc wszystkie dane gry przypisane do niego zostają.

[Serializable] public class LinkRequest { public string email; public string password; public string locale; }

yield return Post("/email/link", JsonUtility.ToJson(new LinkRequest { email = email, password = password, locale = "pl" }), currentIdToken, body =>
{
    var auth = JsonUtility.FromJson<AuthResponse>(body);
    PlayerPrefs.SetString("nunox_session", auth.sessionToken); // nowa sesja konta
}, (status, body) => Debug.LogError($"Błąd {status}: {body}"));
const account = await call("/email/link", { email, password, locale: "pl" }, currentIdToken);
localStorage.setItem("nunox_session", account.sessionToken); // nowa sesja konta
curl -X POST https://player-auth.services.api.sandbox.gamevious.com/v1/authentication/email/link \
  -H "Content-Type: application/json" -H "X-Project-Id: prj_gv_…" -H "X-Environment: env_gv_…" \
  -H "Authorization: Bearer &lt;idToken gościa&gt;" \
  -d '{"email":"gracz@example.com","password":"Haslo12345","locale":"pl"}'

Po zamianie:

BłądCo zrobić w grze
409 email_existsTen adres ma już osobne konto. Zaproponuj logowanie do niego - postęp gościa zostanie wtedy na koncie gościa.
409 already_linkedKonto ma już adres e-mail.
422 weak_passwordPokaż wymagania hasła.
401 id_token_invalidOdnów sesję gościa i spróbuj ponownie.

O czym pamiętać#

Gość bez sesji traci konto. Konto gościa jest dostępne tylko przez sessionToken zapisany na urządzeniu. Jeśli gracz usunie grę albo dane przed założeniem konta, nie odzyska postępu. Zachęcaj do zamiany konta przed pierwszym zakupem i po kilku sesjach gry.