इन-गेम खरीदारियाँ

आप उपयोगकर्ताओं को इन-गेम खरीदारी करने का विकल्प देकर राजस्व कमा सकते हैं। उदाहरण के लिए, वे लेवल पूरा करने के लिए अतिरिक्त समय या किसी पात्र के लिए एक्सेसरी खरीद सकते हैं। ऐसा करने के लिए:

पोर्टल मुद्रा

यान (Yan) — यह यांडेक्स गेम्स प्लेटफ़ॉर्म की पोर्टल मुद्रा है, जिसका उपयोग इन-गेम खरीदारी के लिए किया जाता है। यान सभी गेम्स के लिए खिलाड़ी की एकीकृत बैलेंस में संग्रहीत होते हैं, जिसे बैंक कार्ड्स की मदद से रीचार्ज किया जा सकता है। यान से रूबल का विनिमय दर गतिशील (डायनामिक) होता है।

नोट

अंतरराष्ट्रीय भुगतानों के लिए, यान से मुद्रा का अनुपात खिलाड़ी के देश पर निर्भर करेगा।

बैलेंस को रीचार्ज किया जा सकता है:

  • कैटलॉग की हैडर में;
  • खिलाड़ी की प्रोफ़ाइल में;
  • गेम में खरीदारी के दौरान।

उपयोगकर्ता प्रमोशन में भाग लेने या फिक्स्ड पैक खरीदने पर भी यान बोनस के रूप में प्राप्त कर सकते हैं।

इन-गेम खरीदारी यांडेक्स पर लॉगिन किए हुए उपयोगकर्ताओं के साथ-साथ बिना लॉगिन किए हुए उपयोगकर्ता भी कर सकते हैं। उपयोगकर्ता खेल के दौरान, और यहां तक कि खरीदारी के समय भी लॉगिन कर सकते हैं।

पोर्टल करेंसी के इंट्रोड्यूस होने के कारण डेवलपर को दी जाने वाली लाइसेंसिंग फीस की प्रक्रिया और शर्तों में कोई बदलाव नहीं होगा।

कनेक्शन की शर्तें

खरीदारी को जोड़ने की आवश्यकताएँ आपकी कानूनी इकाई के निवास स्थान पर निर्भर करती हैं।

खरीदारी सेट करने और परीक्षण करने के लिए, "Deed of Transfer of Non-exclusive Rights to Use the Game" पर हस्ताक्षर करना आवश्यक है।

जब आप खरीदारी जोड़ लें और गेम के ड्राफ़्ट को प्रकाशित कर दें, तो प्रमाणपत्र का फॉर्म प्राप्त करने के लिए कृपया इस पते पर ईमेल भेजें: games-partners@yandex-team.com। ईमेल में गेम का नाम और आईडी (ID) अवश्य लिखें।

आपके ईमेल के जवाब में आपको "Deed of Transfer of Non-exclusive Rights to Use the Game" का फॉर्म मिलेगा। इस फॉर्म को भरें, हस्ताक्षर करें और इसका स्कैन (या अच्छी गुणवत्ता की फोटो) हमारे ईमेल पर जवाब में भेज दें।

केवल हस्ताक्षरित प्रमाणपत्र प्राप्त होने के बाद ही इन-गेम खरीदारी को सेटअप और टेस्ट किया जा सकता है।

खरीदारी जोड़ने और गेम के ड्राफ़्ट को प्रकाशित करने के बाद, कृपया खरीदारी को एक्टिवेट कराने के लिए अनुरोध भेजें: games-partners@yandex-team.com। इस ईमेल में गेम का नाम, आईडी (ID), और आपकी कानूनी इकाई का निवास देश अवश्य दर्ज करें।

खरीद प्रक्रिया

इन-गेम खरीदारी को निम्नलिखित विधि द्वारा सक्रिय किया जा सकता है:

ysdk.payments.create_purchase(callback, options)

callback — function — कॉलबैक बुलाए गए मेथड का। इसका रूप है:

function(self, purchase: table|nil, signature: string|nil): nil
  • purchase: table — खरीदारी की जानकारी। इसमें निम्नलिखित गुण होते हैं:
    • product_id: string — उत्पाद की पहचान।
    • purchase_token: string — खरीद के उपयोग के लिए टोकन।
    • developer_payload: string|nil — खरीद से संबंधित अतिरिक्त डेटा।
  • signature: string|nil — खरीद डेटा और प्लेयर की प्रामाणिकता जांचने के लिए हस्ताक्षर।

options — मेथड के पैरामीटर। इसमें ये गुण शामिल हैं:

  • id: string — उस उत्पाद की पहचान जो डेवेलपर कंसोल में सेट की गई है।
  • developer_payload: string — वैकल्पिक पैरामीटर। वह अतिरिक्त जानकारी जो आप अपने सर्वर पर भेजना चाहते हैं (यह signature पैरामीटर में शामिल होगी)।
  • signed: boolean|nil — वैकल्पिक पैरामीटर। यह गेम को धोखाधड़ी से बचाने के लिए है।

उदाहरण

function buy_item(id)
  ysdk.payments.create_purchase(
    function(self, purchase, signature)
      if purchase then
        print(purchase.product_id, signature)
      end
    end,
    { id, signed = true }
  )
end

खरीदी गई वस्तुओं की सूची प्राप्त करना

यह जानने के लिए कि खिलाड़ी ने पहले से कौन-कौन सी चीज़ें खरीदी हैं, निम्नलिखित मेथड का उपयोग करें:

ysdk.payments.getPurchases(
    callback: function,
    options : {
        signed: boolean|nil
    }
)

callback — function — कॉलबैक बुलाए गए मेथड का। इसका रूप है:

function(self, purchase: Purchase[]|nil, signature: string|nil): nil
  • Purchase — खरीद के बारे में जानकारी। इसमें निम्नलिखित प्रॉपर्टीज़ होती हैं:

    • product_id: string — प्रोडक्ट की पहचान।
    • purchase_token: string — खरीद को इस्तेमाल करने के लिए टोकन।
    • developer_payload: string|nil — खरीद के बारे में अतिरिक्त डेटा।
  • signature: string|nil — खरीद से संबंधित डेटा और खिलाड़ी की प्रामाणिकता की पुष्टि के लिए सिग्नेचर।

उदाहरण

function display_puchases()
  ysdk.payments.get_purchases(function(self, purchases)
    if purchases then
      for k, v in pairs(purchases) do print(k, v) end
    end
  end)
end

सभी उत्पादों की सूची प्राप्त करना

उपलब्ध खरीदारी और उनकी कीमतों की सूची प्राप्त करने के लिए, ysdk.payments.getCatalog() विधि का उपयोग करें।

ysdk.payments.getCatalog(callback: function)

callback — function — कॉलबैक बुलाए गए मेथड का। इसका स्वरूप है:

function(self, products: Product[]|nil): nil
  • products: table[] — सामानों की जानकारी। इसमें ये गुण शामिल हैं:
products = [
    {
        id: string,
        title: string,
        description: string,
        image_uri: string,
        price: string,
        price_value: string,
        price_currency_code: string,
        price_currency_image: {
            small: string,
            medium: string,
            svg: string
        }
    },
    ...
]

उदाहरण

function display_shop()
  ysdk.payments.get_catalog(function(self, products)
    if products then
      for k, v in pairs(products) do print(v.title, v.price, v.description) end
    end
  end)
end

खरीदारी की प्रोसेसिंग और इन-गेम करेंसी जोड़ना

खरीदारी के दो प्रकार होते हैं — स्थायी (जैसे विज्ञापन हटाना) और उपभोग्य (जैसे इन-गेम करेंसी)।

स्थायी खरीदारी को प्रोसेस करने के लिए ysdk.payments.get_purchases() मेथड का उपयोग करें।

उपभोग्य खरीदारी को प्रोसेस करने के लिए ysdk.payments.consume_purchase() मेथड का उपयोग करें।

ysdk.payments.consume_purchase(purchase_token: string)

Внимание

ysdk.payments.consume_purchase() विधि को कॉल करने के बाद, प्रोसेस की गई खरीदारी को वापस नहीं लाया जा सकता है। इसलिए पहले खिलाड़ी के डाटा को ysdk.player.set_stats() या ysdk.player.increment_stats() विधियों से अपडेट करें, और उसके बाद खरीदारी को प्रोसेस करें।

उदाहरण

function buy_item(id)
  ysdk.payments.create_purchase(
    function(self, purchase)
      if purchase then
        ysdk.payments.consume_puchase(purchase.purchase_token)
      end
    end,
    { id }
  )
end

रिपोजिटरी