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

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

আপনি শুরু করার আগে

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

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

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

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

ঘটনা জমা দিন

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

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

  • যখন আপনি Google Play Console-এ ইভেন্টটি প্রথম সংজ্ঞায়িত করেন তখন Play Games পরিষেবা দ্বারা 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 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);
          }
        }
      });
}