본문으로 건너뛰기

토큰 저장

푸시 발송을 위한 토큰을 저장합니다.

URL 확인

이 API는 service-api.playnanoo.com 도메인을 사용합니다.

API 정보

  • URL: https://service-api.playnanoo.com/push/v20220701/save
  • Method: PUT
  • 인증 필요: 예

요청 파라미터

파라미터타입필수설명
tokenstring필수푸시 토큰 (FCM/APNS)
receive_ynstring필수푸시 메시지 수신 여부 ("Y" 또는 "N")
receive_night_ynstring필수야간 푸시 메시지 수신 여부 ("Y" 또는 "N")
야간 푸시

야간 푸시는 오후 09시부터 다음날 오전 08시까지의 푸시 메시지를 의미합니다.

응답 데이터

필드타입설명
Statusstring처리 결과 상태

코드 예제

void UMyGame::SavePushToken(const FString& PushToken, bool bReceive, bool bReceiveNight)
{
// 플레이어 정보가 포함된 요청 바디 생성
TSharedPtr<FJsonObject> Body = FPlayNANOOHelper::CreateRequestBody();
Body->SetStringField(TEXT("token"), PushToken);
Body->SetStringField(TEXT("receive_yn"), bReceive ? TEXT("Y") : TEXT("N"));
Body->SetStringField(TEXT("receive_night_yn"), bReceiveNight ? TEXT("Y") : TEXT("N"));

// JSON 문자열 변환
FString JsonBody = FPlayNANOOHelper::ToJsonString(Body);

// HTTP 요청
TSharedRef<IHttpRequest> Request = FHttpModule::Get().CreateRequest();
Request->SetURL(TEXT("https://service-api.playnanoo.com/push/v20220701/save"));
Request->SetVerb(TEXT("PUT"));
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))
{
FString Status = JsonObject->GetStringField(TEXT("Status"));
UE_LOG(LogTemp, Log, TEXT("푸시 토큰 저장 성공: %s"), *Status);
}
}
});

Request->ProcessRequest();
}
Firebase 설정 필요

Android에서 FCM을 사용하려면 Firebase 프로젝트 설정이 필요합니다.

APNS 설정 필요

iOS에서 APNS를 사용하려면 Apple Developer 계정에서 Push Notification 인증서 설정이 필요합니다.

수신 설정 관리

사용자 설정에 따라 receive_ynreceive_night_yn 값을 동적으로 변경하여 푸시 수신 설정을 관리할 수 있습니다.