---
metadata:
  - name: generator
    content: Diplodoc Platform v5.52.0
alternate:
  - https://yandex.com/dev/games/doc/en/sdk/sdk-about.md
  - https://yandex.com/dev/games/doc/hi/sdk/sdk-about.md
  - https://yandex.com/dev/games/doc/ko/sdk/sdk-about.md
  - https://yandex.com/dev/games/doc/ru/sdk/sdk-about.md
  - https://yandex.com/dev/games/doc/tr/sdk/sdk-about.md
  - https://yandex.com/dev/games/doc/vi/sdk/sdk-about.md
  - https://yandex.com/dev/games/doc/zh/sdk/sdk-about.md
  - href: vi/sdk/sdk-about.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/vi/llms.txt


# Cài đặt và Sử dụng

Yandex Games SDK là một thư viện mà bạn có thể sử dụng để dễ dàng tích hợp các trò chơi do các nhà phát triển bên thứ ba tạo ra vào nền tảng Yandex Games.

Kết nối SDK là điều kiện tiên quyết để kiểm duyệt thành công.

Với SDK, bạn có thể:

- Tích hợp tính năng phát quảng cáo.
- Bật và tắt các tính năng mà không cần cập nhật bản dựng.
- Thiết lập chuyển đổi tự động sang chế độ toàn màn hình.
- Thiết lập hướng màn hình trong trò chơi và thêm lời nhắc để người dùng xoay thiết bị của họ.


## Cài đặt {#connect}

{% note alert "Hạn chế" %}

Để trò chơi của bạn thành công qua quá trình kiểm duyệt, hãy chỉ định đường dẫn hiện hành để kết nối SDK Yandex Games tùy thuộc vào phương thức triển khai:

- Nếu bạn tải lên tệp lưu trữ của trò chơi vào [bảng điều khiển nhà phát triển](https://games.yandex.com/console), vui lòng chỉ định [đường dẫn tương đối](#yandex-server). Đây là lựa chọn được khuyến nghị.

- Nếu bạn sử dụng tích hợp qua `iframe`, vui lòng chỉ định [đường dẫn tuyệt đối](#iframe).

{% endnote %}

Bạn có thể kết nối SDK của Yandex Games bằng cách đồng bộ hoặc không đồng bộ. Cả hai phương pháp đều được xem là ngang nhau. Tuy nhiên, kết nối không đồng bộ cho phép bạn kiểm soát quá trình cài đặt thông qua các hàm callback. Hãy chọn phương pháp bạn thấy phù hợp hơn.

### Máy chủ của Yandex {#yandex-server}

{% note info "Ghi chú" %}

Để proxy `/sdk.js` khi phát triển, hãy sử dụng [máy chủ địa phương](https://yandex.com/dev/games/doc/vi/concepts/local-launch.md).

{% endnote %}

{% list tabs %}

* Đồng bộ

    Thêm dòng sau vào phần `head` của trang HTML:

    ```javascript
    <!-- Yandex Games SDK -->
    
    ```

    Đối với phương pháp này, bạn có thể sử dụng các thuộc tính `async`, `defer` và `onload` cho thẻ script. Ví dụ:

    ```javascript
    
    ```

* Bất đồng bộ

    Thêm code sau vào trang HTML của bạn:

    ```javascript
    <!-- Yandex Games SDK -->
    
    ```

{% endlist %}

### Tên miền riêng {#iframe}

{% list tabs %}

* Đồng bộ

    Thêm dòng sau vào phần `head` của trang HTML:

    ```javascript
    <!-- Yandex Games SDK -->
    
    ```

* Bất đồng bộ

    Thêm mã sau vào trang HTML:

    ```javascript
    <!-- Yandex Games SDK -->
    
    ```

{% endlist %}

## Khởi tạo {#use}

Để bắt đầu, hãy khởi tạo SDK bằng phương thức `init()` của đối tượng `YaGames`.

{% note alert "Hạn chế" %}

Trong `YaGames.init()` và [ysdk.getPayments()](https://yandex.com/dev/games/doc/vi/sdk/sdk-purchases.md#install), bạn có thể truyền tham số tùy chọn `signed: boolean` để [bảo vệ chống gian lận](https://yandex.com/dev/games/doc/vi/sdk/sdk-purchases.md#signature). Giá trị phụ thuộc vào nơi xử lý thanh toán:

- Nếu xử lý phía client — gọi phương thức không có tham số hoặc truyền `signed: false`. Các phương thức thanh toán sẽ trả về dữ liệu dạng mở.

- Nếu xử lý phía server — truyền `signed: true`. Trong trường hợp này, các phương thức [payments.getPurchases()](https://yandex.com/dev/games/doc/vi/sdk/sdk-purchases.md#getpurchases) và [payments.purchase()](https://yandex.com/dev/games/doc/vi/sdk/sdk-purchases.md#payments-purchase) sẽ trả về dữ liệu dưới dạng mã hóa trong tham số _signature_.

{% endnote %}

{% list tabs %}

- Xử lý phía client

  Khởi tạo với tham số mặc định (`signed: false`).

  ```javascript
  YaGames
      .init()
      .then(ysdk => {
          console.log('Yandex SDK initialized');
          window.ysdk = ysdk;
      });
  ```

- Xử lý phía server

  Khởi tạo với tham số `signed: true`.

  ```javascript
  YaGames
      .init({ signed: true })
      .then(ysdk => {
          console.log('Yandex SDK initialized');
          window.ysdk = ysdk;
      });
  ```

{% endlist %}

&nbsp; {.empty}

## Các vấn đề có thể xảy ra {#faq}

#### Uncaught ReferenceError: YaGames is not defined

Hãy chú ý đến thứ tự tích hợp tập lệnh `sdk`: phải tích hợp tập lệnh này trước khi chạy `YaGames.init ()`.

#### Uncaught ReferenceError: ysdk is not defined

Lỗi này có nghĩa là bạn đã cố gắng sử dụng các phương thức SDK (quảng cáo, mua hàng, v.v.) trước khi khởi tạo SDK (thông báo `Yandex SDK initialized` cần xuất hiện trong Bảng điều khiển trò chơi).
Nếu bạn không biết cách đảm bảo thứ tự các lệnh gọi, hãy viết lại các đoạn mã ở đó có sử dụng SDK. Để làm việc này, hãy thay dòng này:

```javascript
ysdk.adv.showFullscreenAdv()
```

bằng:

```javascript
YaGames.init().then(ysdk => ysdk.adv.showFullscreenAdv())
```

#### Ví dụ về kết nối SDK

```javascript
<!-- Yandex Games SDK -->


```


---

<!-- source: vi/_includes/concepts/troubleshooting/id-troubleshooting/support.md -->
{% note info "Ghi chú" %}

Nhân viên hỗ trợ sẽ giúp bạn đăng bài trò chơi đã hoàn thiện lên nền tảng trò chơi của Yandex. Để đặt các câu hỏi về việc phát triển và kiểm thử, các nhà phát triển khác sẽ trả lời chuyên sâu trong [Kênh Discord](https://discord.com/invite/wU4p3whr4T).

{% endnote %}
<!-- endsource: vi/_includes/concepts/troubleshooting/id-troubleshooting/support.md -->

<!-- source: vi/_includes/button-fos.md -->
Nếu bạn đang gặp phải vấn đề hoặc có câu hỏi liên quan đến việc sử dụng Yandex Games SDK, vui lòng liên hệ với bộ phận hỗ trợ:


<a href="https://yandex.com/chat/#/user/a4fa5c06-75db-9b38-6eea-b1673785f7d5">
  <span class="button">Viết trong mục trò chuyện</span>
</a>
<!-- endsource: vi/_includes/button-fos.md -->
