查询服务器时间
查询服务器的当前时间。
URL确认
API api.playnanoo.com 域名 使用。
API信息
- URL:
https://api.playnanoo.com/server_time/call - Method:
POST - 需要认证: 是
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| udid | string | 必填 | 设备 ID |
响应数据
| 字段 | 类型 | 说明 |
|---|---|---|
| code | number | 响应 代码 |
| message | string | 响应 消息 |
| value | object | 服务器时间 信息 |
value 对象
| 字段 | 类型 | 说明 |
|---|---|---|
| timezone | string | 时区 |
| timestamp | number | Unix时间戳 |
| ISO_8601_date | string | ISO 8601格式日期 |
| date | string | 日期 (YYYY-MM-DD) |
| year | string | 年 |
| month | string | 月 |
| day | string | 日 |
| hour | string | 时 |
| minute | string | 分 |
| second | string | 秒 |
代码示例
void UMyGame::GetServerTime()
{
// 플레이어 정보가 포함된 요청 바디 생성
TSharedPtr<FJsonObject> Body = FPlayNANOOHelper::CreateRequestBody();
Body->SetStringField(TEXT("udid"), DeviceId);
// JSON 문자열 변환
FString JsonBody = FPlayNANOOHelper::ToJsonString(Body);
// HTTP 요청
TSharedRef<IHttpRequest> Request = FHttpModule::Get().CreateRequest();
Request->SetURL(TEXT("https://api.playnanoo.com/server_time/call"));
Request->SetVerb(TEXT("POST"));
FPlayNANOOHelper::SetCommonHeaders(Request, true); // 인증 토큰 포함
Request->SetContentAsString(JsonBody);
Request->OnProcessRequestComplete().BindLambda(
[](FHttpRequestPtr Req, FHttpResponsePtr Res, bool bSuccess)
{
if (bSuccess && Res.IsValid())
{
TSharedPtr<FJsonObject> JsonObject;
TSharedRef<TJsonReader<>> Reader = TJsonReaderFactory<>::Create(Res->GetContentAsString());
if (FJsonSerializer::Deserialize(Reader, JsonObject))
{
const TSharedPtr<FJsonObject>* ValueObject;
if (JsonObject->TryGetObjectField(TEXT("value"), ValueObject))
{
FString Date = (*ValueObject)->GetStringField(TEXT("date"));
FString Hour = (*ValueObject)->GetStringField(TEXT("hour"));
FString Minute = (*ValueObject)->GetStringField(TEXT("minute"));
FString Second = (*ValueObject)->GetStringField(TEXT("second"));
UE_LOG(LogTemp, Log, TEXT("서버 시간: %s %s:%s:%s"), *Date, *Hour, *Minute, *Second);
}
}
}
});
Request->ProcessRequest();
}
服务器时间 使用
服务器时间可用于确认游戏内事件开始/结束时间、时间戳验证等。为防止客户端时间操控,重要的时间检查应始终以服务器时间为准。
每分钟请求限制
每个设备和应用可能有每分钟请求次数限制。请避免过度调用,仅在需要时查询服务器时间。