अपने गेम में खिलाड़ी के आंकड़े जोड़ना

Google साइन-इन एपीआई के बंद होने के बाद, हम 2026 में Games v1 SDK को हटा रहे हैं. फ़रवरी 2025 के बाद, Google Play पर ऐसे गेम पब्लिश नहीं किए जा सकेंगे जो Games v1 SDK के साथ हाल ही में इंटिग्रेट किए गए हैं. हमारा सुझाव है कि आप इसके बजाय, Games v2 SDK का इस्तेमाल करें.
हालांकि, पिछले गेम के v1 के साथ इंटिग्रेट किए गए मौजूदा टाइटल, कुछ सालों तक काम करते रहेंगे. फिर भी हमारा सुझाव है कि आप जून 2025 से v2 पर माइग्रेट कर लें.
यह गाइड, Play की गेम सेवाओं के v1 SDK का इस्तेमाल करने के लिए है. Play की गेम सेवाएं v2 के लिए, C++ एसडीके टूल फ़िलहाल उपलब्ध नहीं है.

Player Stats API की मदद से, गेम के अनुभव को खिलाड़ियों के अलग-अलग सेगमेंट और उनकी लाइफ़साइकल के अलग-अलग स्टेज के हिसाब से बेहतर बनाया जा सकता है. खिलाड़ी गेम में कितना प्रोग्रेस कर रहे हैं, कितना खर्च कर रहे हैं, और गेम में उनकी दिलचस्पी कैसी है, इस आधार पर हर सेगमेंट के लिए उनका अनुभव खास बनाया जा सकता है. उदाहरण के लिए, इस एपीआई का इस्तेमाल करके, कम ऐक्टिव खिलाड़ी को अपने गेम में फिर से जुड़ने के लिए प्रोत्साहित किया जा सकता है. जैसे, जब खिलाड़ी साइन इन करे, तब उसे गेम में मौजूद नई चीज़ें दिखाई जा सकती हैं और उनका प्रमोशन किया जा सकता है.

इस गाइड में, नेटिव C++ या Objective-C ऐप्लिकेशन में Player Stats API का इस्तेमाल करने का तरीका बताया गया है.

खिलाड़ी के आंकड़ों के बारे में बुनियादी जानकारी

खिलाड़ी की गेम में की गई गतिविधि का डेटा वापस पाने के लिए, Player Stats API का इस्तेमाल किया जा सकता है. खिलाड़ी के इस तरह के डेटा को वापस पाया जा सकता है:

  • सेशन की औसत अवधि: यह खिलाड़ी के सेशन की औसत अवधि को मिनटों में दिखाती है. सेशन की अवधि, इस बात से तय होती है कि कोई खिलाड़ी Google Play की गेम सेवाओं में कितने समय तक साइन इन रहता है.
  • ऐप्लिकेशन या साइट छोड़ने की संभावना: इससे यह अनुमान लगाया जाता है कि कोई खिलाड़ी अगले दिन ऐप्लिकेशन या साइट छोड़ देगा या नहीं. इसे 0 (ऐप्लिकेशन या साइट छोड़ने की कम संभावना) या 1 (ऐप्लिकेशन या साइट छोड़ने की ज़्यादा संभावना) के तौर पर दिखाया जाता है. सात दिनों तक कोई गतिविधि न होने को चर्न कहा जाता है.
  • पिछली बार गेम खेलने के बाद से दिन: इससे पता चलता है कि खिलाड़ी ने पिछली बार गेम कब खेला था.
  • खरीदारी की संख्या: खिलाड़ी के लिए, इन-ऐप्लिकेशन खरीदारी की अनुमानित संख्या.
  • सेशन की संख्या: प्लेयर के सेशन की अनुमानित संख्या. सेशन की संख्या इस बात से तय होती है कि कोई खिलाड़ी, Google Play की गेम सेवाओं में कितनी बार साइन इन करता है.
  • सेशन पर्सेंटाइल: यह खिलाड़ी के सेशन पर्सेंटाइल का अनुमान है. इसे 0 और 1 (दोनों शामिल) के बीच की दशमलव वैल्यू के तौर पर दिखाया जाता है. इस वैल्यू से पता चलता है कि मौजूदा खिलाड़ी ने इस गेम के अन्य खिलाड़ियों की तुलना में कितने सेशन खेले हैं. ज़्यादा संख्या का मतलब है कि इस प्लेयर ने ज़्यादा सेशन खेले हैं.
  • खर्च का पर्सेंटाइल: यह खिलाड़ी के खर्च का अनुमानित पर्सेंटाइल होता है. इसे 0 से 1 के बीच की दशमलव वैल्यू के तौर पर दिखाया जाता है. इसमें 0 और 1 भी शामिल हैं. इस वैल्यू से पता चलता है कि मौजूदा खिलाड़ी ने इस गेम के अन्य खिलाड़ियों की तुलना में कितना खर्च किया है. ज़्यादा संख्या का मतलब है कि इस प्लेयर ने ज़्यादा खर्च किया है.

C++ का इस्तेमाल करके, मौजूदा समय में साइन इन किए हुए खिलाड़ी के आंकड़े पाना

// Create the callback for our asynchronous fetch call.  This callback will
// log either an error or the average session length for the currently
// signed-in player.
gpg::StatsManager::FetchForPlayerCallback callback = [](gpg::StatsManager::FetchForPlayerResponse const &response) {
  if (IsError(response.status)) {
    LogE("An error occurred fetching player stats.");
  } else {
  gpg::PlayerStats const & player_stats = response.data;
    if (player_stats.HasAverageSessionLength()) {
      LogI("Average session length: %f", player_stats.AverageSessionLength());
    } else {
      LogW("Currently signed-in player had no associated average session length stats.");
    }
  }
};
// Asynchronously fetch the Player Stats.  When the fetch is finished it
// will call our callback. game_services_ is the std::unique_ptr<GameServices>
// returned by gpg::GameServices::Builder.Create()
game_services_->Stats().FetchForPlayer(callback);

Objective-C का इस्तेमाल करके, फ़िलहाल साइन इन किए हुए खिलाड़ी के आंकड़े पाना

// Asynchronously fetches the Player Stats and then logs either a
// description of them or an error
[GPGPlayerStats playerStatsWithCompletionHandler:^(GPGPlayerStats *playerStats, NSError *error) {
  if (error) {
    NSLog(@"Error fetching player stats: %@", error);
  } else {
    NSLog(@"Description of stats for the currently signed-in player: %@", playerStats);
  }
}];

खिलाड़ी के आंकड़ों के डेटा का इस्तेमाल करने के बारे में सलाह

Play Stats API की मदद से, खिलाड़ियों की दिलचस्पी और खर्च करने के तरीके के आधार पर, अलग-अलग तरह के खिलाड़ियों की आसानी से पहचान की जा सकती है. साथ ही, उनके गेम के अनुभव को बेहतर बनाने के लिए सही रणनीतियां लागू की जा सकती हैं.

यहां दी गई टेबल में, प्लेयर सेगमेंट के कुछ उदाहरण और उनसे जुड़ने के लिए सुझाई गई रणनीतियां दी गई हैं:

प्लेयर सेगमेंट उपयोगकर्ता जुड़ाव बढ़ाने की रणनीति
ऐसे खिलाड़ी जो अक्सर गेम खेलते हैं और जिनके सेशन की संख्या ज़्यादा है. साथ ही, खर्च के मामले में वे अच्छे पर्सेंटाइल में हैं, लेकिन उन्होंने पिछले हफ़्ते या उससे ज़्यादा समय से गेम नहीं खेला है.
  • उन्हें गेम खेलने के लिए वापस आने पर मिलने वाली छूट या खास बोनस के बारे में सूचना भेजें.
  • वापस आने पर स्वागत वाला मैसेज दिखाएं, जिसमें उनकी शानदार उपलब्धियों के बारे में बताया गया हो. साथ ही, उन्हें एक ऐसा बैज दें जिससे उन्हें गेम खेलने के लिए बढ़ावा मिले.
कम खर्च करने वाले पर्सेंटाइल में शामिल ऐसे खिलाड़ी जिन्हें गेम में बहुत दिलचस्पी है.
  • उन्हें बोनस दें, ताकि वे अपने दोस्तों को आपका गेम इंस्टॉल करने और उसमें शामिल होने का न्योता दें. इस रणनीति में, नए खिलाड़ियों को शामिल करने के लिए, गेम में खिलाड़ी की दिलचस्पी को ध्यान में रखा जाता है.
ज़्यादा खर्च करने वाले ऐसे खिलाड़ी जो अब कम बार गेम खेल रहे हैं.
  • उनकी दिलचस्पी बनाए रखने के लिए, बोनस को उनकी पसंद के हिसाब से बनाएं. जैसे, उन्हें कम समय के लिए ज़्यादा फ़ायदे वाले टूल, हथियार या छूट दें.
  • जब प्लेयर अगली बार साइन इन करे, तो उसे एक ऐसा वीडियो दिखाएं जिसमें उसे कम्यूनिटी की सुविधाओं के बारे में बताया गया हो. जैसे, कबीले के हमले. इससे प्लेयर, गेम में ज़्यादा बार और ज़्यादा समय तक जुड़ा रहेगा.