# PC SDK Unity示例

这是说明Unity引擎游戏中适用STOVE PC SDK 2.0方法的模仿示例。

confirm 在进行示例例题之前,应事先设置STOVE客户端 (opens new window),并参考SDK开发环境准备,提前发放Appkey、Appsecret、Game Id。示例推荐Unity 2017以上,VisualStudio 2017以上版本。

# 下载示例用HelloStove项目

从以下链接下载 HelloStove 项目 。

下载完成后解压缩。 此项目尚未绑定 PC SDK。现在开始进行PC SDK对接。

# 构建工程环境

解压缩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按钮,结束场景运行。

Figure1

# 2) 构建

单击File>Build Setting菜单。
在Build Settings窗口中点击Build按钮。
在Build Window窗口中,选择要保存Build结果的文件夹。 在文件名栏中输入HelloStove,然后单击保存按钮。
如果所有设置均无异常,则可以正常创建,不会出现编译错误。

Figure1

# 3) 准备脚本

打开Assets>StovePCSDK>Scenes>Scripts>StovePCSDKManager.cs文件。

Figure1

# 4) StovePCConfig

打开Assets>StreamingAssets>Text>StovePCConfig.Unity.txt文件,填入Stove Studio (opens new window)事先发放的AppKey、AppSecret、GameId值后保存。

Figure1

confirm "YOUR_APP_KEY"、"YOUR_SECRET_KEY"、"YOUR_GAME_ID"必须变更为事先发放的数据。
如果不用入驻STOVE Studio的stove 帐户登录STOVE客户端,调用Stove PC.Initialize函数,则会发生 150 错误代码(sgup 初始化失败)。

# 初始化 SDK

要初始化 StovePCSDK_NET,请在StovePCConfigStovePCCallback结构中填入数值,然后调用StovePC.Initialize方法。 将以下代码片断写入ButtonInitialize_Click方法 。

confirm 在未登录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);
1
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");
1
2

# 退出SDK

停止使用STOVE服务后,若要整理使用中的资源,请调用StovePC.Uninitialize方法。
将以下代码片断写入ButtonUninitialize_Click方法 。

sdkResult = StovePC.Uninitialize();
1

# 获取用户信息

调用StovePC.GetUser方法来获取登录的用户信息。 将以下代码片断写入ButtonGetUser_Click 方法 。

sdkResult = StovePC.GetUser();
1

填入正常调用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);
1
2
3
4

# 获取令牌信息

调用StovePC.GetToken方法来获取登录用户的令牌信息。
将以下代码片断写入 ButtonGetToken_Click 方法 。

sdkResult = StovePC.GetToken();
1

confirm 令牌是什么? 登录STOVE客户端的用户会生成Access Token,游戏服务器可以将该Access Token传达给Stove认证服务器,进行登录用户的有效性验证。 关于Access Token的详细说明,请通过store.support@smilegate.com获得技术支援。

填入正常调用GetToken函数时的回拨。 将以下代码片断写入OnToken方法 。

sb.AppendLine("OnToken");
sb.AppendFormat(" - token.AccessToken : {0}", token.AccessToken);
1
2

# 出包和运行

保存您创建的脚本。 在Unity Editor中,单击File>Build & Run菜单。

Figure1

将Sereen resolution字段值设置为1024 x 768项, 检查 Windowed 复选框。 点击Play!按钮。

confirm 设置为不同分辨率时,某些按钮可能无法正常显示。

如下图所示,请先检查RunCallback,然后依次点击"Load Config"按钮确认结果。

Figure1

太棒了!
您成功完成了HelloStove示例。

Last Updated: 2023/11/22 13:25:27