Yerel sunucudan başlat
Oyun geliştirme ve test sürecini kolaylaştırmak için oyunu yerel bir sunucudan başlatabilirsiniz. Testler prod- ve dev-ortamlarında yapılabilir.
Oyunu yerel sunucudan başlattıktan sonra SDK'nın tüm işlevlerini kullanabilirsiniz.
Prod-ortamı
Dikkat
Oyunu moderasyon için göndermeden önce son kontrol aşamasında kullanılabilir. Bu modda oyun, gerçek Yandex Oyunlar platformuyla etkileşime girer.
Özellikler:
- Oyun yandex.com.tr/games adresinden açılır.
- Harici hostlara istek göndermek için bunların CSP kurallarına eklenmesi gerekir.
- Gerçek reklamlar gösterilir.
- Oyuncu Yandex Passport üzerinden giriş yapar.
- Oyuncu verileri ve liderlik tabloları sunucuda saklanır.
- Ürün kataloğu sunucudan yüklenir, satın alımlar sunucuda işlenir.
- Hata ayıklama için adres çubuğuna
&debug-mode=16
parametresi eklenerek debug paneli kullanılabilir.
Prod-ortamında yerel oyun sürümünü başlatmayı şu şekilde ayarlayabilirsiniz:
Yerel sunucuyu manuel ayarlama
localhost
sunucusunu ayarlayın.- Oyunu taslak modunda açın.
- Adres çubuğuna
?game_url=https://localhost
parametresini ekleyin.
Not
Güvenlik nedeniyle game_url
parametresinde sadece localhost
domaini desteklenir.
npm paketi ile yerel sunucu ayarlama
-
Node.JS sitesindeki talimatları izleyerek
npm
kurun. -
npm
ile @yandex-games/sdk-dev-proxy paketini kurun:npm install -g @yandex-games/sdk-dev-proxy
-
Oyunu başlatın. Şunları yapabilirsiniz:
Yerel sunucuya proxy yapınOyun kaynaklarının bulunduğu klasörü belirtinnpx @yandex-games/sdk-dev-proxy -h <Yerel sunucu adresi>
npx @yandex-games/sdk-dev-proxy -p <Oyun dosyalarının yolu>
Paket, SDK kaynaklarına yapılan istekleri oyunun barındırılacağı sunucuya yönlendirir.
Eğer --app-id
parametresini eklerseniz, başlatma sırasında oyun yandex.com.tr/games adresinden açılacaktır:
npx @yandex-games/sdk-dev-proxy -p <Oyun dosyalarının yolu> --app-id=<Oyun ID>
Eğer --app-id
belirtmezseniz, konsolda oyun için şablon link ve yerel sunucu linki görüntülenecektir.
Başlatma parametreleri
Parametre |
Açıklama |
|
Yardım. |
|
Oyunun yerel sunucusunun host adresi (örneğin |
|
Oyun kaynaklarının bulunduğu klasör yolu. |
|
Sunucunun açılacağı port (varsayılan: 8080). |
|
Oyun taslağı ID'si. |
|
|
|
İsteklerin konsola kaydedilmesini aktif eder (varsayılan: açık). |
|
|
|
|
Dev-ortamı
Not
Yandex Oyunlar platformunda hesap oluşturma ve oyun taslağı gerekmez.
Aktif geliştirme ve oyun mantığını debug etme aşamasında uygundur. Bu modda oyunun Yandex Oyunlar platformuyla gerçek bir bağlantısı yoktur ve tüm SDK çağrıları mocklar ile değiştirilmiştir, bu sayede sayfa hızlıca yeniden yüklenebilir ve güncellemeler görülebilir.
Özellikler:
- Oyun doğrudan
https://localhost
adresinden açılır. - CSP kısıtlaması yoktur, harici hostlara istek gönderilebilir.
- Reklamlar yerine sahte içerikler gösterilir, tüm callback fonksiyonları prod-ortamındaki gibi çalışır.
- Oyuncu girişi tarayıcı mock dialogu üzerinden yapılır.
- Oyuncu verileri ve liderlik tabloları
localStorage
'da saklanır. - Ürün kataloğu yerel dosyadan yüklenir, satın alımlar
localStorage
'a kaydedilir. - Debug için tarayıcı adres çubuğundan parametreler ayarlanabilir.
- Tarayıcı konsolunda tüm SDK çağrıları modüllere göre gruplandırılarak otomatik olarak kaydedilir.
Dev-ortamında başlatma da @yandex-games/sdk-dev-proxy npm paketi üzerinden yapılabilir. Kurulum talimatları prod-ortamı ile aynıdır, sadece başlatırken --dev-mode=true
parametresi eklenmelidir.
Şunları yapabilirsiniz:
npx @yandex-games/sdk-dev-proxy -h <Yerel sunucu adresi> --dev-mode=true
npx @yandex-games/sdk-dev-proxy -p <Oyun dosyalarının yolu> --dev-mode=true
Tarayıcı adres çubuğu için kullanılabilir parametreler
export interface SDKMocks {
/** Masaüstüne kısayol ekleme izni var mı? */
canShowPrompt?: boolean;
/** Oyuncu giriş yapmış mı? */
isAuthorized?: boolean;
/** Oyunun yönelimi kilitli mi? */
lockedOrientation?: ELockedOrientation;
}
/** Mobil ekranda oyunun kilitli yönelimi. */
export enum ELockedOrientation {
/** Oyun sadece yatay modda desteklenir. */
LANDSCAPE = 'landscape',
/** Oyun her iki yönelimde de desteklenir. */
NONE = 'none',
/** Oyun sadece dikey modda desteklenir. */
PORTRAIT = 'portrait',
}
Örnek
localhost:8080?mocks={"canShowPrompt":true,"isAuthorized":true,"lockedOrientation":"landscape"}
Yerel ürün kataloğu ayarlama
Ürün kataloğunu mocklamak için proje kökünde purchases-catalog.json
dosyası oluşturun ve içine Geliştirici Konsolu'na eklediğiniz veya ekleyeceğiniz satın alma listesini ekleyin. SDK dev modunda bu dosyadan satın alma listesini yükleyecektir.
Örnek
[
{
"description": "Well styled modern avatar image",
"id": "avatar",
"imageURI": "{path-to-image}",
"price": "100 RUB",
"priceCurrencyCode": "RUB",
"priceValue": "100",
"title": "Premium avatar",
"getPriceCurrencyImage": "return ''"
}
]
Satın alma işlemi çağrıldığında, başarılı ve iptal edilmiş satın alma senaryolarını test etmek için mock dialog gösterilecektir.
Yatay yönelim.
Dikey yönelim.
Gerçek nesne veya fonksiyonların taklit edilmiş hali. Harici kaynak veya bileşenlere bağımlılık olmadan kod test etmek için kullanılır.
''
içine görselin yolu yazılabilir.