इस गाइड में, Google Play Games Services के ज़रिए उपलब्ध कराए गए इवेंट एपीआई का इस्तेमाल करके, गेम के आंकड़ों के लिए खिलाड़ी के गेमप्ले डेटा को इकट्ठा करने का तरीका बताया गया है. एपीआई, com.google.android.gms.games.event
और com.google.android.gms.games
पैकेज में मिल सकते हैं.
शुरू करने से पहले
अगर आपने अभी तक ऐसा नहीं किया है, तो इवेंट और गेम के कॉन्सेप्ट की समीक्षा करना आपके लिए मददगार हो सकता है.
इवेंट एपीआई का इस्तेमाल करके कोड लिखने से पहले:
Google Play Console में अपने गेम के लिए इवेंट तय करें.
साइन इन करने से जुड़ी चेकलिस्ट के सुझावों का पालन करें.
इवेंट क्लाइंट पाना
इवेंट एपीआई का इस्तेमाल शुरू करने के लिए, आपके गेम को पहले एक
EventsClient
ऑब्जेक्ट पाना होगा. ऐसा करने के लिए, PlayGames.getEventsClient()
विधि को कॉल करके गतिविधि को पास करें.
इवेंट सबमिट करना
अपने गेम में कोड जोड़कर, Play Games Services को सूचना दी जा सकती है कि आपके गेम में कोई दिलचस्प इवेंट हुआ है.
इवेंट अपडेट भेजने के लिए, eventId
वैल्यू और 0 के बराबर या उससे ज़्यादा के पूर्णांक incrementAmount
के साथ EventsClient.increment()
को कॉल करें.
eventId
को Play Games Services जनरेट करता है. ऐसा तब होता है, जब Google Play Console में पहली बार इवेंट तय किया जाता है. इसका इस्तेमाल, आपके गेम में इस इवेंट की खास पहचान करने के लिए किया जाता है.incrementAmount
इनपुट का इस्तेमाल करके, गेम के किसी लक्ष्य को पूरा करने के लिए, खिलाड़ी की संख्यात्मक प्रगति के बारे में बताया जा सकता है. उदाहरण के लिए, अगर आपके गेम में '500 बग-आइड मॉन्स्टर को हराएं' इवेंट को ट्रैक करना है, तोincrementAmount
वैल्यू उन मॉन्स्टर की संख्या हो सकती है जिन्हें खिलाड़ी ने एक ही लड़ाई में मारा है.
यहां एक उदाहरण दिया गया है, जिसमें 1 की बढ़ोतरी वाले इवेंट को सबमिट करने का तरीका बताया गया है:
public void submitEvent(String eventId) { PlayGames.getEventsClient(this) .increment(eventId, 1); }
इवेंट वापस लाना
EventsClient.load()
को कॉल करके, अपने गेम के लिए Google के सर्वर में सेव किए गए सभी इवेंट का डेटा वापस पाया जा सकता है.
मेथड कॉल में, बूलियन वैल्यू पास करें. इससे यह पता चलता है कि Play Games Services को उपयोगकर्ता के डिवाइस पर, कैश मेमोरी में सेव किया गया डेटा मिटाना चाहिए या नहीं.
Google Play Console में तय किए गए खास इवेंट का डेटा पाने के लिए, EventsClient.loadByIds()
को कॉल करें और इनपुट पैरामीटर में इवेंट आईडी का कलेक्शन पास करें.
यहां दिए गए स्निपेट में, अपने गेम के सभी इवेंट की सूची के लिए, Play Games Services से क्वेरी करने का तरीका बताया गया है:
public void loadEvents() { PlayGames.getEventsClient(this) .load(true) .addOnCompleteListener(new OnCompleteListener<AnnotatedData<EventBuffer>>() { @Override public void onComplete(@NonNull Task<AnnotatedData<EventBuffer>> task) { if (task.isSuccessful()) { // Process all the events. for (Event event : task.getResult().get()) { Log.d(TAG, "loaded event " + event.getName()); } } else { // Handle Error Exception exception = task.getException(); int statusCode = CommonStatusCodes.DEVELOPER_ERROR; if (exception instanceof ApiException) { ApiException apiException = (ApiException) exception; statusCode = apiException.getStatusCode(); } showError(statusCode); } } }); }