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

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

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

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

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

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

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

ঘটনা জমা দিন

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

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

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

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

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

ঘটনা পুনরুদ্ধার

আপনি EventsClient.load() কল করে আপনার গেমের জন্য Google এর সার্ভারে সংরক্ষিত সমস্ত ইভেন্ট ডেটা পুনরুদ্ধার করতে পারেন। মেথড কলে, Google Play Games পরিষেবাগুলি ব্যবহারকারীর ডিভাইসে স্থানীয়ভাবে ক্যাশে করা ডেটা সাফ করবে কিনা তা নির্দেশ করতে একটি বুলিয়ান মান পাস করুন৷

আপনি Google Play Console-এ সংজ্ঞায়িত নির্দিষ্ট ইভেন্টগুলির ডেটা পুনরুদ্ধার করতে, EventsClient.loadByIds() কল করুন এবং ইনপুট প্যারামিটারে ইভেন্ট আইডিগুলির একটি অ্যারেতে পাস করুন৷

নিম্নলিখিত স্নিপেটটি দেখায় যে আপনি কীভাবে আপনার গেমের সমস্ত ইভেন্টের তালিকার জন্য Google Play গেম পরিষেবাগুলিকে জিজ্ঞাসা করতে পারেন:

public void loadEvents() {
  Games.getEventsClient(this, GoogleSignIn.getLastSignedInAccount(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);
          }
        }
      });
}