অ্যান্ড্রয়েড গেমের ইভেন্ট

এই নির্দেশিকা আপনাকে দেখায় কিভাবে Google Play গেম পরিষেবাগুলির দ্বারা প্রদত্ত ইভেন্ট APIগুলি ব্যবহার করে গেম বিশ্লেষণের জন্য প্লেয়ার গেমপ্লে ডেটা সংগ্রহ করতে হয়৷ API গুলি com.google.android.gms.games.event এবং com.google.android.gms.games এ পাওয়া যাবে।

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

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

ইভেন্ট API ব্যবহার করে কোড করা শুরু করার আগে:

ঘটনা ক্লায়েন্ট পেয়ে

ইভেন্ট API ব্যবহার শুরু করতে, আপনার গেমটিকে প্রথমে একটি EventsClient অবজেক্ট পেতে হবে। আপনি Games.getEventsClient() পদ্ধতিতে কল করে এবং কার্যকলাপে পাস করে এটি করতে পারেন।

ইভেন্ট জমা দেওয়া

যখনই আপনার গেমে আগ্রহের ঘটনা ঘটবে তখনই আপনি Google Play গেম পরিষেবাগুলিকে অবহিত করতে আপনার গেমে কোড যোগ করতে পারেন৷

একটি ইভেন্ট আপডেট পাঠাতে, EventsClient.increment() কল করুন eventId মান এবং একটি পূর্ণসংখ্যা incrementAmount যা 0 এর সমান বা তার বেশি।

  • যখন আপনি Google Play Console-এ প্রথম ইভেন্টটি সংজ্ঞায়িত করেন তখন Google Play গেম পরিষেবা দ্বারা eventId তৈরি হয় এবং আপনার গেমে এই ইভেন্টটিকে অনন্যভাবে শনাক্ত করতে ব্যবহৃত হয়।
  • আপনি কিছু গেম-নির্দিষ্ট লক্ষ্য পূরণের দিকে খেলোয়াড়ের পরিমাণগত অগ্রগতি নির্দিষ্ট করতে incrementAmount ইনপুট ব্যবহার করতে পারেন। উদাহরণ স্বরূপ, যদি আপনার গেমটি যে ইভেন্টটি ট্র্যাক করতে চায় সেটি হল 'Defeat 500 bug-eyed Monsters' , তাহলে incrementAmount মান হতে পারে সেই দানবের সংখ্যা যা প্লেয়ার একটি একক যুদ্ধে মেরেছে।

1 বৃদ্ধির পরিমাণ সহ একটি ইভেন্ট কীভাবে জমা দিতে হয় তার একটি উদাহরণ এখানে রয়েছে:

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