Login / Inscription différée dans les jeux par navigateur
  Retour à la documentation

Login

Inscription différée dans les jeux par navigateur

Comment ça marche

L’utilisateur peut commencer un jeu dans un navigateur sans s’enregistrer. Après un certain temps, l’utilisateur sera invité à s’enregistrer et sa progression dans le jeu sera sauvegardée. Le temps d’attente de l’enregistrement doit être implémenté du côté du jeu.

Le flux d’interaction entre l’utilisateur et le jeu est le suivant :

  1. L’utilisateur non autorisé démarre le jeu.
  2. Le jeu associe l’utilisateur aux informations de session.
  3. Après un certain temps, le jeu demande à l’utilisateur de s’enregistrer pour pouvoir continuer.
  4. Le jeu envoie une demande d’enregistrement avec les informations de session passées au serveur Xsolla Login.
  5. Le serveur Xsolla Login enregistre l’utilisateur. Suite à l’enregistrement, les informations relatives à la session sont passées au JWT utilisateur.
  6. Le jeu transfère la progression à l’utilisateur enregistré.
  7. L’utilisateur continue à jouer comme utilisateur autorisé.

Note
L’identifiant de session ou la chaîne JSON contenant des informations sur la progression de l’utilisateur est passé en tant qu’informations sur la session de l’utilisateur.

Qui peut l'utiliser

Les partenaires qui ont déjà intégré Login et qui disposent d’un jeu sur navigateur.

Comment configurer

Pour sauvegarder la progression de l’utilisateur après l’enregistrement dans le jeu :

  1. Passez les informations sur la session de l’utilisateur lors de l’enregistrement.
  2. Transférez la progression du jeu à l’utilisateur.

Passage des informations sur la session de l'utilisateur

Le passage d’informations sur la session de l’utilisateur dépend de l’intégration de Login :

Intégration via Login API

Passez le paramètre payload à la requête Register new user. Spécifiez les informations sur la session de l’utilisateur comme valeur de ce paramètre.

Exemple de requête (identifiant de la session de l’utilisateur) :

Copy
Full screen
Small screen

http

  • http
  • curl
POST https://login.xsolla.com/api/user?login_url=https://example.com&projectId=00000000-0000-0000-0000-000000000000&payload=my_session_123 HTTP/1.1
Content-Type: application/json

{
  "username": "John Smith",
  "password": "123456",
  "email": "john-email@email.com"
}
curl --request POST \
  --url 'https://login.xsolla.com/api/user?login_url=https%3A%2F%2Fexample.com&projectId=00000000-0000-0000-0000-000000000000&payload=my_session_123' \
  --header 'content-type: application/json' \
  --data '{"username":"John Smith","password":"123456","email":"john-email@email.com"}'

Exemple de requête (chaîne JSON contenant des informations sur la progression de l’utilisateur) :

Copy
Full screen
Small screen

http

  • http
  • curl
POST https://login.xsolla.com/api/user?login_url=https://example.com&projectId=00000000-0000-0000-0000-000000000000&payload={"coins":120,"lvl":2} HTTP/1.1
Content-Type: application/json

{
  "username": "John Smith",
  "password": "123456",
  "email": "john-email@email.com"
}
curl --request POST \
  --url 'https://login.xsolla.com/api/user?login_url=https%3A%2F%2Fexample.com&projectId=00000000-0000-0000-0000-000000000000&payload=%7B%22coins%22%3A120%2C%22lvl%22%3A2%7D' \
  --header 'content-type: application/json' \
  --data '{"username":"John Smith","password":"123456","email":"john-email@email.com"}'

Intégration via le widget Login

Ajoutez le paramètre payload au code d’initialisation du widget. Spécifiez les informations sur la session de l’utilisateur comme valeur de ce paramètre.

Exemple de code d’initialisation du widget (identifiant de la session de l’utilisateur) :

Copy
Full screen
Small screen
<script>
const xl = new XsollaLogin.Widget({
  projectId: '00000000-0000-0000-0000-000000000000',
  preferredLocale: 'en_US',
  callbackUrl: 'https://example.com',
  payload: 'my_session_123'
});
</script>

Exemple de code d’initialisation du widget (chaîne JSON contenant des informations sur la progression de l’utilisateur) :

Copy
Full screen
Small screen
<script>
const xl = new XsollaLogin.Widget({
  projectId: '00000000-0000-0000-0000-000000000000',
  preferredLocale: 'en_US',
  callbackUrl: 'https://example.com',
  payload: '{"coins":120,"lvl":2}'
});
</script>

Transfert de la progression du jeu à l'utilisateur

Après l’enregistrement, les informations sur la session de l’utilisateur sont transmises dans la revendication payload du JWT utilisateur. Utilisez ces informations pour transférer la progression reçue au cours de la session. Vous trouverez l’identifiant de l’utilisateur enregistré dans la revendication sub du JWT utilisateur.

Exemple de payload de JWT (identifiant de la session de l’utilisateur) :

Copy
Full screen
Small screen
{
  "email": "john-email@email.com",
  "exp": 1597904900,
  "iat": 1597818500,
  "is_master": true,
  "iss": "https://login.xsolla.com",
  "payload": "my_session_123",
  "promo_email_agreement": true,
  "publisher_id": 0,
  "sub": "00000000-0000-0000-0000-000000000000",
  "type": "xsolla_login",
  "username": "John Smith",
  "xsolla_login_access_key": "422nH1zNMIVKCesi7r4YdQXQY-jgbf2CIcvGdCREDIA",
  "xsolla_login_project_id": "00000000-0000-0000-0000-000000000000"
}

Exemple de payload de JWT (chaîne JSON contenant les informations sur la progression de l’utilisateur) :

Copy
Full screen
Small screen
{
  "email": "john-email@email.com",
  "exp": 1597904900,
  "iat": 1597818500,
  "is_master": true,
  "iss": "https://login.xsolla.com",
  "payload": "{\"coins\":120,\"lvl\":2}",
  "promo_email_agreement": true,
  "publisher_id": 0,
  "sub": "00000000-0000-0000-0000-000000000000",
  "type": "xsolla_login",
  "username": "John Smith",
  "xsolla_login_access_key": "422nH1zNMIVKCesi7r4YdQXQY-jgbf2CIcvGdCREDIA",
  "xsolla_login_project_id": "00000000-0000-0000-0000-000000000000"
}
Cet article vous a été utile ?
Merci !
Que pouvons-nous améliorer ? Message
Nous sommes désolés de l'apprendre
Dites-nous pourquoi vous n'avez pas trouvé cet article utile. Message
Merci pour votre commentaire !
Nous examinerons votre message et l'utiliserons pour améliorer votre expérience.
Dernière mise à jour: 31 Juillet 2024

Faute de frappe ou autre erreur dans le texte ? Sélectionnez le texte concerné et appuyez sur Ctrl+Entée.

Signaler un problème
Nous améliorons continuellement notre contenu grâce à vos commentaires.
Indiquez votre adresse e-mail pour un suivi
Merci pour votre commentaire !