Android गेम के इवेंट

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

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

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

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

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

इवेंट एपीआई का इस्तेमाल शुरू करने के लिए, आपके गेम को सबसे पहले EventsClient ऑब्जेक्ट पाना होगा. इसके लिए, PlayGames.getEventsClient() तरीके का इस्तेमाल करें और गतिविधि से जुड़ी जानकारी उपलब्ध कराएं.

इवेंट सबमिट करना

अपने गेम में कोड जोड़ा जा सकता है, ताकि जब भी गेम से जुड़ा कोई इवेंट हो, तो Play की गेम सेवाओं को सूचना मिल जाए.

इवेंट का अपडेट भेजने के लिए, eventId वैल्यू और 0 के बराबर या उससे ज़्यादा पूर्णांक incrementAmount के साथ EventsClient.increment() का इस्तेमाल करें.

  • eventId को Play की गेम सेवाएं जनरेट करती हैं. ऐसा तब होता है, जब 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);
          }
        }
      });
}