diff --git a/en/release-notes-unreal.md b/en/release-notes-unreal.md index f7e185b94..f62fa9ee7 100644 --- a/en/release-notes-unreal.md +++ b/en/release-notes-unreal.md @@ -1,5 +1,31 @@ ## Game > Gamebase > Release Notes > Unreal +### 2.69.1 (2025. 3. 4.) +[SDK Download](https://static.toastoven.net/toastcloud/sdk_download/gamebase/v2.69.1/GamebaseSDK-Unreal.zip) + +#### 기능 추가 + +* (Windows) 런칭 정보에서 약관 정보를 확인할 수 있도록 추가했습니다. + * FGamebaseLaunchingInfo::FApp::FTermsService + +#### 기능 개선/변경 + +* API 호출 시 매개변수로 전달 받는 `UGamebaseJsonObject`를 `FGamebaseVariantMap(TMap<FName, FVariant>)`으로 변경했습니다. +* 내부 로직을 개선했습니다. + +#### 버그 수정 + +* (Windows) 게스트 로그인 시 UUID 발급 과정 오류로 인해 모두 동일한 값이 생성되는 문제를 수정했습니다. +* (Windows) Line IDP 로그인 시 region 설정이 동작하지 않는 문제를 수정했습니다. +* (Windows) 킥아웃 시 ServerPushAppKickOut 이벤트 발생과 팝업이 노출되지 않는 문제를 수정했습니다. +* (Windows) 심볼 생성 시 엔진의 Build Configuration이 Development가 아닌 경우 오류가 발생하는 문제를 수정했습니다. +* (Android) 환경에 따라 RegisterPush가 동작하지 않는 문제를 수정했습니다. + +#### 플랫폼별 변경 사항 + +* [Gamebase Android SDK 2.69.0](./release-notes-android/#2690-2025-01-21) +* [Gamebase iOS SDK 2.69.0](./release-notes-ios/#2690-2025-01-21) + ### 2.69.0 (2025. 2. 11.) [SDK Download](https://static.toastoven.net/toastcloud/sdk_download/gamebase/v2.69.0/GamebaseSDK-Unreal.zip) diff --git a/ja/release-notes-unreal.md b/ja/release-notes-unreal.md index 96b6e3582..0bcc90644 100644 --- a/ja/release-notes-unreal.md +++ b/ja/release-notes-unreal.md @@ -1,5 +1,31 @@ ## Game > Gamebase > リリースノート > Unreal +### 2.69.1 (2025. 3. 4.) +[SDK Download](https://static.toastoven.net/toastcloud/sdk_download/gamebase/v2.69.1/GamebaseSDK-Unreal.zip) + +#### 기능 추가 + +* (Windows) 런칭 정보에서 약관 정보를 확인할 수 있도록 추가했습니다. + * FGamebaseLaunchingInfo::FApp::FTermsService + +#### 기능 개선/변경 + +* API 호출 시 매개변수로 전달 받는 `UGamebaseJsonObject`를 `FGamebaseVariantMap(TMap<FName, FVariant>)`으로 변경했습니다. +* 내부 로직을 개선했습니다. + +#### 버그 수정 + +* (Windows) 게스트 로그인 시 UUID 발급 과정 오류로 인해 모두 동일한 값이 생성되는 문제를 수정했습니다. +* (Windows) Line IDP 로그인 시 region 설정이 동작하지 않는 문제를 수정했습니다. +* (Windows) 킥아웃 시 ServerPushAppKickOut 이벤트 발생과 팝업이 노출되지 않는 문제를 수정했습니다. +* (Windows) 심볼 생성 시 엔진의 Build Configuration이 Development가 아닌 경우 오류가 발생하는 문제를 수정했습니다. +* (Android) 환경에 따라 RegisterPush가 동작하지 않는 문제를 수정했습니다. + +#### 플랫폼별 변경 사항 + +* [Gamebase Android SDK 2.69.0](./release-notes-android/#2690-2025-01-21) +* [Gamebase iOS SDK 2.69.0](./release-notes-ios/#2690-2025-01-21) + ### 2.69.0 (2025. 2. 11.) [SDK Download](https://static.toastoven.net/toastcloud/sdk_download/gamebase/v2.69.0/GamebaseSDK-Unreal.zip) diff --git a/ko/release-notes-unreal.md b/ko/release-notes-unreal.md index 8485c685a..e9897e31a 100644 --- a/ko/release-notes-unreal.md +++ b/ko/release-notes-unreal.md @@ -1,20 +1,46 @@ ## Game > Gamebase > 릴리스 노트 > Unreal +### 2.69.1 (2025. 3. 4.) +[SDK Download](https://static.toastoven.net/toastcloud/sdk_download/gamebase/v2.69.1/GamebaseSDK-Unreal.zip) + +#### 기능 추가 + +* (Windows) 런칭 정보에서 약관 정보를 확인할 수 있도록 추가했습니다. + * FGamebaseLaunchingInfo::FApp::FTermsService + +#### 기능 개선/변경 + +* API 호출 시 매개변수로 전달 받는 `UGamebaseJsonObject`를 `FGamebaseVariantMap(TMap<FName, FVariant>)`으로 변경했습니다. +* 내부 로직을 개선했습니다. + +#### 버그 수정 + +* (Windows) 게스트 로그인 시 UUID 발급 과정 오류로 인해 모두 동일한 값이 생성되는 문제를 수정했습니다. +* (Windows) Line IDP 로그인 시 region 설정이 동작하지 않는 문제를 수정했습니다. +* (Windows) 킥아웃 시 ServerPushAppKickOut 이벤트 발생과 팝업이 노출되지 않는 문제를 수정했습니다. +* (Windows) 심볼 생성 시 엔진의 Build Configuration이 Development가 아닌 경우 오류가 발생하는 문제를 수정했습니다. +* (Android) 환경에 따라 RegisterPush가 동작하지 않는 문제를 수정했습니다. + +#### 플랫폼별 변경 사항 + +* [Gamebase Android SDK 2.69.0](./release-notes-android/#2690-2025-01-21) +* [Gamebase iOS SDK 2.69.0](./release-notes-ios/#2690-2025-01-21) + ### 2.69.0 (2025. 2. 11.) [SDK Download](https://static.toastoven.net/toastcloud/sdk_download/gamebase/v2.69.0/GamebaseSDK-Unreal.zip) #### 기능 추가 -* **RequestLastLoggedInProvider 비동기 API**를 추가했습니다. - * **GetLastLoggedInProvider() 동기 API**가 타이밍상 정상적인 값을 반환하지 못할 때가 있습니다. +* `RequestLastLoggedInProvider` 비동기 API를 추가했습니다. + * `GetLastLoggedInProvider` 동기 API가 타이밍상 정상적인 값을 반환하지 못할 때가 있습니다. * (Android) GPGS의 Auto Login 기능을 사용 시 GPGS 서버에서 데이터를 획득하는 시간이 필요하므로 Gamebase 초기화 직후 GetLastLoggedInProvider() 동기 API를 호출하면 정상적인 값을 획득할 수 없습니다. 이때 RequestLastLoggedInProvider(GamebaseDataCallback<String>) 비동기 API는 정확한 값을 보장합니다. Auto Login을 사용하지 않는다면 GetLastLoggedInProvider() 동기 API를 사용해도 무방합니다. * (Android) GPGS v2 인증 추가되었습니다. * 자세한 내용은 다음 링크를 참고하세요. * [Game > Gamebase > Unreal SDK 사용 가이드 > 시작하기 > Android Settings](./unreal-started/#android-settings) -* (Android) **FGamebaseWebViewConfiguration::CutoutColor 필드**를 추가했습니다. - * GamebaseWebView의 **FGamebaseWebViewConfiguration::bRenderOutSideSafeArea 필드**를 **false**로 설정한 경우, cutout 영역에 자동으로 padding 여백을 추가합니다. +* (Android) `FGamebaseWebViewConfiguration::CutoutColor` 필드를 추가했습니다. + * GamebaseWebView의 `FGamebaseWebViewConfiguration::bRenderOutSideSafeArea` 필드를 **false**로 설정한 경우, cutout 영역에 자동으로 padding 여백을 추가합니다. * CutoutColor 필드는 이렇게 추가된 padding 영역의 색을 설정할 수 있습니다. * RenderOutsideSafeArea 필드를 false로 설정했지만 CutoutColor 필드는 설정하지 않는 경우에는 웹 페이지 'body'의 'background-color' 값으로 자동으로 padding 영역의 색상을 결정합니다. diff --git a/ko/unreal-authentication.md b/ko/unreal-authentication.md index e278e26ac..af0d6062e 100644 --- a/ko/unreal-authentication.md +++ b/ko/unreal-authentication.md @@ -84,7 +84,7 @@ Supported Platforms ```cpp void LoginForLastLoggedInProvider(const FGamebaseAuthTokenDelegate& Callback); -void LoginForLastLoggedInProvider(const UGamebaseJsonObject& AdditionalInfo, const FGamebaseAuthTokenDelegate& Callback); +void LoginForLastLoggedInProvider(const FGamebaseVariantMap& AdditionalInfo, const FGamebaseAuthTokenDelegate& Callback); ``` **Example** @@ -181,7 +181,7 @@ void USample::Login() > [참고] > > 로그인할 때 추가 정보를 필요로 하는 IdP도 있습니다. -> 이러한 추가 정보들을 설정할 수 있게 void Login(const FString& ProviderName, const UGamebaseJsonObject& AdditionalInfo, const FGamebaseAuthTokenDelegate& Callback) API를 제공합니다. +> 이러한 추가 정보들을 설정할 수 있게 void Login(const FString& ProviderName, const FGamebaseVariantMap& AdditionalInfo, const FGamebaseAuthTokenDelegate& Callback) API를 제공합니다. >AdditionalInfo 파라미터에 필수 정보들을 dictionary 형태로 입력하시면 됩니다. >AdditionalInfo 값이 있을 경우에는 해당 값을 사용하고 null일 경우에는 [NHN Cloud Console](./oper-app/#authentication-information)에 등록된 값을 사용합니다. @@ -206,7 +206,7 @@ Supported Platforms ```cpp void Login(const FString& ProviderName, const FGamebaseAuthTokenDelegate& Callback); -void Login(const FString& ProviderName, const UGamebaseJsonObject& AdditionalInfo, const FGamebaseAuthTokenDelegate& Callback); +void Login(const FString& ProviderName, const FGamebaseVariantMap& AdditionalInfo, const FGamebaseAuthTokenDelegate& Callback); ``` **Example** @@ -243,11 +243,11 @@ void USample::Login() void USample::LoginWithAdditionalInfo() { - UGamebaseJsonObject* AdditionalInfo = NewObject(); - AdditionalInfo->SetStringField(TEXT("Key"), TEXT("Value")); + FGamebaseVariantMap AdditionalInfo; + AdditionalInfo.Add(TEXT("Key"), TEXT("Value")); UGamebaseSubsystem* Subsystem = UGameInstance::GetSubsystem(GetGameInstance()); - Subsystem->Login(GamebaseAuthProvider::Facebook, *AdditionalInfo, FGamebaseAuthTokenDelegate::CreateLambda([=](const FGamebaseAuthToken* AuthToken, const FGamebaseError* Error) + Subsystem->Login(GamebaseAuthProvider::Facebook, AdditionalInfo, FGamebaseAuthTokenDelegate::CreateLambda([=](const FGamebaseAuthToken* AuthToken, const FGamebaseError* Error) { if (Gamebase::IsSuccess(Error)) { @@ -296,7 +296,7 @@ Supported Platforms UNREAL_WINDOWS ```cpp -void Login(const UGamebaseJsonObject& CredentialInfo, const FGamebaseAuthTokenDelegate& Callback); +void Login(const FGamebaseVariantMap& CredentialInfo, const FGamebaseAuthTokenDelegate& Callback); ``` **Example** @@ -304,15 +304,15 @@ void Login(const UGamebaseJsonObject& CredentialInfo, const FGamebaseAuthTokenDe ```cpp void USample::LoginWithCredential() { - UGamebaseJsonObject* CredentialInfo = NewObject(); + FGamebaseVariantMap CredentialInfo; // google - //CredentialInfo->SetStringField(GamebaseAuthProviderCredential::ProviderName, GamebaseAuthProvider::Google); - //CredentialInfo->SetStringField(GamebaseAuthProviderCredential::AuthorizationCode, TEXT("google auchorization code")); + //CredentialInfo.Add(GamebaseAuthProviderCredential::ProviderName, GamebaseAuthProvider::Google); + //CredentialInfo.Add(GamebaseAuthProviderCredential::AuthorizationCode, TEXT("google auchorization code")); // facebook - CredentialInfo->SetStringField(GamebaseAuthProviderCredential::ProviderName, GamebaseAuthProvider::Facebook); - CredentialInfo->SetStringField(GamebaseAuthProviderCredential::AccessToken, TEXT("facebook access token")); + CredentialInfo.Add(GamebaseAuthProviderCredential::ProviderName, GamebaseAuthProvider::Facebook); + CredentialInfo.Add(GamebaseAuthProviderCredential::AccessToken, TEXT("facebook access token")); UGamebaseSubsystem* Subsystem = UGameInstance::GetSubsystem(GetGameInstance()); Subsystem->Login(*CredentialInfo, FGamebaseAuthTokenDelegate::CreateLambda([=](const FGamebaseAuthToken* AuthToken, const FGamebaseError* Error) @@ -495,7 +495,7 @@ Supported Platforms ```cpp void AddMapping(const FString& ProviderName, const FGamebaseAuthTokenDelegate& Callback); -void AddMapping(const FString& ProviderName, const UGamebaseJsonObject& AdditionalInfo, const FGamebaseAuthTokenDelegate& Callback) +void AddMapping(const FString& ProviderName, const FGamebaseVariantMap& AdditionalInfo, const FGamebaseAuthTokenDelegate& Callback) ``` **Example** @@ -549,7 +549,7 @@ Supported Platforms UNREAL_IOS ```cpp -void AddMapping(const UGamebaseJsonObject& CredentialInfo, const FGamebaseAuthTokenDelegate& Callback); +void AddMapping(const FGamebaseVariantMap& CredentialInfo, const FGamebaseAuthTokenDelegate& Callback); ``` **Example** @@ -557,15 +557,15 @@ void AddMapping(const UGamebaseJsonObject& CredentialInfo, const FGamebaseAuthTo ```cpp void USample::AddMappingWithCredential() { - UGamebaseJsonObject* CredentialInfo = NewObject(); + FGamebaseVariantMap CredentialInfo; // google - //CredentialInfo->SetStringField(GamebaseAuthProviderCredential::ProviderName, GamebaseAuthProvider::Google); - //CredentialInfo->SetStringField(GamebaseAuthProviderCredential::AuthorizationCode, TEXT("google auchorization code")); + //CredentialInfo.Add(GamebaseAuthProviderCredential::ProviderName, GamebaseAuthProvider::Google); + //CredentialInfo.Add(GamebaseAuthProviderCredential::AuthorizationCode, TEXT("google auchorization code")); // facebook - CredentialInfo->SetStringField(GamebaseAuthProviderCredential::ProviderName, GamebaseAuthProvider::Facebook); - CredentialInfo->SetStringField(GamebaseAuthProviderCredential::AccessToken, TEXT("facebook access token")); + CredentialInfo.Add(GamebaseAuthProviderCredential::ProviderName, GamebaseAuthProvider::Facebook); + CredentialInfo.Add(GamebaseAuthProviderCredential::AccessToken, TEXT("facebook access token")); UGamebaseSubsystem* Subsystem = UGameInstance::GetSubsystem(GetGameInstance()); Subsystem->AddMapping(*CredentialInfo, FGamebaseAuthTokenDelegate::CreateLambda([=](const FGamebaseAuthToken* AuthToken, const FGamebaseError* Error) @@ -596,8 +596,8 @@ void AddMappingForcibly(const FGamebaseForcingMappingTicket& ForcingMappingTicke // Legacy API void AddMappingForcibly(const FString& ProviderName, const FString& ForcingMappingKey, const FGamebaseAuthTokenDelegate& Callback); -void AddMappingForcibly(const FString& ProviderName, const FString& ForcingMappingKey, const UGamebaseJsonObject& AdditionalInfo, const FGamebaseAuthTokenDelegate& Callback); -void AddMappingForcibly(const UGamebaseJsonObject& CredentialInfo, const FString& ForcingMappingKey, const FGamebaseAuthTokenDelegate& Callback); +void AddMappingForcibly(const FString& ProviderName, const FString& ForcingMappingKey, const FGamebaseVariantMap& AdditionalInfo, const FGamebaseAuthTokenDelegate& Callback); +void AddMappingForcibly(const FGamebaseVariantMap& CredentialInfo, const FString& ForcingMappingKey, const FGamebaseAuthTokenDelegate& Callback); ``` **Example** diff --git a/ko/unreal-etc.md b/ko/unreal-etc.md index 23c932ed7..d0c911022 100644 --- a/ko/unreal-etc.md +++ b/ko/unreal-etc.md @@ -405,8 +405,8 @@ void USample::ProcessIdPRevoked(const FGamebaseEventIdPRevokedData& Data) // 현재 사용 중지된 IdP로 로그인되어 있고, 사용 중지된 IdP 외에 다른 IdP가 매핑되어 있는 경우를 의미합니다. // 유저가 authMappingList 중 다시 로그인할 IdP를 선택하도록 하고, 선택한 IdP로 로그인한 뒤에는 사용 중지된 IdP의 연동을 해제해 주세요. auto SelectedIdP = "유저가 선택한 IdP"; - auto AdditionalInfo = NewObject(); - AdditionalInfo->SetBoolField(GamebaseAuthProviderCredential::IgnoreAlreadyLoggedIn, true); + FGamebaseVariantMap AdditionalInfo; + AdditionalInfo.Add(GamebaseAuthProviderCredential::IgnoreAlreadyLoggedIn, true); Subsystem->Login(SelectedIdP, *AdditionalInfo, FGamebaseAuthTokenDelegate::CreateLambda([=](const FGamebaseAuthToken* AuthToken, const FGamebaseError* Error) { diff --git a/ko/unreal-ui.md b/ko/unreal-ui.md index e0fd3b93c..6d03c0644 100644 --- a/ko/unreal-ui.md +++ b/ko/unreal-ui.md @@ -435,7 +435,7 @@ void USample::ShowWebView(const FString& Url) | CloseButtonImageResource | ID of resource | 닫기 버튼 이미지 | | bEnableFixedFontSize | true or false | 약관 창의 글자 크기 고정 여부 결정
**default**: false
**Android에 한함** | | bRenderOutSideSafeArea | true or false | SafeArea를 무시하고 Cutout 영역에도 렌더링
**default**: false
**Android에 한함** | -| CutoutColor | TOptional | SafeArea 밖의 Cutout 영역 바탕 색상
**Android에 한함** | +| CutoutColor | TOptional<FColor> | SafeArea 밖의 Cutout 영역 바탕 색상
**Android에 한함** | > [TIP] > diff --git a/zh/release-notes-unreal.md b/zh/release-notes-unreal.md index 48a279cd4..6a57c846a 100644 --- a/zh/release-notes-unreal.md +++ b/zh/release-notes-unreal.md @@ -1,5 +1,31 @@ ## Game > Gamebase > Release Notes > Unreal +### 2.69.1 (2025. 3. 4.) +[SDK Download](https://static.toastoven.net/toastcloud/sdk_download/gamebase/v2.69.1/GamebaseSDK-Unreal.zip) + +#### 기능 추가 + +* (Windows) 런칭 정보에서 약관 정보를 확인할 수 있도록 추가했습니다. + * FGamebaseLaunchingInfo::FApp::FTermsService + +#### 기능 개선/변경 + +* API 호출 시 매개변수로 전달 받는 `UGamebaseJsonObject`를 `FGamebaseVariantMap(TMap<FName, FVariant>)`으로 변경했습니다. +* 내부 로직을 개선했습니다. + +#### 버그 수정 + +* (Windows) 게스트 로그인 시 UUID 발급 과정 오류로 인해 모두 동일한 값이 생성되는 문제를 수정했습니다. +* (Windows) Line IDP 로그인 시 region 설정이 동작하지 않는 문제를 수정했습니다. +* (Windows) 킥아웃 시 ServerPushAppKickOut 이벤트 발생과 팝업이 노출되지 않는 문제를 수정했습니다. +* (Windows) 심볼 생성 시 엔진의 Build Configuration이 Development가 아닌 경우 오류가 발생하는 문제를 수정했습니다. +* (Android) 환경에 따라 RegisterPush가 동작하지 않는 문제를 수정했습니다. + +#### 플랫폼별 변경 사항 + +* [Gamebase Android SDK 2.69.0](./release-notes-android/#2690-2025-01-21) +* [Gamebase iOS SDK 2.69.0](./release-notes-ios/#2690-2025-01-21) + ### 2.69.0 (2025. 2. 11.) [SDK Download](https://static.toastoven.net/toastcloud/sdk_download/gamebase/v2.69.0/GamebaseSDK-Unreal.zip)