रिमोट कॉन्फ़िगरेशन

Yandex Games SDK के getFlags() मेथड का उपयोग जोड़ें ताकि फ्लैग्स के दूरस्थ कॉन्फ़िगरेशन (Remote Config) प्राप्त किए जा सकें। हम सुझाव देते हैं कि खेल के स्टार्ट पर एक बार फ्लैग्स का अनुरोध करें।

सहेजे गए फ्लैग्स के मूल्य प्राप्त करने के लिए, getFlags() मेथड का उपयोग करें।

const ysdk = await YaGames.init(); // SDK को इनिशियलाइज़ करें।
const flags = await ysdk.getFlags(); // मेथड फ्लैग्स के साथ एक ऑब्जेक्ट लौटाता है।

// खेल की लॉजिक में एक शर्त जोड़ सकते हैं:
if (flags.difficult === 'hard') {
    // उच्च कठिनाई सक्षम करें।
}
YaGames.init()
    .then(ysdk => ysdk.getFlags())
    .then(flags => {
        // flags में फ्लैग्स के साथ एक ऑब्जेक्ट होता है।

        // खेल की लॉजिक में एक शर्त जोड़ सकते हैं:
        if (flags.difficult === 'hard') {
            // उच्च कठिनाई सक्षम करें।
        }
    });

स्थानीय कॉन्फ़िगरेशन

हमेशा कोड में स्थानीय कॉन्फ़िगरेशन फ्लैग्स को एम्बेड करने की सलाह देते हैं, यदि किसी कारणवश (उदाहरण के लिए, मेट्रो में नेटवर्क समस्याओं के कारण) सर्वर से दूरस्थ कॉन्फ़िगरेशन प्राप्त करना संभव न हो। यह खेल के कामकाज को बढ़ाता है।

इसके लिए getFlags() मेथड अतिरिक्त पैरामीटर्स का समर्थन करता है। स्थानीय कॉन्फ़िगरेशन (फ्लैट ऑब्जेक्ट, मान — स्ट्रिंग्स) को defaultFlags फ़ील्ड में पारित करना होगा।

परिणामी ऑब्जेक्ट दूरस्थ और स्थानीय कॉन्फ़िगरेशन का एकीकरण होता है, प्राथमिकता दूरस्थ कॉन्फ़िगरेशन को दी जाती है।

YaGames.init()
    .then(ysdk => ysdk.getFlags({ defaultFlags: { difficult: 'easy' } }))
    .then(flags => {
        // flags में ऑब्जेक्ट { difficult: 'easy' } होता है।
    });

क्लाइंट पैरामीटर्स

यदि आपका खेल खिलाड़ी की स्थिति को सहेजता है, उदाहरण के लिए, क्या वह कम से कम एक बार गेम करेंसी का उपयोग किया, कितने स्तरों को पार किया, क्या उपयोगकर्ता को कोर-प्लेयर माना जा सकता है, तो इन तथ्यों का उपयोग दूरस्थ कॉन्फ़िगरेशन में किया जा सकता है। शर्तों के आधार पर फ्लैग कैसे सेट करें, इसके बारे में अधिक जानने के लिए फ्लैग कॉन्फ़िगरेशन बनाएँ खंड देखें।

क्लाइंट पैरामीटर्स को getFlags() मेथड की clientFeatures फ़ील्ड में एरे के रूप में पास करना होगा।

await के साथ उदाहरण

const ysdk = await YaGames.init(); // SDK को इनिशियलाइज़ करें।
const player = await ysdk.getPlayer(); // खिलाड़ी प्राप्त करें।
const payingStatus = player.getPayingStatus(); // उपयोगकर्ता के प्लेटफ़ॉर्म पर भुगतान सक्रियता का स्थिति प्राप्त करें।

// उपयोगकर्ता की भुगतान सक्रियता स्थिति के क्लाइंट पैरामीटर के साथ फ्लैग्स का अनुरोध करें।
const flags = await ysdk.getFlags({
    clientFeatures: [
        {name: 'payingStatus', value: payingStatus}
    ]
});

बिना await के उदाहरण

// क्लाइंट पैरामीटर के रूप में levels=5 भेजें।
YaGames.init()
    .then(ysdk => ysdk.getFlags({
        defaultFlags: {},
        clientFeatures: [
            { name: 'levels', value: '5' }
        ]})
    )
    .then(flags => {
        // क्लाइंट पैरामीटर पर शर्त काम नहीं की।
        // flags.showFullscreenAdOnStart === 'no'
    });

// क्लाइंट पैरामीटर के रूप में levels=10 भेजें।
YaGames.init()
    .then(ysdk => ysdk.getFlags({
        defaultFlags: {},
        clientFeatures: [
            { name: 'levels', value: '10' }
        ]})
    )
    .then(flags => {
        // क्लाइंट पैरामीटर पर शर्त काम की, स्टार्ट पर विज्ञापन दिखाएं।
        // flags.showFullscreenAdOnStart === 'yes'
    });

// दो क्लाइंट पैरामीटर्स के साथ उदाहरण:
YaGames.init()
    .then(ysdk => ysdk.getFlags({
        defaultFlags: {},
        clientFeatures: [
            { name: 'levels', value: '10' },
            { name: 'inAppPurchaseUsed', value: 'yes' }
        ]})
    )
    .then(flags => {

    });

getFlags() मेथड का सिग्नेचर और इंटरफेसेज

interface IFlags {
    [key: string]: string;
}

interface ClientFeature {
    name: string;
    value: string;
}

interface IGetFlagsParams {
    defaultFlags?: IFlags;
    clientFeatures?: ClientFeature[];
}

function getFlags(getFlagsParams: IGetFlagsParams = {}): IFlags {}

नोट

टीम सपोर्ट के कर्मचारी यंडेक्स गेम्स प्लेटफॉर्म पर तैयार खेल को डालने में मदद करते हैं। डेवलपमेंट और परीक्षण के संबंध में आवेदनिक प्रश्नों का उत्तर अन्य डेवलपर्स देंगे Discord चैनल

यदि आप किसी समस्या का सामना कर रहे हैं या Yandex Games SDK के इस्तेमाल के बारे में आपका कोई प्रश्न है, तो कृपया समर्थन से संपर्क करें:

चैट करने के लिए लिखें