无缝网页至游戏集成
运行机制
通过无缝网页至游戏集成,您可以配置在URL参数中从网站发送数据到游戏。您可以传输用户的授权令牌、营销活动数据或其他信息。
用户流程
以下是实现无缝网页至游戏集成的用户场景:
- 在网站上点击跳转到启动器的链接。
- 从启动器中启动游戏。
用户在网站上点击跳转到启动器的链接时:
- 用户打开网站。
- 用户点击启动器的链接。
- 启动器保存URL中
payload
的值。 - 用户在启动器中点击开始游戏。
- 启动器检查
payload
参数的存在和过期情况:- 如检查成功,启动器使用从
payload
参数中获取的实参启动游戏。 - 如检查失败:
- 如发布商帐户的URL设置中指定了URL,启动器将用户重定向到该URL。
- 如发布商帐户的设置中未指定URL,启动器将启动游戏。
- 如检查成功,启动器使用从
用户从启动器中启动游戏时,发生以下过程:
- 用户打开启动器。
- 用户在启动器中点击开始游戏。
- 启动器检查
payload
参数的存在和过期情况:- 如检查成功,启动器使用从
payload
参数中获取的实参启动游戏,该参数是上次启动器从网站链接启动时获取的。 - 如检查失败:
- 如发布商帐户的设置中指定了URL,启动器将用户重定向到该URL。
- 如发布商帐户的设置中未指定URL,启动器将启动游戏。
- 如检查成功,启动器使用从
如何获取
要设置无缝网页至游戏集成:
在发布商帐户中配置设置
- 在发布商帐户中打开您的项目。
- 在侧边栏中单击启动器。
- 在仪表板中找到所需启动器,然后单击编辑启动器。
- 在游戏部分,单击游戏右边的设置。
- 前往编译版本部分。
- 前往可执行文件选项卡。
- 在可执行文件名称字段中为各操作系统添加
--x_payload_url
参数。在参数之中传入链接或按钮所在网站的URL。该值应使用Base64加密。
例如,如果可执行文件名称是game.exe
,游戏网站URL是http://example.com/start_play
,则在可执行文件名称字段中输入game.exe --x_payload_url aHR0cDovL2V4YW1wbGUuY29tL3N0YXJ0X3BsYXk=
。
注:
完成该设置后,用户将无法在未收到游戏网站发送的数据的情况下启动游戏。如缺少该数据,用户将被重定向到游戏网站获取该数据。
在网站上添加链接
在网站上添加将打开xl-<launcher-id>://game/<game-id>?payload=<payload>&expires_in=<expires_in>
格式URL的链接或按钮,其中
<launcher-id>
和<game-id>
— 可在发布商帐户的URL中找到的启动器和游戏的ID:https://publisher.xsolla.com/<merchant-id>/projects/<project-id>/new-launcher/<launcher-id>/game/<game-id>
。<payload>
— 需传给游戏的数据。
注:
建议使用Base64或urlencoder.org加密数据以安全通过URL参数进行传输。
<expires_in>
— payload参数中传入的数据过期时间,格式为Unix时间。
Copy
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);
游戏侧集成
游戏在--xsolla-payload
参数中收到的数据。游戏对数据的解密实现方式取决于所选加密方式。
使用Base64加密数据时启动游戏的示例:
Copy
game.exe --xsolla-payload WU9VUiBEQVRBIEhFUkU=
本文对您的有帮助吗?
感谢您的反馈!
我们会查看您的留言并运用它改进用户体验。为此页面评分
为此页面评分
不想回答
感谢您的反馈!
发现了错别字或其他内容错误? 请选择文本,然后按Ctrl+Enter。