通过应用程序启动器进行认证
如果使用艾克索拉启动器或Steam向用户交付应用程序,可以使用启动器的凭证自动认证用户身份。
详解
通过方法详解文档了解高级设置。
您可以使用艾克索拉启动器向用户交付应用程序及其更新。启动器包含一个内置的授权工具。如要避免重复输入用户名和密码,可设置通过启动器授权进入应用程序。
注意
要使用启动器,需配置登录管理器。不支持使用其他授权系统。
本SDK使用IGS API与商店进行交互。启动器使用其自己的API,所以本SDK不支持与启动器商店进行交互。
- 在您的应用程序中实现启动器授权逻辑。
- 创建应用程序编译版本并将其上传到启动器。
注:
关于启动器设置和应用程序编译版本上传的详细信息见集成指南。
实现通过启动器进行授权的逻辑
通过启动器在应用程序中进行授权的过程如下:
- 用户授权进入启动器。
- 用户安装并运行应用程序。
- 启动器运行该应用程序并通过命令行传入用户参数。授权令牌在
xsolla-login-token
参数中传递。 - 应用程序处理命令行参数并获取令牌。
- 应用程序验证收到的令牌。
- 应用程序在不显示授权页面的情况下自动完成用户授权。
该逻辑的实现示例见演示项目的W_LoginDemo
蓝图。
注:
获得的令牌用于供SDK方法打开游戏内商店、进行支付等。
创建应用程序编译版本
- 前往您的虚幻引擎项目。
- 确保SDK设置显示的是您在发布商帐户启动器设置(启动器 > 常规设置 > 身份认证)中指定的登录管理器项目ID。
- 在
Content Browser 中,打开用户授权Map,令牌在其中得到处理。 - 在主菜单中前往
Edit > Project Settings 。 - 前往
Project > Maps & Modes ,在Game Default Map 字段中选择之前打开的授权Map。
- 根据创建编译版本的目标平台在主菜单中前往
File > Package Project > Windows (64 bit) 或File > Package Project > Mac 。 - 在弹出窗口中,指定放置完成的编译版本的目录路径。
本文对您的有帮助吗?
感谢您的反馈!
我们会查看您的留言并运用它改进用户体验。本机用户认证允许玩家通过安装的Steam客户端进入您的应用程序。设置通过Steam进行本机用户认证后,还可向应用程序添加通过Steam进行支付的功能。
要设置本机用户认证:
- 在发布商帐户中设置通过Steam进行静默认证。
- 配置您的虚幻引擎项目。
- 配置事件处理。
- 确保通过Steam进行认证。
配置您的虚幻引擎项目
- 前往虚幻引擎项目的
Config
目录。 - 在
DefaultEngine.ini
文件中添加下方代码并在SteamDevAppId
参数中指定您的Steam应用ID。
Copy
[/Script/Engine.GameEngine]
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")
[OnlineSubsystem]
DefaultPlatformService=Steam
[OnlineSubsystemSteam]
bEnabled=true
SteamDevAppId=480
[/Script/OnlineSubsystemSteam.SteamNetDriver]
NetConnectionClassName="OnlineSubsystemSteam.SteamNetConnection"
- 在虚幻编辑器中打开项目。
- 前往
Settings > Plugins > Online Platform 。 - 在
Online Subsystem Steam 模块,勾选Enabled 复选框,然后单击Restart Now 按钮保存设置并重新加载虚幻编辑器。
配置事件处理
- 下图显示如何将节点添加至项目:
- 要通过Steam认证用户,应使用
GetSessionTicket
方法获取session ticket
。然后在调用AuthenticateWithSessionTicket
方法时传入收到的值。随后即可获得调用API时需使用的令牌。- 如要额外进行令牌验证,请添加
ValidateToken
方法回调(可选)。
确保通过Steam进行认证
- 创建适用于独立平台的虚幻引擎项目的编译文件。
- 启动Steam并登录。
- 启动您的应用程序。如果一切正确,将显示Steam弹出窗口。
本文对您的有帮助吗?
感谢您的反馈!
我们会查看您的留言并运用它改进用户体验。发现了错别字或其他内容错误? 请选择文本,然后按Ctrl+Enter。