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:
- Oyun arşivini Geliştirici Konsolu üzerinden Yandex sunucusuna yüklüyorsanız, göreceli yolu belirtin. Bu önerilen seçenektir.
- Kendi alan adınız üzerinden entegrasyon kullanıyorsanız, mutlak 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: booleanparametresi olmadan çağırın veyasigned: falsegeçin. Satın alma metotları verileri açık şekilde döndürür. - Sunucu tarafında işleniyorsa —
signed: truegeç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:
-
Oyunu debug paneli ile başlatın:
Geliştirici konsolu üzerindenURL adres çubuğuyla- Yandex Oyun Konsolunu açın.
- İlgili oyunu seçin.
- Sol üst köşede Open with debug panel'e tıklayın.
-
İlgili oyunu açın.
-
Tarayıcıdaki URL adresinin sonuna
&debug-mode=16ekleyin.Bağlantı örneği:
https://yandex.com.tr/games/app/XXXX?debug-mode=16, buradaXXXX— oyunun benzersiz tanımlayıcısı.
-
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: