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