আপনার গেম ইভেন্ট যোগ করা

এই নির্দেশিকা আপনাকে দেখায় কিভাবে একটি C++ অ্যাপ্লিকেশনে ইভেন্ট পরিষেবা ব্যবহার করতে হয়।

তুমি শুরু করার আগে

যদি আপনি ইতিমধ্যে এটি না করে থাকেন, তাহলে ইভেন্ট গেমের ধারণাগুলি পর্যালোচনা করা আপনার সহায়ক বলে মনে হতে পারে।

ইভেন্ট পরিষেবা ব্যবহার করার জন্য আপনার C++ ডেভেলপমেন্ট এনভায়রনমেন্ট সেট আপ করতে, C++ গাইডের জন্য শুরু করার নির্দেশাবলী অনুসরণ করুন। আপনি SDK ডাউনলোড পৃষ্ঠা থেকে প্লে গেম পরিষেবা C++ SDK ডাউনলোড করতে পারেন।

আপনার গেমটি ইভেন্টগুলি অ্যাক্সেস করার আগে, আপনাকে অবশ্যই সেগুলিকে প্রথমে Google Play কনসোলে সংজ্ঞায়িত করতে হবে৷

একটি ইভেন্ট জমা দেওয়া হচ্ছে

যখনই আপনার গেমে আগ্রহের ঘটনা ঘটবে তখনই ইভেন্ট পরিষেবাকে অবহিত করতে আপনি আপনার গেমে কোড যোগ করতে পারেন। আপনার গেমে আপনি যে ইভেন্টগুলি ক্যাপচার করতে পারেন তার উদাহরণগুলি হল: শত্রুদের হত্যা করা, বিভিন্ন গেম অঞ্চলে অন্বেষণ করা বা ফিরে আসা, বা ইন-গেম আইটেমগুলি অর্জন করা৷ সাধারণত, আপনি ইভেন্ট ম্যানেজারের Increment পদ্ধতিতে কল করবেন যাতে প্রতিবার খেলোয়াড় ইভেন্টের সাথে সম্পর্কিত কোনো অ্যাকশন সম্পাদন করে (উদাহরণস্বরূপ, "একটি দানবকে হত্যা করা") একটি ইভেন্টের গণনা 1 দ্বারা বৃদ্ধি করতে।

নিম্নলিখিত উদাহরণ দেখায় কিভাবে আপনি ইভেন্ট পরিষেবাতে আপডেট করা ইভেন্ট গণনা জমা দিতে পারেন।

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

ঘটনা পুনরুদ্ধার করা হচ্ছে

একটি নির্দিষ্ট ইভেন্টের জন্য Google-এর সার্ভারে সঞ্চিত বর্তমান গণনা মান পুনরুদ্ধার করতে, Fetch* পদ্ধতিগুলির একটিতে কল করুন৷ আপনি এটি করতে পারেন, উদাহরণস্বরূপ, আপনি যদি কোনো খেলোয়াড়ের ইন-গেম পরিসংখ্যান বা আপনার গেমের একটি কাস্টম UI থেকে অগ্রগতি দেখাতে চান।

নিম্নলিখিত উদাহরণটি দেখায় যে আপনি কীভাবে আপনার গেমের ইভেন্ট ডেটা পুনরুদ্ধার এবং লগ করতে পারেন।

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