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ść#
/v1/authentication/anonymouscurl -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#
/v1/authentication/email/linkWywoł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 <idToken gościa>" \
-d '{"email":"gracz@example.com","password":"Haslo12345","locale":"pl"}'
Po zamianie:
- stan konta zmienia się na
registered, a po potwierdzeniu adresu naverified, - sesja gościa jest kończona, a odpowiedź zawiera nową sesję konta - zapisz nowy
sessionToken, - usługa wysyła link weryfikacyjny (
verificationEmailSent).
| Błąd | Co zrobić w grze |
|---|---|
409 email_exists | Ten adres ma już osobne konto. Zaproponuj logowanie do niego - postęp gościa zostanie wtedy na koncie gościa. |
409 already_linked | Konto ma już adres e-mail. |
422 weak_password | Pokaż wymagania hasła. |
401 id_token_invalid | Odnó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.