Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2025년 2월 비정기배포 가이드 (클라) #361

Open
wants to merge 6 commits into
base: alpha-client-20250211-base
Choose a base branch
from
Open
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
33 changes: 33 additions & 0 deletions en/release-notes-unreal.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,38 @@
## Game > Gamebase > Release Notes > Unreal

### 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**가 타이밍상 정상적인 값을 반환하지 못할 때가 있습니다.
* (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 여백을 추가합니다.
* CutoutColor 필드는 이렇게 추가된 padding 영역의 색을 설정할 수 있습니다.
* RenderOutsideSafeArea 필드를 false로 설정했지만 CutoutColor 필드는 설정하지 않는 경우에는 웹 페이지 'body'의 'background-color' 값으로 자동으로 padding 영역의 색상을 결정합니다.

#### 기능 개선/변경

* 내부 로직을 개선하였습니다.

#### 버그 수정

* 약관 조회 결과 API인 FGamebaseQueryTermsResult가 수정되었습니다.
* TermsCountryType의 값이 설정되지 않는 문제를 수정했습니다.
* bPushEnabled, bAdAgreement, bAdAgreementNight가 제거되었습니다.
* (Android) Windows 환경에서 빌드 시 포스트 빌드 프로세스에서 오류가 발생하지 않도록 수정했습니다.

#### 플랫폼별 변경 사항
* [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.68.1 (2025. 01. 21.)
[SDK Download](https://static.toastoven.net/toastcloud/sdk_download/gamebase/v2.68.1/GamebaseSDK-Unreal.zip)

7 changes: 7 additions & 0 deletions en/upgrade-guide.md
Original file line number Diff line number Diff line change
@@ -6,6 +6,13 @@

* GPGS AutoLogin를 사용하는 경우, **GetLastLoggedInProvider()** 동기 API 대신 신규 추가된 **RequestLastLoggedInProvider(GamebaseCallback.GamebaseDelegate\<string> callback)** 비동기 API를 사용하세요.

### Unreal

* 약관 조회 결과 API인 FGamebaseQueryTermsResult가 수정되었습니다.
* TermsCountryType의 값이 설정되지 않는 문제를 수정했습니다.
* bPushEnabled, bAdAgreement, bAdAgreementNight가 제거되었습니다.
* GPGS AutoLogin을 사용하는 경우, **GetLastLoggedInProvider()** 동기 API 대신 신규 추가된 **RequestLastLoggedInProvider(GamebaseCallback.GamebaseDelegate\<string> callback)** 비동기 API를 사용하세요.

### Android

* **gamebase-adapter-auth-gpgs-autologin** 모듈을 빌드에 포함하는 경우, **getLastLoggedInProvider()** 동기 API 대신 신규 추가된 **requestLastLoggedInProvider(GamebaseDataCallback&lt;String&gt;)** 비동기 API를 사용하세요.
33 changes: 33 additions & 0 deletions ja/release-notes-unreal.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,38 @@
## Game > Gamebase > リリースノート > Unreal

### 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**가 타이밍상 정상적인 값을 반환하지 못할 때가 있습니다.
* (Android) GPGS의 Auto Login 기능을 사용 시 GPGS 서버에서 데이터를 획득하는 시간이 필요하므로 Gamebase 초기화 직후 GetLastLoggedInProvider() 동기 API를 호출하면 정상적인 값을 획득할 수 없습니다.
이때 RequestLastLoggedInProvider 비동기(GamebaseDataCallback&lt;String&gt;) 비동기 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 여백을 추가합니다.
* CutoutColor 필드는 이렇게 추가된 padding 영역의 색을 설정할 수 있습니다.
* RenderOutsideSafeArea 필드를 false로 설정했지만 CutoutColor 필드는 설정하지 않는 경우에는 웹 페이지 'body'의 'background-color' 값으로 자동으로 padding 영역의 색상을 결정합니다.

#### 기능 개선/변경

* 내부 로직을 개선하였습니다.

#### 버그 수정

* 약관 조회 결과 API인 FGamebaseQueryTermsResult가 수정되었습니다.
* TermsCountryType의 값이 설정되지 않는 문제를 수정했습니다.
* bPushEnabled, bAdAgreement, bAdAgreementNight가 제거되었습니다.
* (Android) Windows 환경에서 빌드 시 포스트 빌드 프로세스에서 오류가 발생하지 않도록 수정했습니다.

#### 플랫폼별 변경 사항
* [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.68.1 (2025. 01. 21.)
[SDK Download](https://static.toastoven.net/toastcloud/sdk_download/gamebase/v2.68.1/GamebaseSDK-Unreal.zip)

7 changes: 7 additions & 0 deletions ja/upgrade-guide.md
Original file line number Diff line number Diff line change
@@ -6,6 +6,13 @@

* GPGS AutoLogin를 사용하는 경우, **GetLastLoggedInProvider()** 동기 API 대신 신규 추가된 **RequestLastLoggedInProvider(GamebaseCallback.GamebaseDelegate\<string> callback)** 비동기 API를 사용하세요.

### Unreal

* 약관 조회 결과 API인 FGamebaseQueryTermsResult가 수정되었습니다.
* TermsCountryType의 값이 설정되지 않는 문제를 수정했습니다.
* bPushEnabled, bAdAgreement, bAdAgreementNight가 제거되었습니다.
* GPGS AutoLogin을 사용하는 경우, **GetLastLoggedInProvider()** 동기 API 대신 신규 추가된 **RequestLastLoggedInProvider(GamebaseCallback.GamebaseDelegate\<string> callback)** 비동기 API를 사용하세요.

### Android

* **gamebase-adapter-auth-gpgs-autologin** 모듈을 빌드에 포함하는 경우, **getLastLoggedInProvider()** 동기 API 대신 신규 추가된 **requestLastLoggedInProvider(GamebaseDataCallback&lt;String&gt;)** 비동기 API를 사용하세요.
74 changes: 46 additions & 28 deletions ko/oper-app.md
Original file line number Diff line number Diff line change
@@ -218,31 +218,50 @@ Facebook 개발자 사이트에 등록한 앱의 {앱 아이디}와 {앱 시크

#### 2. Google

##### Google Cloud Console
##### Google Cloud Console - Common

* Gamebase에서 Google 인증을 하기 위한 준비로 우선 **Google Cloud Console > APIs & Services > Credentials > + CREATE CREDENTIALS > OAuth client ID** 메뉴에서 **Web application** 유형의 Client id를 생성합니다.
* 이미 생성된 Web application 유형의 Client id가 존재한다면 해당 Client id를 사용해도 됩니다.
* ![](https://static.toastoven.net/prod_gamebase/ConsoleGuide/App/en/gamebase_console_app_google_001_en_20250122.png)
* ![](https://static.toastoven.net/prod_gamebase/ConsoleGuide/App/en/gamebase_console_app_google_002_en_20250122.png)
* **승인된 리디렉션 URI** 란에는 다음 값을 입력해야 합니다.
* https://id-gamebase.toast.com/oauth/callback
* https://alpha-id-gamebase.toast.com/oauth/callback
* ![](https://static.toastoven.net/prod_gamebase/ConsoleGuide/App/en/gamebase_console_app_google_003_en_20250122.png)
* 생성한 Client id 정보를 **NHN Cloud Console > Game > Gamebase > 앱 > 인증 정보 > Google > Client ID > Web Application ID** 란에 입력합니다.
* ![](https://static.toastoven.net/prod_gamebase/ConsoleGuide/App/en/gamebase_console_app_google_004_en_20250122.png)
* ![](https://static.toastoven.net/prod_gamebase/ConsoleGuide/App/en/gamebase_console_app_google_012_en_20250122.png)
* **NHN Cloud Console > Game > Gamebase > 앱 > 인증 정보 > Google > Secret Key** 란에는 Web application 유형의 Client secret을 입력합니다.
* ![](https://static.toastoven.net/prod_gamebase/ConsoleGuide/App/en/gamebase_console_app_google_013_en_20250122.png)

##### Google Cloud Console - Android

* Android 단말기에서 Google 인증을 하기 위해서는 Google Cloud Console에서 추가적으로 Android 유형의 Client id를 생성해야 합니다.
* **Google Cloud Console > APIs & Services > Credentials > + CREATE CREDENTIALS > OAuth client ID** 메뉴에서 **Android** 유형의 Client id를 생성합니다.
* ![](https://static.toastoven.net/prod_gamebase/ConsoleGuide/App/en/gamebase_console_app_google_005_en_20250122.png)
* Android 유형은 Package name과 SHA-1 서명 정보가 필요합니다.
* ![](https://static.toastoven.net/prod_gamebase/ConsoleGuide/App/en/gamebase_console_app_google_006_en_20250122.png)
* Android 빌드는 업로드 서명과 앱 서명이 다르므로 두 종류의 SHA-1 값을 모두 등록해야 빌드 테스트가 원활하게 진행됩니다.

* Firebase나 GPGS와 같은 일부 Google 플랫폼을 사용하는 경우 자동으로 Android 유형의 Client id 설정이 추가되는 경우도 있습니다.
* ![all type created](https://static.toastoven.net/prod_gamebase/ConsoleGuide/App/en/gamebase_console_app_google_007_en_20250122.png)
* 여기서 주의할 점은, Gamebase Console에는 Web application 유형의 Client id만 입력해야 하므로 Android 유형의 Client id는 입력하지 않아야 합니다.
* ![](https://static.toastoven.net/prod_gamebase/ConsoleGuide/App/en/gamebase_console_app_google_012_en_20250122.png)

##### Google Cloud Console - iOS

* iOS 단말기에서 Google 인증을 하기 위해서는 Google Cloud Console에서 추가적으로 iOS 유형의 Client id를 생성해야 합니다.
* **Google Cloud Console > APIs & Services > Credentials > + CREATE CREDENTIALS > OAuth client ID** 메뉴에서 **iOS** 유형의 Client id를 생성합니다.
* ![ios 1](https://static.toastoven.net/prod_gamebase/ConsoleGuide/App/en/gamebase_console_app_google_009_en_20250122.png)
* Bundle ID를 입력합니다.
* ![ios 2](https://static.toastoven.net/prod_gamebase/ConsoleGuide/App/en/gamebase_console_app_google_010_en_20250122.png)
* iOS는 Android와 다르게 **NHN Cloud Console > Game > Gamebase > 앱 > 인증 정보 > Google > Client ID > iOS Client ID** 란에 iOS 유형으로 발급 받은 Client id를 입력해야 합니다.

* ![gamebase console](https://static.toastoven.net/prod_gamebase/ConsoleGuide/App/en/gamebase_console_app_google_014_en_20250122.png)

![gamebase_app_06_201812.png](https://static.toastoven.net/prod_gamebase/gamebase_app_06_201812.png)

Google 인증을 위해서는 Google Cloud Console에서 **Web Application Client ID**를 발급 받아 Gamebase Console에 입력해야 합니다.
승인된 리디렉션 URI란에 다음 값을 입력합니다.
* https://alpha-id-gamebase.toast.com/oauth/callback
* https://beta-id-gamebase.toast.com/oauth/callback
* https://id-gamebase.toast.com/oauth/callback

<br/>

Google iOS 인증을 위해서는 Google Cloud Console에서 **iOS Client ID**를 발급 받아 Gamebase Console에 입력해야 합니다.

**APIs & Services > CREATE CREDENTIALS > OAuth client ID**를 선택한 뒤,

![gamebase_app_google_ios_1.png](https://static.toastoven.net/prod_gamebase/gamebase_app_google_ios_1.png)

**Application type**을 **iOS**로 선택하고 Bundle ID를 입력합니다.

![gamebase_app_google_ios_2.png](https://static.toastoven.net/prod_gamebase/gamebase_app_google_ios_2.png)

#### Gamebase Console
##### Gamebase Console

![gamebase_app_21_ko_240105](https://kr1-api-object-storage.nhncloudservice.com/v1/AUTH_2acdfabf4efe4efc8a04c00b348110c9/cdn_origin/prod_gamebase/ConsoleGuide/App/ko/gamebase_app_21_ko_240105.png)
![gamebase console](https://static.toastoven.net/prod_gamebase/ConsoleGuide/App/en/gamebase_console_app_google_008_en_20250122.png)

**입력 필드**<br />

@@ -252,19 +271,18 @@ Google iOS 인증을 위해서는 Google Cloud Console에서 **iOS Client ID**
- 추가정보: OAuth 2.0 Scopes (json format)

##### Additional Info Settings
* **NHN Cloud Console > Gamebase > App > 인증 정보 > 추가 정보** 항목에 JSON string 형태의 정보를 설정할 수 있습니다.

* **NHN Cloud Console > Game > Gamebase > 앱 > 인증 정보 > 추가 정보** 항목에 JSON string 형태의 정보를 설정할 수 있습니다.
* Google의 경우 OAuth 인증 후 프로필 정보에서 email 정보를 획득하려면 인증 권한 범위인 **scope**를 설정해야 합니다.
* email 외에 선언할 수 있는 다양한 scope는 다음 문서에서 확인할 수 있습니다.
* https://developers.google.com/identity/protocols/oauth2/scopes#google-sign-in
* https://developers.google.com/identity/protocols/oauth2/scopes

* Google 추가 인증 정보 입력 예제

```json
{ "scope": ["email","myscope1","myscope2",...] }
```
{ "scope": ["email","myscope1","myscope2",...] }

##### iOS

* [Gamebase > iOS SDK 사용 가이드 > 시작하기 > IdP Settings > Google](./ios-started/#google)

#### 3. Apple Game Center
2 changes: 1 addition & 1 deletion ko/release-notes-android.md
Original file line number Diff line number Diff line change
@@ -74,7 +74,7 @@
* Gamebase 콘솔에 Callback URL(https://id-gamebase.toast.com/oauth/callback)을 설정합니다.
* 동일한 Callback URL을 Twitter Developer Portal에 추가합니다.
* 자세한 내용은 다음 링크를 참고하세요.
* [Game > Gamebase > 콘솔 사용 가이드 > 앱 > Authentication Information](./oper-app/#authentication-information)
* [Game > Gamebase > 콘솔 사용 가이드 > 앱 > Authentication Information > 6. Twitter](./oper-app/#6-twitter)

#### 버그 수정
* 약관 팝업 창이 열려 있는 상태에서 네트워크 연결을 끊고 detail을 터치하면 약관 팝업 창이 종료되는 문제가 수정되었습니다.
2 changes: 1 addition & 1 deletion ko/release-notes-ios.md
Original file line number Diff line number Diff line change
@@ -45,7 +45,7 @@
* Gamebase 콘솔에 Callback URL(https://id-gamebase.toast.com/oauth/callback)을 설정합니다.
* 동일한 Callback URL을 Twitter Developer Portal에 추가합니다.
* 자세한 내용은 다음 링크를 참고하세요.
* [Game > Gamebase > 콘솔 사용 가이드 > 앱 > Authentication Information](./oper-app/#authentication-information)
* [Game > Gamebase > 콘솔 사용 가이드 > 앱 > Authentication Information > 6. Twitter](./oper-app/#6-twitter)

#### 기능 개선/변경
* 외부 SDK 업데이트
33 changes: 33 additions & 0 deletions ko/release-notes-unreal.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,38 @@
## Game > Gamebase > 릴리스 노트 > Unreal

### 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**가 타이밍상 정상적인 값을 반환하지 못할 때가 있습니다.
* (Android) GPGS의 Auto Login 기능을 사용 시 GPGS 서버에서 데이터를 획득하는 시간이 필요하므로 Gamebase 초기화 직후 GetLastLoggedInProvider() 동기 API를 호출하면 정상적인 값을 획득할 수 없습니다.
이때 RequestLastLoggedInProvider(GamebaseDataCallback&lt;String&gt;) 비동기 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 여백을 추가합니다.
* CutoutColor 필드는 이렇게 추가된 padding 영역의 색을 설정할 수 있습니다.
* RenderOutsideSafeArea 필드를 false로 설정했지만 CutoutColor 필드는 설정하지 않는 경우에는 웹 페이지 'body'의 'background-color' 값으로 자동으로 padding 영역의 색상을 결정합니다.

#### 기능 개선/변경

* 내부 로직을 개선하였습니다.

#### 버그 수정

* 약관 조회 결과 API인 FGamebaseQueryTermsResult가 수정되었습니다.
* TermsCountryType의 값이 설정되지 않는 문제를 수정했습니다.
* bPushEnabled, bAdAgreement, bAdAgreementNight가 제거되었습니다.
* (Android) Windows 환경에서 빌드 시 포스트 빌드 프로세스에서 오류가 발생하지 않도록 수정했습니다.

#### 플랫폼별 변경 사항
* [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.68.1 (2025. 01. 21.)
[SDK Download](https://static.toastoven.net/toastcloud/sdk_download/gamebase/v2.68.1/GamebaseSDK-Unreal.zip)

14 changes: 14 additions & 0 deletions ko/unreal-authentication.md
Original file line number Diff line number Diff line change
@@ -848,6 +848,7 @@ Supported Platforms
<span style="color:#1D76DB; font-size: 10pt">■</span> UNREAL_IOS

```cpp
void RequestLastLoggedInProvider(const FGamebaseLastLoggedInProviderDelegate& Callback) const;
FString GetLastLoggedInProvider() const;
```

@@ -856,7 +857,20 @@ FString GetLastLoggedInProvider() const;
void USample::GetLastLoggedInProvider()
{
UGamebaseSubsystem* Subsystem = UGameInstance::GetSubsystem<UGamebaseSubsystem>(GetGameInstance());

// Obtaining Last Logged In Provider - Sync
FString LastLoggedInProvider = Subsystem->GetLastLoggedInProvider();

// Obtaining Last Logged In Provider - Async
// If GetLastLoggedInProvider() returns 'NOT_INITIALIZED_YET',
// use the following async function instead:
Subsystem->RequestLastLoggedInProvider(FGamebaseLastLoggedInProviderDelegate::CreateLambda([=](const FString& lastLoggedInProviderAsync, const FGamebaseError* Error)
{
if (Gamebase::IsSuccess(Error))
{
UE_LOG(GamebaseTestResults, Display, TEXT("LastLoggedInProvider: %s"), *lastLoggedInProviderAsync);
}
}));
}
```

9 changes: 9 additions & 0 deletions ko/unreal-logger.md
Original file line number Diff line number Diff line change
@@ -2,6 +2,15 @@

여기에서는 Log & Crash Search 전송 API를 사용하는 방법을 알아보겠습니다.

### Settings

* Windows
* Log & Crash Search에서 ProjectVersion의 값을 설정하려면 DefaultGame.ini에서 GeneralProjectSettings의 ProjectVersion에 알맞은 버전을 입력해야 합니다.

[/Script/EngineSettings.GeneralProjectSettings]
ProjectVersion=1.0.0


### Initialize
Log & Crash Search에서 발급 받은 앱키로 NHN Cloud Logger SDK를 초기화합니다.

19 changes: 15 additions & 4 deletions ko/unreal-started.md
Original file line number Diff line number Diff line change
@@ -67,6 +67,8 @@ Supported Platforms
* Authentication
* 사용하려는 IdP를 활성화합니다.
* Hangame IdP 사용 시 고객 센터로 별도로 문의 바랍니다.
* GPGS(Google Play Games Services)
* Auto Login - GPGS 자동 로그인을 지원
* Push
* 사용하려는 푸시 서비스를 활성화합니다.
* FCM
@@ -85,6 +87,15 @@ Google Play 서비스에 인증과 결제를 진행하려면 Distribution 설정

* [Signing Projects for Release](https://docs.unrealengine.com/en-US/Platforms/Mobile/Android/DistributionSigning/index.html)

#### GPGS(Google Play Games Services) 설정

Sign in with Apple 사용 시 프로젝트에서 /Config/Android/AndroidEngine.ini 파일에 아래 내용을 추가하여 GPGS의 Application ID를 입력합니다.

```ini
[/Script/AndroidRuntimeSettings.AndroidRuntimeSettings]
GamesAppID=
```

#### AndroidX 적용

* Gamebase Android SDK 2.25.0 부터 AndroidX가 도입되어 [UPL(Unreal Plugin Language)](https://docs.unrealengine.com/4.27/en-US/SharingAndReleasing/Mobile/UnrealPluginLanguage/) 파일에 아래 설정을 추가해야 합니다.
@@ -193,7 +204,7 @@ bEnableSignInWithAppleSupport=True
다음과 같은 이슈로 인해 Rich Push Notification 기능을 사용할 수 없습니다.

* Unreal은 프로젝트에 [Notification Service Extension](https://developer.apple.com/documentation/usernotifications/unnotificationserviceextension?language=objc)을 추가할 수 있는 방법을 제공하지 않습니다.
* [NHN Cloud Push Notification Service Extension 생성](https://docs.toast.com/en/TOAST/en/toast-sdk/push-ios/#notification-service-extension)
* [NHN Cloud Push Notification Service Extension 생성](https://docs.toast.com/e n/TOAST/en/toast-sdk/push-ios/#notification-service-extension)

#### iOS SDK의 Warning 메시지로 인한 Unreal 빌드 오류

@@ -209,7 +220,7 @@ UE4에서 사용 중인 PLCrashReporter가 `arm64e` architecture를 지원하지

NHN Cloud Log & Crash Search에서 크래시 분석을 사용하는 게임 개발사는 다음 가이드를 참고하여 UE4 내부 PLCrashReporter를 수정해야 합니다.

1. GamebaseSDK-Unreal/Source/Gamebase/ThirdParty/IOS/GamebaseSDK-iOS/externals/plcrashreporter.zip 파일을 압축 해제합니다.
1. GamebaseSDK-Unreal/Source/Gamebase/ThirdParty/IOS/plcrashreporter.zip 파일을 압축 해제합니다.
2. UE4 내부 PLCrashReporter의 a 파일과 header 파일을 압축 해제한 파일로 교체합니다.
* Engine/Source/ThirdParty/PLCrashReporter/plcrashreporter-master-xxxxxxx

@@ -235,7 +246,7 @@ NHN Cloud Log & Crash Search에서 크래시 분석을 사용하는 게임 개
* ImageNotices
* WebView
* 별도의 엔진 수정 없이 WebView 관련 기능을 사용할 경우 Unreal 에디터에서 **Settings > Plugins** 창을 띄우고, **Project > NHN Cloud > NHNWebView** 플러그인을 찾아 활성화합니다.
* 엔진에서 제공하는 Web Browser Widget 플러그인을 사용할 경우 UE 5.4 이상이 필요하며, 그 이하 버전에서는 CEF 버전이 낮아 정상적으로 웹 기능이 동작하지 않으므로 Web Browser Widget 플러그인과 연관된 모듈의 업데이트가 필요합니다.
* 엔진에서 제공하는 Web Browser 플러그인을 사용할 경우 UE 5.4 이상이 필요하며, 그 이하 버전에서는 CEF 버전이 낮아 정상적으로 웹 기능이 동작하지 않으므로 Web Browser 플러그인과 연관된 모듈의 업데이트가 필요합니다.
* ThirdParty
* CEF3
* Runtime
@@ -246,7 +257,7 @@ NHN Cloud Log & Crash Search에서 크래시 분석을 사용하는 게임 개
* EpicWebHelper

> [주의]
> NHNWebView 플러그인과 Web Browser Widget 플러그인은 동시의 사용이 불가능하며, 두 플러그인이 모두 활성화되어 있는 경우 빌드 시 오류가 발생합니다.
> NHNWebView 플러그인과 Web Browser 플러그인은 동시의 사용이 불가능하며, 두 플러그인이 모두 활성화되어 있는 경우 빌드 시 오류가 발생합니다.
#### Epic Games Store 서비스

15 changes: 8 additions & 7 deletions ko/unreal-ui.md
Original file line number Diff line number Diff line change
@@ -424,17 +424,18 @@ void USample::ShowWebView(const FString& Url)
| | GamebaseScreenOrientation::Portrait | 세로 모드 |
| | GamebaseScreenOrientation::Landscape | 가로 모드 |
| | GamebaseScreenOrientation::LandscapeReverse | 가로 모드를 180도 회전 |
| ContentMode | GamebaseWebViewContentMode::Recommended | 현재 플랫폼 추천 브라우저(**default**) |
| | GamebaseWebViewContentMode::Mobile | 모바일 브라우저 |
| | GamebaseWebViewContentMode::Desktop | 데스크톱 브라우저 |
| ContentMode | GamebaseWebViewContentMode::Recommended | 현재 플랫폼 추천 브라우저(**default**) |
| | GamebaseWebViewContentMode::Mobile | 모바일 브라우저 |
| | GamebaseWebViewContentMode::Desktop | 데스크톱 브라우저 |
| NavigationColor | FColor | 내비게이션 바 색상<br>**default**: FColor(18, 93, 230, 255) |
| NavigationBarHeight | height | 내비게이션 바 높이<br>**Android에 한함** |
| bIsNavigationBarVisible | true or false | 내비게이션 바 활성 또는 비활성<br>**default**: true |
| bIsBackButtonVisible | true or false | 뒤로 가기 버튼 활성 또는 비활성<br>**default**: true |
| bIsNavigationBarVisible | true or false | 내비게이션 바 활성 또는 비활성<br>**default**: true |
| bIsBackButtonVisible | true or false | 뒤로 가기 버튼 활성 또는 비활성<br>**default**: true |
| BackButtonImageResource | ID of resource | 뒤로 가기 버튼 이미지 |
| CloseButtonImageResource | ID of resource | 닫기 버튼 이미지 |
| bEnableFixedFontSize | true or false | 약관 창의 글자 크기 고정 여부를 결정합니다.<br>**default**: false<br>**Android에 한함** |
| bRenderOutSideSafeArea | true or false | Safe Area 영역 밖 렌더링 여부를 결정합니다.<br>**default**: false<br>**Android에 한함** |
| 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에 한함** |

> [TIP]
>
9 changes: 8 additions & 1 deletion ko/upgrade-guide.md
Original file line number Diff line number Diff line change
@@ -6,6 +6,13 @@

* GPGS AutoLogin을 사용하는 경우, **GetLastLoggedInProvider()** 동기 API 대신 신규 추가된 **RequestLastLoggedInProvider(GamebaseCallback.GamebaseDelegate\<string> callback)** 비동기 API를 사용하세요.

### Unreal

* 약관 조회 결과 API인 FGamebaseQueryTermsResult가 수정되었습니다.
* TermsCountryType의 값이 설정되지 않는 문제를 수정했습니다.
* bPushEnabled, bAdAgreement, bAdAgreementNight가 제거되었습니다.
* GPGS AutoLogin을 사용하는 경우, **GetLastLoggedInProvider()** 동기 API 대신 신규 추가된 **RequestLastLoggedInProvider(GamebaseCallback.GamebaseDelegate\<string> callback)** 비동기 API를 사용하세요.

### Android

* **gamebase-adapter-auth-gpgs-autologin** 모듈을 빌드에 포함하는 경우, **getLastLoggedInProvider()** 동기 API 대신 신규 추가된 **requestLastLoggedInProvider(GamebaseDataCallback&lt;String&gt;)** 비동기 API를 사용하세요.
@@ -63,7 +70,7 @@
* Gamebase 콘솔에 Callback URL(https://id-gamebase.toast.com/oauth/callback)을 설정합니다.
* 동일한 Callback URL을 Twitter Developer Portal에 추가합니다.
* 자세한 내용은 다음 링크를 참고하세요.
* [Game > Gamebase > 콘솔 사용 가이드 > 앱 > Authentication Information](./oper-app/#authentication-information)
* [Game > Gamebase > 콘솔 사용 가이드 > 앱 > Authentication Information > 6. Twitter](./oper-app/#6-twitter)

## 2.66.3

33 changes: 33 additions & 0 deletions zh/release-notes-unreal.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,38 @@
## Game > Gamebase > Release Notes > Unreal

### 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**가 타이밍상 정상적인 값을 반환하지 못할 때가 있습니다.
* (Android) GPGS의 Auto Login 기능을 사용 시 GPGS 서버에서 데이터를 획득하는 시간이 필요하므로 Gamebase 초기화 직후 GetLastLoggedInProvider() 동기 API를 호출하면 정상적인 값을 획득할 수 없습니다.
이때 RequestLastLoggedInProvider 비동기(GamebaseDataCallback&lt;String&gt;) 비동기 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 여백을 추가합니다.
* CutoutColor 필드는 이렇게 추가된 padding 영역의 색을 설정할 수 있습니다.
* RenderOutsideSafeArea 필드를 false로 설정했지만 CutoutColor 필드는 설정하지 않는 경우에는 웹 페이지 'body'의 'background-color' 값으로 자동으로 padding 영역의 색상을 결정합니다.

#### 기능 개선/변경

* 내부 로직을 개선하였습니다.

#### 버그 수정

* 약관 조회 결과 API인 FGamebaseQueryTermsResult가 수정되었습니다.
* TermsCountryType의 값이 설정되지 않는 문제를 수정했습니다.
* bPushEnabled, bAdAgreement, bAdAgreementNight가 제거되었습니다.
* (Android) Windows 환경에서 빌드 시 포스트 빌드 프로세스에서 오류가 발생하지 않도록 수정했습니다.

#### 플랫폼별 변경 사항
* [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.68.1 (2025. 01. 21.)
[SDK Download](https://static.toastoven.net/toastcloud/sdk_download/gamebase/v2.68.1/GamebaseSDK-Unreal.zip)

9 changes: 8 additions & 1 deletion zh/upgrade-guide.md
Original file line number Diff line number Diff line change
@@ -4,7 +4,14 @@

### Unity

* GPGS AutoLogin를 사용하는 경우, **GetLastLoggedInProvider()** 동기 API 대신 신규 추가된 **RequestLastLoggedInProvider(GamebaseCallback.GamebaseDelegate\<string> callback)** 비동기 API를 사용하세요.
* (Android) GPGS AutoLogin를 사용하는 경우, **GetLastLoggedInProvider()** 동기 API 대신 신규 추가된 **RequestLastLoggedInProvider(GamebaseCallback.GamebaseDelegate\<string> callback)** 비동기 API를 사용하세요.

### Unreal

* 약관 조회 결과 API인 FGamebaseQueryTermsResult가 수정되었습니다.
* TermsCountryType의 값이 설정되지 않는 문제를 수정했습니다.
* bPushEnabled, bAdAgreement, bAdAgreementNight가 제거되었습니다.
* GPGS AutoLogin을 사용하는 경우, **GetLastLoggedInProvider()** 동기 API 대신 신규 추가된 **RequestLastLoggedInProvider(GamebaseCallback.GamebaseDelegate\<string> callback)** 비동기 API를 사용하세요.

### Android