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ı

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

  1. localhost sunucusunu ayarlayın.
  2. Oyunu taslak modunda açın.
  3. 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

  1. Node.JS sitesindeki talimatları izleyerek npm kurun.

  2. npm ile @yandex-games/sdk-dev-proxy paketini kurun:

    npm install -g @yandex-games/sdk-dev-proxy
    
  3. Oyunu başlatın. Şunları yapabilirsiniz:

    npx @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

--help

Yardım.

--host, -h

Oyunun yerel sunucusunun host adresi (örneğin webpack-dev-server için kullanılır).

--path, -p

Oyun kaynaklarının bulunduğu klasör yolu.

--port

Sunucunun açılacağı port (varsayılan: 8080).

--app-id, -i

Oyun taslağı ID'si.

--csp, -c

Content-Security-Policy içeren meta etiketi ekler. Bu etiket, servisteki index.html dosyasında oluşturulanla aynıdır.

--log, -l

İsteklerin konsola kaydedilmesini aktif eder (varsayılan: açık).

--tld

yandex.tld domainini değiştirir, örneğin yandex.com (varsayılan: ru).

--dev-mode

true ise oyun dev-ortamında başlar (varsayılan: false, prod-ortamına karşılık gelir).

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.