Intégration fluide Web-jeu

Comment ça marche

Une intégration fluide entre le navigateur et le jeu vous permet de configurer l’envoi de données de votre site Web au jeu via les paramètres de l’URL. Vous pouvez transmettre le jeton d’autorisation d’un utilisateur, les données d’une campagne de marketing ou d’autres informations.

Flux utilisateur

L’implémentation d’une intégration fluide entre le navigateur et le jeu s’accompagne des scénarios utilisateur suivants :

  • Cliquer sur un lien pour télécharger l’installeur du Launcher depuis le site Web.
  • Cliquer sur un lien redirigeant vers le Launcher depuis le site Web.
  • Lancer le jeu à partir du Launcher.

Lorsque l’utilisateur clique sur un lien pour télécharger l’installateur de Launcher depuis le site Web :

  1. L’utilisateur ouvre le site Web.
  2. L’utilisateur suit le lien vers l’installateur de Launcher.
  3. L’utilisateur télécharge l’installateur de Launcher via un lien contenant un mot de passe unique.
  4. L’utilisateur installe Launcher.
  5. Launcher reçoit la valeur du paramètre common_payload via le mot de passe unique.
  6. L’utilisateur clique sur Play dans Launcher.
  7. Launcher vérifie la présence et l’expiration du paramètre common_payload :
    • Si la vérification réussit, Launcher démarre le jeu avec les arguments obtenus à partir du paramètre common_payload.
    • Si la vérification échoue :
      • Si l’URL du site Web est configurée dans le Compte éditeur sous le nom du fichier exécutable, Launcher redirige l’utilisateur vers cette adresse ;
      • Si l’URL du site Web n’est pas configurée dans le Compte éditeur sous le nom du fichier exécutable, Launcher démarre le jeu sans l’argument common_payload.

Lorsque l’utilisateur clique sur un lien redirigeant vers Launcher depuis le site Web et que Launcher est déjà installé, le flux suivant se produit :

  1. L’utilisateur ouvre le site Web.
  2. L’utilisateur clique sur un lien redirigeant vers Launcher.
  3. Launcher enregistre la valeur des paramètres payload, common_payload et expires_jn issues de l’URL.
  4. L’utilisateur clique sur Play dans Launcher.
  5. Launcher vérifie la présence et l’expiration des paramètres payload et common_payload :
    • Si la vérification réussit, Launcher démarre le jeu avec les arguments obtenus des paramètres payload et common_payload.
    • Si la vérification échoue :
      • Si l’URL du site Web est configurée dans le Compte éditeur sous le nom du fichier exécutable, Launcher redirige l’utilisateur vers cette adresse ;
      • Si l’URL du site Web n’est pas configurée dans le Compte éditeur sous le nom du fichier exécutable, Launcher démarre le jeu sans les arguments payload et common_payload.

Lorsque l’utilisateur lance le jeu à partir de Launcher, le flux suivant se produit :

  1. L’utilisateur ouvre Launcher.
  2. L’utilisateur clique sur Play dans Launcher.
  3. Launcher vérifie la présence et l’expiration des paramètres payload et common_payload :
    • Si la vérification réussit, Launcher démarre le jeu avec les arguments obtenus à partir des paramètres payload et common_payload.
    • Si la vérification échoue :
      • Si une URL est spécifiée dans les paramètres du Compte éditeur, Launcher redirige l’utilisateur vers cette URL ;
      • Si l’URL du site Web est configurée dans le Compte éditeur sous le nom du fichier exécutable, Launcher redirige l’utilisateur vers cette adresse ;
      • Si l’URL du site Web n’est pas configurée dans le Compte éditeur sous le nom du fichier exécutable, Launcher redirige l’utilisateur vers cette adresse, et Launcher démarre le jeu sans les arguments payload et common_payload.

Comment configurer

Pour configurer l’intégration fluide Web-jeu :

  1. Configurez les paramètres dans le Compte éditeur.
  2. Ajoutez un lien vers votre site Web.
  3. Implémentez le traitement des données reçues dans le paramètre payload du côté du jeu.

Configuration des paramètres du Compte éditeur

  1. Ouvrez votre projet dans le Compte éditeur.
  2. Dans le menu latéral, cliquez sur Launcher.
  3. Trouvez Launcher sur le dashboard, puis cliquez sur Edit launcher.
  4. Dans la section Games, cliquez sur Set up à droite de votre jeu.
  5. Accédez à la section Builds.
  6. Accédez à l'onglet Executable files.
  7. Ajoutez l'argument --x_payload_url au champ Executable file name pour chaque système d'exploitation. Dans la valeur de l’argument, passez l’URL du site Web où se trouve le lien ou le bouton. La valeur doit être codée en Base64.

Par exemple, si le nom du fichier exécutable est game.exe et que l’URL du site Web du jeu est http://example.com/start_play, entrez game.exe –x_payload_url aHR0cDovL2V4YW1wbGUuY29tL3N0YXJ0X3BsYXk= dans le champ Executable file name.

Note
Une fois ce réglage effectué, les utilisateurs ne pourront pas lancer le jeu sans recevoir les données du site Web du jeu. Si les données sont absentes, l’utilisateur est redirigé vers le site Web du jeu pour les obtenir.

Ajoutez un lien ou un bouton sur votre site Web qui ouvrira l’URL dans le format xl-<launcher-id>://game/<game-id>?payload=<payload>&common_payload=<common_payload>&expires_in=<expires_in>, où :

  • <launcher-id> et <game-id> — identifiants du Launcher et du jeu, qui se trouvent dans l’URL de votre Compte éditeur : https://publisher.xsolla.com/<merchant-id>/projects/<project-id>/new-launcher/<launcher-id>/game/<game-id>.
  • <payload> — données qui doivent être passées au jeu.
  • <common_payload> — données utilisateur qui doivent être passées à Launcher et qui sont communes à tous les jeux.
  • <expires_in> — délai d’expiration des données passées dans les paramètres payload et common_payload au format Unix time en millisecondes.
Note
Nous vous recommandons de crypter les données selon la norme Base64 ou urlencoder.org pour un passage sécurisé en tant que paramètres d’adresse URL.
Copy
Full screen
Small screen


function getAuthToken() {
    return 'YOUR DATA HERE';
}

function getDeeplink(launcherID, gameID) {
    const encodedPayload = btoa(getAuthToken());
    const expiresIn = new Date();
    expiresIn.setHours(expiresIn.getHours() + 1); // Payload data will be fresh for 1 hour
 return `xl-${launcherID}://game/${gameID}?payload=${encodedPayload}&expires_in=${expiresIn.getTime()}`;
}

// Put that `href` to button or link address
const href = getDeeplink(123, 4567);

Intégration du côté du jeu

Launcher passe les données reçues dans le paramètre payload en tant que valeur de l’argument de ligne de commande –xsolla-payload, comme illustré dans l’exemple ci-dessous. Il vérifie également la présence et la durée de vie des données passées dans le paramètre common_payload et les passe en tant que valeur de l’argument de ligne de commande –xsolla-common-payload, comme illustré dans l’exemple ci-dessous.

Exemple de démarrage d’un jeu lorsque les données sont cryptées selon la norme Base64 :

Copy
Full screen
Small screen
    game.exe ---xsolla-payload <payload> --xsolla-common-payload <common_payload> WU9VUiBEQVRBIEhFUkU=
    
    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: 22 Janvier 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 !