Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions en/release-notes-unreal.md
Original file line number Diff line number Diff line change
@@ -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가 동작하지 않는 문제를 수정했습니다.

#### 플랫폼별 변경 사항
Comment on lines +3 to +24
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
### 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가 동작하지 않는 문제를 수정했습니다.
#### 플랫폼별 변경 사항
### 2.69.1 (March 4, 2025)
[SDK Download](https://static.toastoven.net/toastcloud/sdk_download/gamebase/v2.69.1/GamebaseSDK-Unreal.zip)
#### Added Features
* (Windows) Added terms and conditions information so you can check it in the launch information.
* FGamebaseLaunchingInfo::FApp::FTermsService
#### Feature Updates
* Changed `UGamebaseJsonObject` passed as a parameter when calling API to `FGamebaseVariantMap(TMap<FName, FVariant>)`.
* Improved internal logic.
#### Bug Fixes
* (Windows) Fixed an issue where all UUIDs generated during guest login were the same due to an error in the UUID issuance process.
* (Windows) Fixed an issue where region settings did not work when logging in to Line IDP.
* (Windows) Fixed an issue where the ServerPushAppKickOut event would not trigger and the popup would not be displayed when kicked out.
* (Windows) Fixed an issue where an error would occur when generating symbols if the engine's Build Configuration was not Development.
* (Android) Fixed an issue where RegisterPush would not work depending on the environment.
#### Platform-specific Changes


* [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)

Expand Down
26 changes: 26 additions & 0 deletions ja/release-notes-unreal.md
Original file line number Diff line number Diff line change
@@ -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)

Expand Down
34 changes: 30 additions & 4 deletions ko/release-notes-unreal.md
Original file line number Diff line number Diff line change
@@ -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 영역의 색상을 결정합니다.

Expand Down
42 changes: 21 additions & 21 deletions ko/unreal-authentication.md
Original file line number Diff line number Diff line change
Expand Up @@ -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**
Expand Down Expand Up @@ -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)에 등록된 값을 사용합니다.

Expand All @@ -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**
Expand Down Expand Up @@ -243,11 +243,11 @@ void USample::Login()

void USample::LoginWithAdditionalInfo()
{
UGamebaseJsonObject* AdditionalInfo = NewObject<UGamebaseJsonObject>();
AdditionalInfo->SetStringField(TEXT("Key"), TEXT("Value"));
FGamebaseVariantMap AdditionalInfo;
AdditionalInfo.Add(TEXT("Key"), TEXT("Value"));

UGamebaseSubsystem* Subsystem = UGameInstance::GetSubsystem<UGamebaseSubsystem>(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))
{
Expand Down Expand Up @@ -296,23 +296,23 @@ Supported Platforms
<span style="color:#F9D0C4; font-size: 10pt">■</span> UNREAL_WINDOWS

```cpp
void Login(const UGamebaseJsonObject& CredentialInfo, const FGamebaseAuthTokenDelegate& Callback);
void Login(const FGamebaseVariantMap& CredentialInfo, const FGamebaseAuthTokenDelegate& Callback);
```

**Example**

```cpp
void USample::LoginWithCredential()
{
UGamebaseJsonObject* CredentialInfo = NewObject<UGamebaseJsonObject>();
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<UGamebaseSubsystem>(GetGameInstance());
Subsystem->Login(*CredentialInfo, FGamebaseAuthTokenDelegate::CreateLambda([=](const FGamebaseAuthToken* AuthToken, const FGamebaseError* Error)
Expand Down Expand Up @@ -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**
Expand Down Expand Up @@ -549,23 +549,23 @@ Supported Platforms
<span style="color:#1D76DB; font-size: 10pt">■</span> UNREAL_IOS

```cpp
void AddMapping(const UGamebaseJsonObject& CredentialInfo, const FGamebaseAuthTokenDelegate& Callback);
void AddMapping(const FGamebaseVariantMap& CredentialInfo, const FGamebaseAuthTokenDelegate& Callback);
```

**Example**

```cpp
void USample::AddMappingWithCredential()
{
UGamebaseJsonObject* CredentialInfo = NewObject<UGamebaseJsonObject>();
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<UGamebaseSubsystem>(GetGameInstance());
Subsystem->AddMapping(*CredentialInfo, FGamebaseAuthTokenDelegate::CreateLambda([=](const FGamebaseAuthToken* AuthToken, const FGamebaseError* Error)
Expand Down Expand Up @@ -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**
Expand Down
4 changes: 2 additions & 2 deletions ko/unreal-etc.md
Original file line number Diff line number Diff line change
Expand Up @@ -405,8 +405,8 @@ void USample::ProcessIdPRevoked(const FGamebaseEventIdPRevokedData& Data)
// 현재 사용 중지된 IdP로 로그인되어 있고, 사용 중지된 IdP 외에 다른 IdP가 매핑되어 있는 경우를 의미합니다.
// 유저가 authMappingList 중 다시 로그인할 IdP를 선택하도록 하고, 선택한 IdP로 로그인한 뒤에는 사용 중지된 IdP의 연동을 해제해 주세요.
auto SelectedIdP = "유저가 선택한 IdP";
auto AdditionalInfo = NewObject<UGamebaseJsonObject>();
AdditionalInfo->SetBoolField(GamebaseAuthProviderCredential::IgnoreAlreadyLoggedIn, true);
FGamebaseVariantMap AdditionalInfo;
AdditionalInfo.Add(GamebaseAuthProviderCredential::IgnoreAlreadyLoggedIn, true);

Subsystem->Login(SelectedIdP, *AdditionalInfo, FGamebaseAuthTokenDelegate::CreateLambda([=](const FGamebaseAuthToken* AuthToken, const FGamebaseError* Error)
{
Expand Down
2 changes: 1 addition & 1 deletion ko/unreal-ui.md
Original file line number Diff line number Diff line change
Expand Up @@ -435,7 +435,7 @@ void USample::ShowWebView(const FString& Url)
| CloseButtonImageResource | ID of resource | 닫기 버튼 이미지 |
| bEnableFixedFontSize | true or false | 약관 창의 글자 크기 고정 여부 결정<br>**default**: false<br>**Android에 한함** |
| bRenderOutSideSafeArea | true or false | SafeArea를 무시하고 Cutout 영역에도 렌더링<br>**default**: false<br>**Android에 한함** |
| CutoutColor | TOptional<FColor> | SafeArea 밖의 Cutout 영역 바탕 색상<br>**Android에 한함** |
| CutoutColor | TOptional&lt;FColor&gt; | SafeArea 밖의 Cutout 영역 바탕 색상<br>**Android에 한함** |

> [TIP]
>
Expand Down
26 changes: 26 additions & 0 deletions zh/release-notes-unreal.md
Original file line number Diff line number Diff line change
@@ -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&lt;FName, FVariant&gt;)`으로 변경했습니다.
* 내부 로직을 개선했습니다.

#### 버그 수정

* (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)

Expand Down