Uzaktan yapılandırma
Uzaktan yapılandırma bayraklarını (Remote Config) almak için Yandex Oyun SDK'sındaki getFlags() yönteminin kullanımını ekleyin. Bayrakları oyunun başlangıcında bir kez talep etmenizi öneririz.
Kaydedilmiş bayrak değerlerini almak için getFlags() yöntemini kullanın.
const ysdk = await YaGames.init(); // SDK'yı başlatıyoruz.
const flags = await ysdk.getFlags(); // Yöntem bayraklarla bir nesne döndürüyor.
// Oyunun mantığında bir koşul ekleyebilirsiniz:
if (flags.difficult === 'hard') {
// Yüksek zorluk seviyesini etkinleştiriyoruz.
}
YaGames.init()
.then(ysdk => ysdk.getFlags())
.then(flags => {
// flags bayraklarla bir nesne içeriyor.
// Oyunun mantığında bir koşul ekleyebilirsiniz:
if (flags.difficult === 'hard') {
// Yüksek zorluk seviyesini etkinleştiriyoruz.
}
});
Yerel yapılandırma
Her zaman yerel bayrak yapılandırmasını oyunun koduna yerleştirmenizi öneririz, çünkü herhangi bir nedenle (örneğin, metroda ağ sorunları nedeniyle) sunucudan uzaktan yapılandırma alınamazsa, oyunun çalışabilirliğini artırır.
Bunun için getFlags() yöntemi ek parametreleri destekler. Yerel yapılandırmayı (düz bir nesne, değerler — dizeler) defaultFlags alanına iletmeniz gerekir.
Sonuç olarak, uzaktan ve yerel yapılandırmaların birleşimi elde edilir, öncelik uzaktan yapılandırmadadır.
YaGames.init()
.then(ysdk => ysdk.getFlags({ defaultFlags: { difficult: 'easy' } }))
.then(flags => {
// flags nesnesi { difficult: 'easy' } içerir.
});
İstemci parametreleri
Eğer oyununuz oyuncu hakkında bir durum saklıyorsa, örneğin, en az bir kez uygulama içi para birimi kullanmış mı, kaç seviyeyi geçmiş, kullanıcıyı çekirdek oyuncu olarak kabul edebilir miyiz, bu gerçekleri uzaktan yapılandırmada kullanabilirsiniz. Koşullara bağlı olarak bir bayrağın nasıl ayarlanacağı hakkında daha fazla bilgi için Adım 1. Bayrak konfigürasyonu oluşturun bölümüne bakın.
İstemci parametreleri getFlags() yönteminin clientFeatures alanına bir dizi olarak iletilmelidir.
await ile örnek
const ysdk = await YaGames.init(); // SDK'yı başlatıyoruz.
const player = await ysdk.getPlayer(); // Oyuncuyu alıyoruz.
const payingStatus = player.getPayingStatus(); // Kullanıcının platformdaki ödeme etkinliği durumunu alıyoruz.
// Kullanıcının ödeme etkinliği durumu istemci parametresi ile bayrakları talep ediyoruz.
const flags = await ysdk.getFlags({
clientFeatures: [
{name: 'payingStatus', value: payingStatus}
]
});
await olmadan örnekler
// İstemci parametresi levels=5 gönderiyoruz.
YaGames.init()
.then(ysdk => ysdk.getFlags({
defaultFlags: {},
clientFeatures: [
{ name: 'levels', value: '5' }
]})
)
.then(flags => {
// İstemci parametresi için koşul gerçekleşmedi.
// flags.showFullscreenAdOnStart === 'no'
});
// İstemci parametresi levels=10 gönderiyoruz.
YaGames.init()
.then(ysdk => ysdk.getFlags({
defaultFlags: {},
clientFeatures: [
{ name: 'levels', value: '10' }
]})
)
.then(flags => {
// İstemci parametresi için koşul gerçekleşti, başlangıçta reklam gösteriyoruz.
// flags.showFullscreenAdOnStart === 'yes'
});
// İki istemci parametresi ile örnek:
YaGames.init()
.then(ysdk => ysdk.getFlags({
defaultFlags: {},
clientFeatures: [
{ name: 'levels', value: '10' },
{ name: 'inAppPurchaseUsed', value: 'yes' }
]})
)
.then(flags => {
});
getFlags()yönteminin imzası ve arayüzleri
interface IFlags {
[key: string]: string;
}
interface ClientFeature {
name: string;
value: string;
}
interface IGetFlagsParams {
defaultFlags?: IFlags;
clientFeatures?: ClientFeature[];
}
function getFlags(getFlagsParams: IGetFlagsParams = {}): IFlags {}
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: