# PC SDK Unity示例
这是说明Unity引擎游戏中适用STOVE PC SDK 2.0方法的模仿示例。
在进行示例例题之前,应事先设置STOVE客户端 (opens new window),并参考SDK开发环境准备,提前发放Appkey、Appsecret、Game Id。示例推荐Unity 2017以上,VisualStudio 2017以上版本。
# 下载示例用HelloStove项目
从以下链接下载 HelloStove 项目 。
下载完成后解压缩。 此项目尚未绑定 PC SDK。现在开始进行PC SDK对接。
# 构建工程环境
- 通过STOVEPC SDK 下载页面下载最新版本的Unity(C#)分发文件(以下标记为
StovePCSDK_NET
)。
解压缩StovePCSDK_NET
后,删除x86(32 位)和x86_64(64 位)两个文件夹中的一个,然后将StovePCSDK
文件夹复制到HelloStove_Unity
项目的 Assets 文件夹中。如果同时存在 x86和x86_64 文件夹,可能会发生出包错误。
# 1) 执行场景( Scene)
在Unity Editor中打开HellowStove_Unity项目。 单击Unity Editor工具栏上的 Play 按钮。 如果所有设置均无异常,则游戏视图将运行场景。 在Unity Editor工具栏上再次点击Play按钮,结束场景运行。
# 2) 构建
单击File>Build Setting菜单。
在Build Settings窗口中点击Build按钮。
在Build Window窗口中,选择要保存Build结果的文件夹。
在文件名栏中输入HelloStove
,然后单击保存按钮。
如果所有设置均无异常,则可以正常创建,不会出现编译错误。
# 3) 准备脚本
打开Assets>StovePCSDK>Scenes>Scripts>StovePCSDKManager.cs文件。
# 4) StovePCConfig
打开Assets>StreamingAssets>Text>StovePCConfig.Unity.txt文件,填入Stove Studio (opens new window)事先发放的AppKey、AppSecret、GameId值后保存。
"YOUR_APP_KEY"、"YOUR_SECRET_KEY"、"YOUR_GAME_ID"必须变更为事先发放的数据。
如果不用入驻STOVE Studio的stove 帐户
登录STOVE客户端,调用Stove PC.Initialize
函数,则会发生 150 错误代码(sgup 初始化失败)。
# 初始化 SDK
要初始化 StovePCSDK_NET,请在StovePCConfig
和StovePCCallback
结构中填入数值,然后调用StovePC.Initialize
方法。
将以下代码片断写入ButtonInitialize_Click
方法 。
在未登录STOVE客户端的状态下调用
StovePC.Initialize
函数,会发生错误。
StovePCConfig config = new StovePCConfig
{
Env = this.Env,
AppKey = this.AppKey,
AppSecret = this.AppSecret,
GameId = this.GameId,
LogLevel = this.LogLevel,
LogPath = this.LogPath
};
this.callback = new StovePCCallback
{
OnError = new StovePCErrorDelegate(this.OnError),
OnInitializationComplete = new StovePCInitializationCompleteDelegate(this.OnInitializationComplete),
OnToken = new StovePCTokenDelegate(this.OnToken),
OnUser = new StovePCUserDelegate(this.OnUser)
};
sdkResult = StovePC.Initialize(config, callback);
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
填入正常调用StovePC.Initialize
函数时的回拨。
将以下代码片段写入OnInitialization Complete
方法 。
sb.AppendLine("OnInitializationComplete");
sb.AppendFormat(" - nothing");
2
# 退出SDK
停止使用STOVE服务后,若要整理使用中的资源,请调用StovePC.Uninitialize
方法。
将以下代码片断写入ButtonUninitialize_Click
方法 。
sdkResult = StovePC.Uninitialize();
# 获取用户信息
调用StovePC.GetUser
方法来获取登录的用户信息。
将以下代码片断写入ButtonGetUser_Click
方法 。
sdkResult = StovePC.GetUser();
填入正常调用GetUser
函数时的回拨。
将以下代码片断写入OnUser
方法 。
sb.AppendLine("OnUser");
sb.AppendFormat(" - user.MemberNo : {0}" + Environment.NewLine, user.MemberNo.ToString());
sb.AppendFormat(" - user.Nickname : {0}" + Environment.NewLine, user.Nickname);
sb.AppendFormat(" - user.GameUserId : {0}", user.GameUserId);
2
3
4
# 获取令牌信息
调用StovePC.GetToken
方法来获取登录用户的令牌信息。
将以下代码片断写入 ButtonGetToken_Click
方法 。
sdkResult = StovePC.GetToken();
令牌是什么? 登录STOVE客户端的用户会生成Access Token,游戏服务器可以将该Access Token传达给Stove认证服务器,进行登录用户的有效性验证。 关于Access Token的详细说明,请通过store.support@smilegate.com获得技术支援。
填入正常调用GetToken
函数时的回拨。
将以下代码片断写入OnToken
方法 。
sb.AppendLine("OnToken");
sb.AppendFormat(" - token.AccessToken : {0}", token.AccessToken);
2
# 出包和运行
保存您创建的脚本。 在Unity Editor中,单击File>Build & Run菜单。
将Sereen resolution字段值设置为1024 x 768项, 检查 Windowed 复选框。 点击Play!按钮。
设置为不同分辨率时,某些按钮可能无法正常显示。
如下图所示,请先检查RunCallback,然后依次点击"Load Config"按钮确认结果。
太棒了!
您成功完成了HelloStove示例。