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 :
- L’utilisateur ouvre le site Web.
- L’utilisateur suit le lien vers l’installateur de Launcher.
- L’utilisateur télécharge l’installateur de Launcher via un lien contenant un mot de passe unique.
- L’utilisateur installe Launcher.
- Launcher reçoit la valeur du paramètre
common_payload
via le mot de passe unique. - L’utilisateur clique sur Play dans Launcher.
- 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
.
- Si la vérification réussit, Launcher démarre le jeu avec les arguments obtenus à partir du paramètre
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 :
- L’utilisateur ouvre le site Web.
- L’utilisateur clique sur un lien redirigeant vers Launcher.
- Launcher enregistre la valeur des paramètres
payload
,common_payload
etexpires_jn
issues de l’URL. - L’utilisateur clique sur Play dans Launcher.
- Launcher vérifie la présence et l’expiration des paramètres
payload
etcommon_payload
:- Si la vérification réussit, Launcher démarre le jeu avec les arguments obtenus des paramètres
payload
etcommon_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
etcommon_payload
.
- Si la vérification réussit, Launcher démarre le jeu avec les arguments obtenus des paramètres
Lorsque l’utilisateur lance le jeu à partir de Launcher, le flux suivant se produit :
- L’utilisateur ouvre Launcher.
- L’utilisateur clique sur Play dans Launcher.
- Launcher vérifie la présence et l’expiration des paramètres
payload
etcommon_payload
:- Si la vérification réussit, Launcher démarre le jeu avec les arguments obtenus à partir des paramètres
payload
etcommon_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
etcommon_payload
.
- Si la vérification réussit, Launcher démarre le jeu avec les arguments obtenus à partir des paramètres
Comment configurer
Pour configurer l’intégration fluide Web-jeu :
- Configurez les paramètres dans le Compte éditeur.
- Ajoutez un lien vers votre site Web.
- 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
- Ouvrez votre projet dans le Compte éditeur.
- Dans le menu latéral, cliquez sur Launcher.
- Trouvez Launcher sur le dashboard, puis cliquez sur Edit launcher.
- Dans la section Games, cliquez sur Set up à droite de votre jeu.
- Accédez à la section Builds.
- Accédez à l'onglet Executable files.
- 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.
Ajout d'un lien vers le site Web
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ètrespayload
etcommon_payload
au format Unix time en millisecondes.
- javascript
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 :
game.exe ---xsolla-payload <payload> --xsolla-common-payload <common_payload> WU9VUiBEQVRBIEhFUkU=
Faute de frappe ou autre erreur dans le texte ? Sélectionnez le texte concerné et appuyez sur Ctrl+Entée.