इस गाइड में, Google Play की गेम सेवाओं के इवेंट एपीआई का इस्तेमाल करके, गेम के विश्लेषण के लिए खिलाड़ी के गेमप्ले का डेटा इकट्ठा करने का तरीका बताया गया है. ये एपीआई, com.google.android.gms.games.event
और com.google.android.gms.games
पैकेज में उपलब्ध हैं.
शुरू करने से पहले
अगर आपने अब तक ऐसा नहीं किया है, तो इवेंट गेम कॉन्सेप्ट की समीक्षा करना आपके लिए फ़ायदेमंद हो सकता है.
इवेंट एपीआई का इस्तेमाल करके कोडिंग शुरू करने से पहले:
Google Play Console में जाकर, अपने गेम के लिए इवेंट तय करें.
साइन-इन करने से जुड़ी चेकलिस्ट में दिए गए सुझावों का पालन करें.
इवेंट क्लाइंट पाना
इवेंट एपीआई का इस्तेमाल शुरू करने के लिए, आपके गेम को सबसे पहले EventsClient
ऑब्जेक्ट पाना होगा. इसके लिए, PlayGames.getEventsClient()
तरीके को कॉल करें और गतिविधि को पास करें.
EventsClient
थ्रेड किए गए काम को मैनेज करने के लिए, टास्क का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, Tasks API डेवलपर गाइड देखें.
इवेंट सबमिट करना
अपने गेम में कोड जोड़ा जा सकता है, ताकि जब भी गेम से जुड़ा कोई इवेंट हो, तो Play Games Services को सूचना दी जा सके.
इवेंट अपडेट भेजने के लिए, EventsClient.increment()
को कॉल करें. इसके लिए, eventId
वैल्यू और incrementAmount
पूर्णांक का इस्तेमाल करें. incrementAmount
की वैल्यू 0 के बराबर या उससे ज़्यादा होनी चाहिए.
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 की गेम सेवाओं को उपयोगकर्ता के डिवाइस पर, स्थानीय तौर पर कैश मेमोरी में सेव किया गया डेटा मिटाना चाहिए या नहीं.
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); } } }); }