इस गाइड में, Google Play की गेम सेवाओं के लिए, Player Stats API का इस्तेमाल करने का तरीका बताया गया है. Player Stats API का इस्तेमाल करके, किसी खिलाड़ी की इन-गेम गतिविधि का डेटा पाया जा सकता है.
Player Stats API की मदद से, गेम के अनुभव को खिलाड़ियों के अलग-अलग सेगमेंट और उनकी लाइफ़साइकल के अलग-अलग स्टेज के हिसाब से बेहतर बनाया जा सकता है. खिलाड़ी गेम में कितना प्रोग्रेस कर रहे हैं, कितना खर्च कर रहे हैं, और गेम में उनकी दिलचस्पी कैसी है, इस आधार पर हर सेगमेंट के लिए उनका अनुभव खास बनाया जा सकता है. उदाहरण के लिए, इस एपीआई का इस्तेमाल करके, कम ऐक्टिव खिलाड़ी को अपने गेम में फिर से जुड़ने के लिए प्रोत्साहित किया जा सकता है. जैसे, जब खिलाड़ी की पुष्टि हो जाए, तब उसे गेम में मौजूद नई चीज़ें दिखाई जा सकती हैं और उनका प्रमोशन किया जा सकता है.
इन एपीआई को
com.google.android.gms.games.stats
और com.google.android.gms.games पैकेज में देखा जा सकता है.
शुरू करने से पहले
Player Stats API का इस्तेमाल शुरू करने से पहले:
- कोड सैंपल डाउनलोड करें और उसकी समीक्षा करें .
- क्वालिटी चेकलिस्ट में बताई गई सलाह के बारे में जानें.
Player Stats Client पाना
Player Stats API का इस्तेमाल शुरू करने के लिए, आपके गेम को सबसे पहले
PlayerStatsClient ऑब्जेक्ट पाना होगा. इसके लिए,
PlayerStatsClient.getPlayersClient()
तरीके का इस्तेमाल करें और गतिविधि की जानकारी उपलब्ध कराएं.
The
PlayerStatsClient
क्लास, Google Play services
Task
क्लास का इस्तेमाल करके, नतीजे एसिंक्रोनस तरीके से दिखाती है. बैकग्राउंड में किए जाने वाले काम को मैनेज करने के लिए, टास्क इस्तेमाल करने के बारे में ज़्यादा जानना है, तो
देखें
Tasks API डेवलपर गाइड.
Player Stats की बुनियादी बातें
Player Stats API का इस्तेमाल करके, किसी खिलाड़ी की इन-गेम गतिविधि का डेटा पाया जा सकता है. खिलाड़ी का जो डेटा पाया जा सकता है उसमें ये शामिल हैं:
सेशन की औसत अवधि: खिलाड़ी के सेशन की औसत अवधि, मिनटों में. सेशन की अवधि, Google Play की गेम सेवाओं से खिलाड़ी की पुष्टि होने के समय से तय होती है.
पिछली बार खेलने के बाद से दिन: खिलाड़ी ने पिछली बार कब खेला था, तब से लेकर अब तक के दिनों की अनुमानित संख्या.
खरीदारियों की संख्या: खिलाड़ी की इन-ऐप्लिकेशन खरीदारी की अनुमानित संख्या.
सेशन की संख्या: खिलाड़ी के सेशन की अनुमानित संख्या. सेशन की संख्या, Google Play की गेम सेवाओं से खिलाड़ी की पुष्टि होने की संख्या से तय होती है.
सेशन पर्सेंटाइल: खिलाड़ी के सेशन पर्सेंटाइल का अनुमान. इसे 0 से 1 के बीच की डेसिमल वैल्यू के तौर पर दिखाया जाता है. इसमें 0 और 1, दोनों शामिल हैं. इस वैल्यू से पता चलता है कि मौजूदा खिलाड़ी ने इस गेम के बाकी खिलाड़ियों की तुलना में कितने सेशन खेले हैं. ज़्यादा संख्याएं बताती हैं कि इस खिलाड़ी ने ज़्यादा सेशन खेले हैं.
खर्च पर्सेंटाइल: खिलाड़ी के खर्च पर्सेंटाइल का अनुमान. इसे 0 से 1 के बीच की डेसिमल वैल्यू के तौर पर दिखाया जाता है. इसमें 0 और 1, दोनों शामिल हैं. इस वैल्यू से पता चलता है कि मौजूदा खिलाड़ी ने इस गेम के बाकी खिलाड़ियों की तुलना में कितना खर्च किया है. ज़्यादा संख्याएं बताती हैं कि इस खिलाड़ी ने ज़्यादा खर्च किया है.
खिलाड़ी के डेटा के ये टाइप अब काम नहीं करते. ये हमेशा 'वैल्यू सेट नहीं है' वाला कॉन्स्टेंट दिखाते हैं:
- चर्न प्रोबैबिलिटी: इस बात का अनुमान कि कोई खिलाड़ी अगले दिन चर्न करेगा या नहीं. इसे 0 (चर्न होने की कम संभावना) से 1 (चर्न होने की ज़्यादा संभावना) के बीच की डेसिमल वैल्यू के तौर पर दिखाया जाता है. इसमें 0 और 1, दोनों शामिल हैं. चर्न का मतलब है सात दिनों तक कोई गतिविधि न होना.
- स्पेंड प्रोबैबिलिटी: इस बात की अनुमानित संभावना कि खिलाड़ी इस गेम में खर्च करेगा. इसे 0 (खर्च करने की कम संभावना) से 1 (खर्च करने की ज़्यादा संभावना) के बीच की डेसिमल वैल्यू के तौर पर दिखाया जाता है. इसमें 0 और 1, दोनों शामिल हैं.
- अगले 28 दिनों में कुल खर्च: इस गेम में अगले 28 दिनों में, खिलाड़ी के कुल अनुमानित खर्च की जानकारी.
- हाई स्पेंडर प्रोबैबिलिटी: इस बात की अनुमानित संभावना कि अगले 28 दिनों में कोई खिलाड़ी, इस गेम के 95वें पर्सेंटाइल या उससे ज़्यादा के खिलाड़ी बेस के बराबर खर्च करेगा. इसे 0 (हाई स्पेंडर बनने की कम संभावना) से 1 (हाई स्पेंडर बनने की ज़्यादा संभावना) के बीच की डेसिमल वैल्यू के तौर पर दिखाया जाता है.
खिलाड़ी के आंकड़ों का डेटा पाना
पुष्टि किए गए खिलाड़ी के आंकड़ों का डेटा पाने के लिए, यह तरीका अपनाएं:
PlayerStatsClient.loadPlayerStats()तरीके का इस्तेमाल करें.अगर कॉल सही तरीके से होती है, तो Google Play की गेम सेवाएं एक
Taskऑब्जेक्ट दिखाती हैं. यह एसिंक्रोनस तरीके से एकPlayerStatsऑब्जेक्ट लोड करता है. अपने ऐप्लिकेशन में, पुष्टि किए गए खिलाड़ी की गतिविधियों का डेटा पाने के लिए, इस ऑब्जेक्ट के तरीकों का इस्तेमाल करें.
यहां एक उदाहरण दिया गया है:
public void checkPlayerStats() { PlayGames.getPlayerStatsClient(this) .loadPlayerStats(true) .addOnCompleteListener(new OnCompleteListener<AnnotatedData<PlayerStats>>() { @Override public void onComplete(@NonNull Task<AnnotatedData<PlayerStats>> task) { if (task.isSuccessful()) { // Check for cached data. if (task.getResult().isStale()) { Log.d(TAG, "using cached data"); } PlayerStats stats = task.getResult().get(); if (stats != null) { Log.d(TAG, "Player stats loaded"); if (stats.getDaysSinceLastPlayed() > 7) { Log.d(TAG, "It's been longer than a week"); } if (stats.getNumberOfSessions() > 1000) { Log.d(TAG, "Veteran player"); } if (stats.getChurnProbability() == 1) { Log.d(TAG, "Player is at high risk of churn"); } } } else { int status = CommonStatusCodes.DEVELOPER_ERROR; if (task.getException() instanceof ApiException) { status = ((ApiException) task.getException()).getStatusCode(); } Log.d(TAG, "Failed to fetch Stats Data status: " + status + ": " + task.getException()); } } }); }
खिलाड़ी के आंकड़ों के डेटा का इस्तेमाल करने के बारे में सलाह
Play Stats API की मदद से, खिलाड़ियों की दिलचस्पी और खर्च करने के तरीके के आधार पर, अलग-अलग तरह के खिलाड़ियों की पहचान की जा सकती है. साथ ही, उनके गेम के अनुभव को बेहतर बनाने के लिए सही रणनीतियां लागू की जा सकती हैं.
यहां दी गई टेबल में, खिलाड़ी के सेगमेंट के कुछ उदाहरण और दिलचस्पी बढ़ाने के लिए सुझाई गई रणनीतियां दी गई हैं:
| खिलाड़ी का सेगमेंट | जुड़ाव की रणनीति |
|---|---|
| ऐसे खिलाड़ी जो अक्सर खेलते हैं. इनके सेशन की संख्या ज़्यादा होती है और स्पेंड पर्सेंटाइल भी अच्छा होता है. हालांकि, इन्होंने पिछले एक हफ़्ते या उससे ज़्यादा समय से नहीं खेला है. |
|
| ऐसे खिलाड़ी जो गेम में ज़्यादा दिलचस्पी दिखाते हैं, लेकिन इनका स्पेंड पर्सेंटाइल कम होता है. |
|
| ऐसे खिलाड़ी जो ज़्यादा खर्च करते हैं, लेकिन अब वे कम बार खेल रहे हैं. |
|
| ऐसे खिलाड़ी जिनके स्पेंड प्रोबैबिलिटी की वैल्यू बहुत ज़्यादा या बहुत कम होती है. |
|