编程快速入门
在本快速入门指南中,您将了解:
- 如何在编程中进行
PgosSDK
的基本配置。 - 如何在编程中使用一些基本的PGOS服务。(临时账号和玩家认证)
我们将按照以下流程为您详细介绍:
- 从门户网站获取您游戏的开发配置。
- 在您的游戏项目中进行编程。
- 创建PGOS服务并初始化PGOS配置。
- 使用临时账号服务进行临时账号登录。
- 使用玩家认证服务登录PGOS进行PGOS身份验证。
1. 获取开发配置
在执行此操作之前,请确保您已在 PGOS Web Portal 中拥有开发者账号和游戏。之后,您可以登录门户网站获取游戏所需的配置:
1.1 进入PGOS控制台
1.2 获取游戏 ID 和游戏区服 ID
1.3 获取 Secret Key
点击setting链接,切换到 Secret Key 标签页,获取游戏客户端和游戏服务器的 Secret Key。
2. 游戏项目中的编程
以下是使用PGOS进行编程的一般流程,也是调用PGOS API的顺序
For game client:
graph LR A(CreatePGOS) -->B[InitConfig] B --> C[LoginPGOS] C -.-> D[Call PGOS APIs in Game Client] D -.-> E(LogoutPGOS) E -.-> F(DestroyPGOS)For game server:
graph LR A(CreatePGOS) -->B[InitConfig] B -.-> C[Call PGOS APIs in Game Server] C -.-> D(DestroyPGOS)
2.1 使用C# API进行编程
以下以游戏客户端代码为例,演示如何快速开始使用PGOS C# API进行编程:
2.1.1 创建和初始化 PGOS
请在游戏项目的适当位置添加以下代码:
using Pgos;
void StartupPGOS()
{
// Init PGOS client or server SDK. // You must create PGOS service before using PGOS service.
PgosClientSDK.Get().CreatePGOS();
/* PgosServerSDK.Get().CreatePGOS(); */
var pgosClient = PgosClientSDK.Get().GetClientSDKAPI();
Dictionary<string, string> cfg = new Dictionary<string, string>();
cfg.Add("secret_key", "Your Client Secret Key");
cfg.Add("title_id", "Your Title ID");
pgosClient.InitConfig(cfg);
}
在使用任何 PGOS 服务之前,请在主线程中调用 CreatePGOS()
函数。
如果可能的话,请在进程关闭期间于主线程中调用 DestroyPGOS()
函数。
有关 PGOS 配置的更多详细信息,您可以参考配置 PgosSDK。
2.1.2 临时账号登录
请将以下代码添加到游戏项目的适当位置,仅在游戏客户端中有效:
using Pgos;
void LoginFakeAccount()
{
// Get business module from PGOS client SDK
var fas = PgosClientSDK.Get().GetFakeAccountAPI();
// Login for Fake Account System (Need only for PGOS client SDK) provide by PGOS
string myAccount = "SomeAccountString"; // It can be made to support getting from the input.
fas.Login(myAccount, (PgosResult ret, Pgos.Client.FasLoginInfo data) => {
Debug.Log("FAS AutoLogin ret: " + ret.err_code + ", msg: " + ret.msg);
if (ret.err_code == 0 && data != null)
{
accountOpenID = data.open_id;
accountToken = data.token;
}
});
}
2.1.3 进行 PGOS 身份验证
将以下代码添加到游戏项目的适当位置,仅在游戏客户端中生效:
using Pgos;
// After successful account login
void LoginPGOS()
{
// Login to PGOS
var playerAuthAPI = PgosClientSDK.Get().GetPlayerAuthAPI();
Pgos.Client.LoginPGOSParams loginParams = new Pgos.Client.LoginPGOSParams();
loginParams.account_provider = (Int32)AccountProvider.FAS;
loginParams.account_open_id = this.accountOpenID;
loginParams.account_token = this.accountToken;
loginParams.title_region_id = "region_id_to_login";
playerAuthAPI.LoginPGOS(loginParams, (PgosResult ret, Pgos.Client.AuthenticationInfo data) =>
{
if (ret.err_code == 0)
{
Debug.Log("LoginPGOS success: player id=" + data.player_id);
} else
{
Debug.Log("LoginPGOS failed: ret=" + ret.err_code + ", msg=" + ret.msg);
}
});
}
有关 PGOS PlayerAuth 的更多详细信息,您可以参考 PlayerAuth。
- 现在编程工作已经完成,请构建并运行您的游戏:
- 如果一切正常,您将看到成功的日志记录。
- 如果出现问题,请查看消息以了解发生了什么。
有关调用 PGOS API 的更多详细信息,请参阅调用 PgosSDK API。
有关 PGOS 配置的更多详细信息,请参阅配置 PgosSDK。
有关 PGOS FAS 的更多详细信息,请参阅使用 FAS.
有关 PGOS PlayerAuth 的更多详细信息,请参阅PlayerAuth。