配置 PgosSDK 插件
PgosSDK
有多个配置选项,游戏可以通过虚幻编辑器设置或代码来设置这些选项。如果同一个配置选项同时通过这两种方式设置,那么通过代码设置的值将会覆盖通过编辑器设置的值。
以下是这些配置选项的说明:
- title_id:从网页控制台获取的游戏 ID。
- log_level:
PgosSDK
日志的最低抑制级别。0 表示 Info,1 表示 Warn,2 表示 Error,3 表示 No Log。 - secret_key:从网页控制台获取的客户端 Secret Key。(仅限客户端)
- account_provider:0 表示 FAS,1 表示 INTL,2 表示 MSDK,3 表示 WeGame,4 表示 PlayFab,5 表示 Steam,6 表示 Epic,7 表示 XboxLive,8 表示 PlayStationNetwork,9 表示 Nintendo。(仅限客户端)
- chat_msg_cache_max_bytes:聊天消息本地缓存的最大大小(以字节为单位)。(仅限客户端)
- title_region_config_data_cache_max_bytes:游戏区服配置数据本地缓存的最大大小(以字节为单位)。(仅限客户端)
- group_event_msg_filter:配置群组支持的事件消息类型,空(默认)表示支持所有类型。点击事件消息过滤了解详情。(仅限客户端)
1. 从编辑器设置进行配置
在虚幻引擎编辑器中,导航至 Settings->Project Settings->Plugins->PgosSDK,您可以看到如下设置:
您需要设置 Title ID
和 Secret Key
以使 PGOS 正常工作。如果您更改默认设置,DefaultGame.ini
将会被更新。
提示
强烈建议在设置面板中启用Encrypt Pak Ini Files
选项。这可以降低 Secret Key 泄露的风险。
设置路径:Settings->Project Settings -> Project -> Crypto。
2. 通过代码设置
2.1 使用 C++ 代码:
在使用 C++ 时,您可以使用 TMap
来存储配置并将其传递给 InitConfig
函数,字段名称可以参考上述的字段说明
。
// For client
TMap<FString, FString> ClientConfig;
ClientConfig.Add("title_id", "Your Title ID");
ClientConfig.Add("secret_key", "Your Client Secret Key");
IPgosSDKCpp::Get().GetClientAPI()->InitConfig(ClientConfig);
// For server
// No need to set a secret key for the server, whether it is an online DS or a local DS.
TMap<FString, FString> ServerConfig;
ServerConfig.Add("title_id", "Your Title ID");
IPgosSDKCpp::Get().GetServerAPI()->InitConfig(ClientConfig);
提示
建议不要在代码中硬编码原始 Secret Key,因为这会增加 Secret Key 泄露的风险。替代方案是硬编码一个 Secret Key 加密字符串,并在运行时进行解密。
const char* EncryptedSecretKey = "the ciphertext of the original secret key";
auto SecretKey = DecryptString(EncryptedSecretKey);
ServerConfig.Add("secret_key", SecretKey);
2.2 使用蓝图代码:
您也可以通过蓝图进行配置。让我们以客户端的设置代码为例:
提示
建议不要在代码中硬编码原始 Secret Key,因为这会增加 Secret Key 泄露的风险。替代方案是硬编码一个 Secret Key 加密字符串,并在运行时进行解密。