Android गेम के इवेंट

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

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

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

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

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

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

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

Play की गेम सेवाओं को सूचना देने के लिए, अपने गेम में कोड जोड़ा जा सकता है आपके गेम में दिलचस्पी होने की कोई घटना होती है.

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

  • पहली बार तय करने पर, Play की गेम सेवाओं से eventId जनरेट हो जाता है इवेंट को Google Play Console में सेव करता है. साथ ही, इसका इस्तेमाल आपका गेम.
  • खिलाड़ियों की प्रोग्रेस के बारे में बताने के लिए, incrementAmount इनपुट का इस्तेमाल किया जा सकता है किसी गेम के खास लक्ष्य को पूरा करना. उदाहरण के लिए, अगर इवेंट आपका गेम ट्रैक करना चाहता है '500 बग-आंखों वाले राक्षसों को हराएं', incrementAmount मान उन मॉन्स्टर की संख्या जिन्हें एक खिलाड़ी ने एक ही लड़ाई में मार दिया है.

यहां एक उदाहरण दिया गया है. इसमें एक इवेंट को सबमिट करने का तरीका बताया गया है.

public void submitEvent(String eventId) {
  PlayGames.getEventsClient(this)
      .increment(eventId, 1);
}

इवेंट वापस पाना

आप अपने गेम के लिए Google के सर्वर में सेव किया गया सभी इवेंट का डेटा पा सकते हैं. इसके लिए: EventsClient.load() को कॉल किया जा रहा है. इस कॉल का तरीका इस्तेमाल करें. बूलियन वैल्यू को पास करें, ताकि यह बताया जा सके कि Play की गेम सेवाओं को उपयोगकर्ता के डिवाइस पर कैश मेमोरी में सेव किया गया डेटा सेव करने की सुविधा मिलती है.

Google Play Console में तय किए गए किसी खास इवेंट का डेटा पाने के लिए, EventsClient.loadByIds() को सभी इनपुट पैरामीटर में इवेंट आईडी वाले कलेक्शन में पास करें.

नीचे दिया गया स्निपेट दिखाता है कि आप आपके गेम के सभी इवेंट की सूची:

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);
          }
        }
      });
}