Android गेम में इवेंट

इस गाइड में आपको Google Play की गेम सेवाओं से जुड़े, एपीआई का इस्तेमाल करके गेम के आंकड़ों के लिए खिलाड़ी का गेमप्ले डेटा इकट्ठा करने का तरीका बताया गया है. एपीआई को com.google.android.gms.games.event और com.google.android.gms.games में देखा जा सकता है.

शुरू करने से पहले

अगर आपने पहले से ऐसा नहीं किया है, तो इवेंट गेम के कॉन्सेप्ट की समीक्षा करने से आपको मदद मिल सकती है.

इवेंट एपीआई का इस्तेमाल करके कोड करने से पहले:

इवेंट क्लाइंट पाना

इवेंट एपीआई का इस्तेमाल शुरू करने के लिए, सबसे पहले आपके गेम को 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);
          }
        }
      });
}