Bağlantı ve kullanım

Bağlantı

Dikkat

Oyununuzun moderasyondan başarıyla geçmesi için Yandex Games SDK'sını bağlamak üzere güncel yolu belirtin:

Yandex Games SDK'sını iki eşdeğer yöntemle bağlayabilirsiniz:

  • <script> etiketi aracılığıyla.
  • Dinamik yükleme — bağlantı sürecini programatik olarak kontrol etmenize ve yükleme olaylarını işlemenize olanak tanır.

Yandex sunucusu

Not

Geliştirme sırasında /sdk.js'i proxy'lemek için yerel sunucuyu kullanın. sdk.js dosyasını indirmenize gerek yoktur.

HTML sayfasının <head> başlığına şu satırı ekleyin:

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

Şu nitelikleri kullanın:

  • async — engellemesiz yükleme için.
  • onload — betik yüklendikten sonra kod çalıştırmak için.

Betik yüklendikten sonra initSDK'yı başlatmak için kod örneği. initSDK, SDK başlatmayı ifade eder:

1<!-- Yandex Games SDK -->
2<script async src="/sdk.js" onload="initSDK()"></script>

Kendi <script> etiketinize veya JSON dosyanıza şu kod parçasını ekleyin:

1const script = document.createElement('script');
2script.src = '/sdk.js';
3script.async = true;
4script.onload = initSDK;
5document.body.append(script);

Bu örnekte initSDK, betik yüklendikten sonra SDK başlatmayı ifade eder.

Kendi alan adınız

Oyunu kendi alan adınızda barındırırken, göreceli /sdk.js yerine mutlak https://sdk.games.s3.yandex.net/sdk.js yolunu kullanın:

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

Kullanım

Betiği yükledikten sonra YaGames nesnesinin init() yöntemini kullanarak SDK'yı başlatın.

Öneri

YaGames.init() ve ysdk.getPayments() metodlarına isteğe bağlı signed: boolean parametresi geçilebilir. Bu parametre, dolandırıcılığa karşı koruma için kullanılır. Parametrenin değeri, ödemelerin nerede işlendiğine bağlıdır:

  • İstemci tarafında işleniyorsa — metotları signed: boolean parametresi olmadan çağırın veya signed: false geçin. Satın alma metotları verileri açık şekilde döndürür.
  • Sunucu tarafında işleniyorsa — signed: true geçin. Bu durumda payments.getPurchases() ve payments.purchase() metotlarının yanıtlarında tüm veriler yalnızca şifrelenmiş şekilde signature parametresinde döner.

Varsayılan parametreyle (signed: false) başlatma:

const ysdk = await YaGames.init();

signed: true parametresiyle başlatma:

const ysdk = await YaGames.init({ signed: true });

 

Doğrulama

Önemli

/sdk.js betiği YaGames.init() çalıştırılmadan önce bağlanmalıdır.

Yükleyiciyi kullanarak SDK'nın doğru bağlandığını kontrol edin:

  1. Oyunu debug paneli ile başlatın:

    1. Yandex Oyun Konsolunu açın.
    2. İlgili oyunu seçin.
    3. Sol üst köşede Open with debug panel'e tıklayın.
    1. İlgili oyunu açın.

    2. Tarayıcıdaki URL adresinin sonuna &debug-mode=16 ekleyin.

      Bağlantı örneği: https://yandex.com.tr/games/app/XXXX?debug-mode=16, burada XXXX — oyunun benzersiz tanımlayıcısı.

  2. Sol alt köşede yükleyici göstergesinin değerini kontrol edin:

    • W — başlatma bekliyor.
    • IT — SDK yükleyicisi doğru şekilde başlatıldı.
    • IF — eski bir yükleyici kullanılıyor. SDK'yı belgelere göre yükleyin.

Olası sorunlar

Uncaught ReferenceError: YaGames is not defined

sdk betiğinin bağlanma sırasına dikkat edin: YaGames.init() çalıştırılmadan önce bağlanmalıdır.

Uncaught ReferenceError: ysdk is not defined

SDK başlatılmadan önce SDK yöntemlerini (reklam, satın almalar vb.) kullanmaya çalıştınız. Başlatma anı, hata ayıklama modunda konsolda Initialized mesajıyla izlenebilir. Çağrı sırasını kontrol etmek için yöntem çağrısından önce SDK başlatmasını ekleyin:

1const ysdk = await YaGames.init();
2
3ysdk.adv.showFullscreenAdv();

SDK bağlantı örneği

1<!-- Yandex Games SDK -->
2<script async src="/sdk.js" onload="initSDK()"></script>
3<script>
4    async function initSDK() {
5        const ysdk = await YaGames.init();
6        ...
7    }
8</script>

Not

Destek ekibi, hazır oyunu Yandex Oyun platformuna yerleştirmenize yardımcı olur. Geliştirme ve test etme konularındaki uygulamalı sorulara ise diğer geliştiriciler Discord Topluluğu yanıt verir.

Yandex Games SDK kullanırken sorunla karşılaşırsanız veya sorunuz varsa, lütfen destek ekibiyle iletişime geçin:

Sohbete yaz