अपने गेम में इवेंट जोड़ना

यह गाइड आपको C++ ऐप्लिकेशन में इवेंट सेवा का इस्तेमाल करने का तरीका बताती है.

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

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

इवेंट सेवा का इस्तेमाल करने के लिए, C++ डेवलपमेंट एनवायरमेंट को सेट अप करने के लिए, C++ के लिए शुरू करना गाइड में दिए गए निर्देशों का पालन करें. आप SDK टूल के डाउनलोड पेज से Play की गेम सेवाएं C++ SDK टूल डाउनलोड कर सकते हैं.

गेम ऐक्सेस करने से पहले, आपको Google Play Console में इन इवेंट की जानकारी देनी होगी.

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

आपके गेम में रुचि वाला इवेंट होने पर, आप इवेंट सेवा को इसकी सूचना देने के लिए, अपने गेम में कोड जोड़ सकते हैं. ऐसे इवेंट के उदाहरण जिन्हें आप अपने गेम में कैप्चर कर सकते हैं: दुश्मनों को मारना, अलग-अलग गेम क्षेत्रों में वापस लौटना या उन पर वापस आना या गेम में आइटम हासिल करना. आम तौर पर, जब भी खिलाड़ी इवेंट से जुड़ी कोई कार्रवाई करेगा, तो इवेंट मैनेजर में दिए गए Increment तरीके को फ़ोन पर 1 से ज़्यादा बार कॉल किया जाएगा (जैसे, "एक राक्षस को मार दिया").

इस उदाहरण में बताया गया है कि आप इवेंट की सेवा में अपडेट किए गए इवेंट की संख्या कैसे सबमिट कर सकते हैं.

  // Increment the event count when player performs the 'Attack blue
  // monster' action.
  game_services_->Events().Increment(BLUE_MONSTER_EVENT_ID);

इवेंट वापस लाए जा रहे हैं

किसी खास इवेंट के लिए, Google के सर्वर पर सेव की गई मौजूदा संख्या की वैल्यू को फिर से पाने के लिए, Fetch* में से किसी एक तरीके का इस्तेमाल करें. उदाहरण के लिए, अगर आप किसी खिलाड़ी के इन-गेम आंकड़े दिखाना चाहते हैं या अपने गेम में कस्टम यूज़र इंटरफ़ेस (यूआई) से प्रगति करना चाहते हैं, तो आप ऐसा कर सकते हैं.

नीचे दिए गए उदाहरण में बताया गया है कि आप अपने गेम में इवेंट का डेटा कैसे पा सकते हैं और उसे कैसे लॉग कर सकते हैं.

  // Log Events details.
  LogI("---- Showing Event Counts -----");
  gpg::EventManager::FetchAllCallback callback =
      [](gpg::EventManager::FetchAllResponse const &response) {
    for (auto i : response.data) {
      gpg::Event const &event = i.second;
      LogI("Event name: %s  count: %d", event.Name().c_str(),
           event.Count());
    }
  };
  game_services_->Events().FetchAll(callback);