---
metadata:
  - name: generator
    content: Diplodoc Platform v5.52.0
alternate:
  - https://yandex.com/dev/games/doc/en/requirements/1/19.md
  - https://yandex.com/dev/games/doc/hi/requirements/1/19.md
  - https://yandex.com/dev/games/doc/ko/requirements/1/19.md
  - https://yandex.com/dev/games/doc/ru/requirements/1/19.md
  - https://yandex.com/dev/games/doc/tr/requirements/1/19.md
  - https://yandex.com/dev/games/doc/vi/requirements/1/19.md
  - https://yandex.com/dev/games/doc/zh/requirements/1/19.md
  - href: ko/requirements/1/19.md
    type: text/markdown
    title: Markdown version
  - href: ../../llms.txt
    type: text/markdown
    title: llms.txt
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com/dev/games/doc/ko/llms.txt

# SDK 방법

{% note info "요구 사항 항목 1.19" %}

얀덱스 게임즈 SDK 초기화 및 메서드 사용은 문서 및 게임 요구 사항과 엄격히 일치하여야 합니다:

1. SDK는 **SDK 설치 및 사용** 페이지에 명시된 대로 엄격하게 초기화됩니다.

2. 사용자가 게임을 시작할 수 있는 시점에, `gameReadyAPI`의 `ready()` 메서드 호출이 이루어져야 합니다.

3. `GameplayAPI`의 사용은 선택적이며, 게임 내에서 `GameplayAPI` 메서드를 사용하는 경우, `start()` 및 `stop()` 이벤트 전송 시기는 **게임플레이** 섹션에 명시된 대로 엄격히 준수되어야 합니다.

4. `game_api_pause` 및 `game_api_resume` 이벤트 추적은 선택 사항이지만, 게임에서 `ysdk.on()` 및 `ysdk.off()` 메소드를 사용하는 경우, 이벤트 처리 로직은 [게임 일시 중지 및 재개 이벤트](https://yandex.com/dev/games/doc/ko/sdk/sdk-events.md#pause-resume) 섹션에 설명된 대로 엄격하게 준수해야 합니다.

{% endnote %}

## SDK 초기화 {#sdk-initializing}

**1.19.1.** SDK는 [SDK 설치 및 사용](https://yandex.com/dev/games/doc/ko/sdk/sdk-about.md) 페이지에 명시된 대로 엄격하게 초기화됩니다. 요구 사항이 충족되려면, 최신 로더가 사용되어야 합니다.

### 로더의 최신성 확인 {#loader-check}

1. 디버그 패널과 함께 게임을 시작합니다.

   <!-- source: ko/_includes/requirements/start-debug-panel.md -->
   {% list tabs %}

   - 개발자 콘솔을 통해서
       1. [Yandex Games 콘솔](../../_includes/requirements/(https:/games.yandex.com/console))을 엽니다.
       1. 필요한 게임을 선택합니다.
       1. 왼쪽 상단에 있는 **Open with debug panel**을 클릭합니다.

   - 주소 창을 통해서
       1. 원하는 게임을 엽니다.
       1. 브라우저의 주소 창 끝에 `&debug-mode=16`을 추가합니다.

   {% endlist %}
   <!-- endsource: ko/_includes/requirements/start-debug-panel.md -->

1. 디버그 패널 왼쪽에서 Game Ready 지시기 옆에 두 글자를 찾습니다:

    - `IF` (init false) — 게임이 오래된 로더를 지원합니다. `IF` 위에 마우스를 올리면 _Is loader: false_ 라는 표시가 나타납니다.

    - `IT` (init true) — 게임이 새로운 로더를 지원합니다. `IT` 위에 마우스를 올리면 _Is loader: true_ 라는 표시가 나타납니다.

#### 예시

<div class="table-50">

#|
|| **로더** | **코멘트** ||
|| ![](../../_images/requirements/gra/old-1.png) | 구 로더. 디버그 패널에 `IF`가 표시됩니다. ||
|| ![](../../_images/requirements/gra/old-2.png) | 구 로더. 디버그 패널에 `IF`가 표시됩니다. ||
|| ![](../../_images/requirements/gra/new-1.png) | 신 로더. 디버그 패널에 `IT`가 표시됩니다. ||
|| ![](../../_images/requirements/gra/new-2.png) | 신 로더. 디버그 패널에 `IT`가 표시됩니다. ||
|#

</div>

## 게임 준비 {#gameready}

**1.19.2.** 사용자가 게임을 시작할 수 있게 되면, [`LoadingAPI.ready()`](https://yandex.com/dev/games/doc/ko/sdk/sdk-game-events.md#gameready) 메서드를 호출하세요.

이 요구 사항이 충족되려면 `LoadingAPI.ready()` 메서드는 [적절한 시점](#gameready-correct)에 호출되어야 합니다.

### 게임 준비 로직 검사 {#gameready-check}

#### 준비 {#gameready-preparation}

1. 게임을 디버그 패널과 함께 시작합니다.

   <!-- source: ko/_includes/requirements/start-debug-panel.md -->
   {% list tabs %}

   - 개발자 콘솔을 통해서
       1. [Yandex Games 콘솔](../../_includes/requirements/(https:/games.yandex.com/console))을 엽니다.
       1. 필요한 게임을 선택합니다.
       1. 왼쪽 상단에 있는 **Open with debug panel**을 클릭합니다.

   - 주소 창을 통해서
       1. 원하는 게임을 엽니다.
       1. 브라우저의 주소 창 끝에 `&debug-mode=16`을 추가합니다.

   {% endlist %}
   <!-- endsource: ko/_includes/requirements/start-debug-panel.md -->

1. 디버그 패널에서 Game Ready 인디케이터 ![](../../_images/debug-panel/gra-blue.svg)를 찾습니다.


#### 일반 검사 원칙 {#gameready-check-principle}

1. 90초 이내에 파란 인디케이터 ![](../../_images/debug-panel/gra-blue.svg)가 초록색으로 ![](../../_images/debug-panel/gra-green.svg) 바뀌는지 확인하세요.
1. 게임을 다시 로드합니다.
1. 인디케이터가 색상을 바꾸는 시점을 다시 확인하세요.

#### 게임 준비가 올바르게 작동합니다 {#gameready-correct}

파란 인디케이터 ![](../../_images/debug-panel/gra-blue.svg)가 초록색 ![](../../_images/debug-panel/gra-green.svg)으로 바뀌는 순간:

- 메뉴가 사용 가능할 때;

- 게임이 상호 작용할 수 있는 상태일 때(초기 애니메이션 포함).


<div class="table-50">

#|
|| **게임 준비 완료** | **코멘트** ||
|| ![](../../_images/requirements/gra/menu-1.gif) | 메뉴가 사용 가능할 때 녹색 표시기가 나타납니다. ||
|| ![](../../_images/requirements/gra/menu-2.gif) | 메뉴가 사용 가능할 때 녹색 표시기가 나타납니다. ||
|| ![](../../_images/requirements/gra/menu-3.gif) | 메뉴가 사용 가능할 때 녹색 표시기가 나타납니다. ||
|| ![](../../_images/requirements/gra/ok-game-1.gif) | 게임이 상호작용을 위해 준비되는 순간, 녹색 지시등이 나타납니다. ||
|| ![](../../_images/requirements/gra/ok-game-2.gif) | 게임이 상호작용을 위해 준비되는 순간, 녹색 지시등이 나타납니다. ||
|| ![](../../_images/requirements/gra/ok-game-3.gif) | 게임이 상호작용을 위해 준비되는 순간, 녹색 지시등이 나타납니다. ||
|#

</div>

#### 게임 준비가 제대로 작동하지 않음 {#gameready-incorrect}

파란색 인디케이터 ![](../../_images/debug-panel/gra-blue.svg)이(가) 녹색 인디케이터 ![](../../_images/debug-panel/gra-green.svg)로 변경되었습니다:

- 게임이 상호 작용할 수 있게 되기 전에(프로그레스 바, 로딩 애니메이션, 검은 화면 등이 있음);

- 게임이 상호작용할 준비가 된 후 몇 초 후.

<div class="table-50">

#|
|| **게임 준비 완료** | **코멘트** ||
|| ![](../../_images/requirements/gra/before-game-1.gif) | 게임이 상호작용할 수 있게 되기 전에 녹색 표시등이 나타납니다. ||
|| ![](../../_images/requirements/gra/before-game-2.gif) | 게임이 상호작용할 수 있게 되기 전에 녹색 표시등이 나타납니다. ||
|| ![](../../_images/requirements/gra/before-game-3.gif) | 게임이 상호작용할 수 있게 되기 전에 녹색 표시등이 나타납니다. ||
|| ![](../../_images/requirements/gra/after-start-1.gif) | 게임이 상호 작용할 준비가 된 후 몇 초 뒤에만 녹색 표시등이 나타났습니다. ||
|| ![](../../_images/requirements/gra/after-start-2.gif) | 게임이 상호 작용할 준비가 된 후 몇 초 뒤에만 녹색 표시등이 나타났습니다. ||
|#

</div>

#### 게임 준비가 내장되지 않음 {#no-gameready}

90초 후에 표시기가 빨간색으로 변합니다 ![](../../_images/debug-panel/gra-red.svg).

<div class="table-50">

#|
|| **게임 준비 완료** | **코멘트** ||
|| ![](../../_images/requirements/gra/no-gra-1.gif) | 표시기가 빨간색으로 변했습니다 — 게임 준비가 내장되지 않았습니다. ||
|#

</div>

## 게임플레이 마크업 {#gameplay}

**1.19.3.** `GameplayAPI.start()` 및 `GameplayAPI.stop()` 메소드는 게임플레이의 시작과 정지를 마크업하는 데 사용됩니다. 이 메소드가 게임에서 사용되는 경우, 이벤트 전송 시점은 [게임플레이](https://yandex.com/dev/games/doc/ko/sdk/sdk-game-events.md#gameplay) 섹션에 설명된 바와 정확히 일치합니다.

### 게임플레이 마크업 검사 {#gameplay-check-principle}

#### 준비 {#gameplay-preparation}

1. [디버그 패널](https://yandex.com/dev/games/doc/ko/console/debug-panel.md)과 함께 게임을 실행합니다.

   <!-- source: ko/_includes/requirements/start-debug-panel.md -->
   {% list tabs %}

   - 개발자 콘솔을 통해서
       1. [Yandex Games 콘솔](../../_includes/requirements/(https:/games.yandex.com/console))을 엽니다.
       1. 필요한 게임을 선택합니다.
       1. 왼쪽 상단에 있는 **Open with debug panel**을 클릭합니다.

   - 주소 창을 통해서
       1. 원하는 게임을 엽니다.
       1. 브라우저의 주소 창 끝에 `&debug-mode=16`을 추가합니다.

   {% endlist %}
   <!-- endsource: ko/_includes/requirements/start-debug-panel.md -->

2. 디버그 패널에서 게임패드 버튼 🎮을 찾습니다.

#### 검사의 일반 원칙 {#gameplay-general-principle}

다음 행동에 따라 게임플레이 지시등의 상태를 관찰하세요:

   - 플레이어가 게임플레이를 시작하거나 일시정지 후 다시 시작할 때, `GameplayAPI.start()` 메소드가 호출되어야 합니다. 게임플레이 지시등이 초록색으로 변해야 합니다 ![](../../_images/debug-panel/gameplay-on.svg) — 게임플레이 진행 중.

   - 플레이어가 게임플레이를 종료하거나 일시정지할 때, `GameplayAPI.stop()` 메소드가 호출되어야 합니다. 게임플레이 지시등이 빨간색으로 변해야 합니다 ![](../../_images/debug-panel/gameplay-off.svg) — 게임플레이 일시정지.

검사 시 고려되는 시나리오:

- 레벨의 시작과 종료.

- 게임 메뉴의 열기와 닫기.

- 구매 메뉴의 열기와 닫기.

- 광고의 시작과 종료.

- 게임에 대한 포커스 손실 및 게임으로의 복귀 (브라우저의 다른 탭이나 다른 창으로의 전환).

{% note tip "팁" %}

게임에 포커스가 있는지 또는 다른 창에 있을 때, [이벤트](https://yandex.com/dev/games/doc/ko/sdk/sdk-events.md#pause-resume) `game_api_resume` 및 `game_api_pause`를 관찰하세요.

{% endnote %}

#### 게임플레이 정확하게 표시됨 {#gameplay-correct}

시나리오에 따라 지시등 색상이 변경됩니다.

<div class="table-50">

#|
|| **게임** | **코멘트** ||
|| ![](../../_images/requirements/gameplay/new-lvl-ok.gif) | 새로운 레벨이 시작될 때 지시등이 녹색으로 바뀝니다. ||
|| ![](../../_images/requirements/gameplay/lvl-done-ok.gif) | 레벨이 끝나면 지시등이 빨간색으로 바뀝니다. ||
|| ![](../../_images/requirements/gameplay/menu-close-back-ok.gif) | 메뉴로 이동한 후 게임 과정으로 돌아오면 지시등 색상이 변경됩니다. ||
|| ![](../../_images/requirements/gameplay/menu-open-ok.gif) | 메뉴로 이동한 후 게임 과정으로 돌아오면 지시등 색상이 변경됩니다. ||
|| ![](../../_images/requirements/gameplay/purchases-open-close-ok.gif) | 상품 구매 메뉴로 이동한 후 게임 과정으로 돌아오면 지시등 색상이 변경됩니다. ||
|| ![](../../_images/requirements/gameplay/ad-closed-ok.gif) | 광고가 닫히면 지시등 색상이 빨간색에서 녹색으로 변경됩니다. ||
|| ![](../../_images/requirements/gameplay/browser-open-ok.gif) | 브라우저 탭에서 다른 창으로 포커스가 이동한 다음 게임 과정으로 돌아오면 지시등 색상이 변경됩니다. ||
|#

</div>

#### 게임플레이 잘못 표시됨 {#gameplay-incorrect}

시나리오에 따라 지시등 색상이 변경되지 않습니다.

<div class="table-50">

#|
|| **게임** | **코멘트** ||
|| ![](../../_images/requirements/gameplay/lvl-done-bad.gif) | 레벨이 끝났지만 지시등 색상이 녹색에서 빨간색으로 변경되지 않았습니다. ||
|| ![](../../_images/requirements/gameplay/menu-open-bad.gif) | 메뉴로 이동했을 때 지시등 색상이 녹색에서 빨간색으로 변경되지 않았습니다. ||
|| ![](../../_images/requirements/gameplay/ad-closed-bad.gif) | 광고가 닫혔지만 지시등 색상이 빨간색에서 녹색으로 변경되지 않았습니다. ||
|| ![](../../_images/requirements/gameplay/browser-open-bad.gif) | 브라우저 탭에서 다른 창으로 포커스가 이동했지만 지시등 색상이 변경되지 않았습니다. ||
|#

</div>

## 모더레이션에 연락하기 {#forma}

SDK의 메소드를 올바르게 사용하고 있다고 생각되는데 게임이 출판에서 제외되었거나 실수로 인해 출판되지 않았다면 아래 양식을 작성하세요.

모더레이션 품질 관리 서비스가 결정을 재검토하고 게임이 부당하게 차단되었다면 게임을 복원할 것입니다.

<div class="cut-button">

{% cut "폼을 열기" %}

<div style="padding: 15px;
         margin: 10px 0;
         background: #FFFFFF;
         border-radius: 10px;
         border: 1px solid var(--yc-color-line-generic);">
      <iframe height="400"
              width="100%"
              frameborder="0"
              id="moderation-1-19-form"
              src="https://forms.yandex.com/surveys/13487250.5a13659b18018197b1f339b05e2d4dacc05604a6/?answer_choices_52072484=62278442&iframe=1">
      </iframe>
</div>

{% endcut %}

</div>
