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

Hạn chế

Đường dẫn https://yandex.ru/games/sdk/v2 đã lỗi thời. Để 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:

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

Ghi chú

Để proxy /sdk.js khi phát triển, hãy sử dụng máy chủ địa phương.

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

<!-- Yandex Games SDK -->
<script src="/sdk.js"></script>

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

<script async src="/sdk.js" onload="initSDK()"></script>

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

<!-- Yandex Games SDK -->
<script>
    (function(d) {
        var s = d.createElement('script');
        s.src = '/sdk.js';
        s.async = true;
        s.onload = initSDK;
        d.body.append(s);
    })(document);
</script>

Tên miền riêng

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

<!-- Yandex Games SDK -->
<script src="https://sdk.games.s3.yandex.net/sdk.js"></script>

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

<!-- Yandex Games SDK -->
<script>
    (function(d) {
        var s = d.createElement('script');
        s.src = "https://sdk.games.s3.yandex.net/sdk.js";
        s.async = true;
        s.onload = initSDK;
        d.body.append(s);
    })(document);
</script>

Khởi tạo

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

Hạn chế

Trong YaGames.init()ysdk.getPayments(), bạn có thể truyền tham số tùy chọn signed: boolean để bảo vệ chống gian lận. 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()payments.purchase() sẽ trả về dữ liệu dưới dạng mã hóa trong tham số signature.

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

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

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

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

 

Các vấn đề có thể xảy ra

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:

ysdk.adv.showFullscreenAdv()

bằng:

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

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

<!-- Yandex Games SDK -->
<script src="/sdk.js"></script>
<script>
    YaGames.init().then(ysdk => {
        // ...
    });
</script>

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.

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ợ:

Viết trong mục trò chuyện