远程服务
Hive SDK 提供了一项远程服务,允许您通过 Hive 控制台远程执行原本应该在应用服务器上完成的任务。提供的远程服务如下。
- 远程配置
- 远程日志记录
远程配置¶
在操作应用程序时,应用服务器的 URL 可能会根据应用程序版本而有所不同。远程配置是一项功能,允许您在不访问应用服务器的情况下远程更改服务器 URL 设置。开发人员可以在 Hive 控制台中注册服务器 URL 信息,并按应用程序版本映射和管理服务器。
Note
远程配置是一项功能,允许您通过 Hive 控制台远程修改需要在应用服务器上更改的服务器设置,目前仅支持远程修改应用服务器 URL 的能力。其他远程配置功能将在未来添加。
应用服务器 URL 可以根据每个 AppID、应用版本和服务器进行不同的修改。要使用远程配置,您必须首先在 Hive 控制台中注册服务器 URL。
当您从应用客户端调用 Configuration.getMetaData
时,可以接收在 Hive 控制台中注册或修改的服务器 URL 作为字符串值。以下是调用服务器 URL 的示例代码。
API 参考: HiveConfiguration getMetaData
API 参考: Configuration:: getMetaData
API 参考: Configuration.getMetaData
import com.hive.Configuration;
import com.hive.ResultAPI;
// 数据键
val key = "game_server_url"
// 数据是否更新
val forceReload = false
// 元数据调用
Configuration.getMetaData(key, forceReload, object : Configuration.GetMetaDataListener {
override fun onGetMetaData(result: ResultAPI, data: String) {
if (result.isSuccess) {
// 调用成功
}
}
})
API 参考: HIVEConfiguration getMegaData
#include "HiveConfiguration.h"
// 数据键
FString Key = TEXT("game_server_url");
// 数据刷新状态
bool bForceReload = false;
// 元数据调用
FHiveConfiguration::GetMetaData(Key, bForceReload, FHiveConfigurationOnMetaDataDelegate::CreateLambda([this](const FHiveResultAPI& Result, const FString& Value) {
if (Result.IsSuccess()) {
// 调用成功
}
}));
使用缓存值¶
Hive SDK 在 初始化 过程中读取之前在 Hive 控制台中输入的服务器 URL,并将其缓存以供应用客户端使用。因此,为了在不更改 Hive 控制台中的服务器 URL 的情况下使用此缓存值来减少网络成本,当调用 Configuration.getMetaData
时,将 forceReload
设置为 false
。
如果您在 Hive 控制台中修改了服务器 URL,并需要在应用中反映此修改后的 URL,请在调用 Configuration.getMetaData
时将 forceReload
设置为 true
。这将删除应用客户端中现有的缓存服务器 URL,并从 Hive 服务器获取最新的服务器 URL。此调用模式通常在应用重新启动时使用。
远程日志记录¶
远程日志记录是一项功能,允许需要从应用服务器收集的日志通过 Hive SDK 远程收集。通过使用远程日志记录,您可以远程接收调试日志。例如,如果您在 Hive 控制台中注册了特定的应用用户,当与该用户相关的问题发生时,您可以在远程环境中检查调试日志,而不是在应用服务器上。
当您指定特定用户以收集日志时,应用程序日志和Hive 在该用户使用应用程序时积累的日志将被收集并加载到 Google Cloud。开发人员可以远程接收收集的日志,以进行监控和调试。要使用远程日志记录,您必须首先在 Hive 控制台中设置收集日志的用户。
它是如何工作的¶
远程日志记录操作如下进行。
目标用户设置¶
能够收集日志的用户是那些在至少运行一次应用程序后发出了DID的用户(即,Hive SDK 至少已初始化一次)。然而,如果在应用程序执行过程中在初始化 Hive SDK 之前发生了崩溃或错误,则无法从该用户收集日志。
收集日志¶
启用远程日志记录将收集 Hive 日志和应用日志,持续时间为在 Hive 控制台中输入的日志收集时间。
Warning
如果您收集的日志过多,资源可能会集中在网络流量和日志处理上,这可能会影响应用程序性能。建议尽量减少在循环中出现的重复日志,或将它们合并为一个日志进行收集。
Hive 日志¶
Hive 日志是默认在 Hive SDK 代码中收集的日志。它们无法被应用程序控制。
应用日志¶
应用日志是通过在应用客户端代码中插入Hive SDK提供的Logger.log
调用而获得的日志。您可以选择应用客户端代码中的所需位置来收集所需的值。在所需位置插入如下示例代码。
API 参考: Logger.log
API 参考: Logger::log
API 参考: Logger.i
API 参考: LogInterface.log
API 参考: Objective-C