এই নির্দেশিকাটি আপনাকে দেখায় কিভাবে গুগল প্লে গেমস সার্ভিসেস দ্বারা প্রদত্ত ইভেন্ট API ব্যবহার করে গেম বিশ্লেষণের জন্য প্লেয়ার গেমপ্লে ডেটা সংগ্রহ করতে হয়। API গুলি com.google.android.gms.games.event এবং com.google.android.gms.games প্যাকেজগুলিতে পাওয়া যাবে।
শুরু করার আগে
যদি আপনি ইতিমধ্যেই এটি না করে থাকেন, তাহলে ইভেন্ট গেমের ধারণাগুলি পর্যালোচনা করা আপনার জন্য সহায়ক হতে পারে।
ইভেন্ট এপিআই ব্যবহার করে কোডিং শুরু করার আগে:
গুগল প্লে কনসোলে আপনার গেমের ইভেন্টগুলি নির্ধারণ করুন।
সাইন-ইন চেকলিস্টের সুপারিশগুলি অনুসরণ করুন।
ইভেন্ট ক্লায়েন্ট পান
ইভেন্ট API ব্যবহার শুরু করতে, আপনার গেমটিকে প্রথমে একটি EventsClient অবজেক্ট পেতে হবে। আপনি PlayGames.getEventsClient() পদ্ধতিতে কল করে এবং কার্যকলাপটি পাস করে এটি করতে পারেন।
ইভেন্ট জমা দিন
আপনার গেমের প্রতি আগ্রহের কোনও ঘটনা ঘটলে প্লে গেমস সার্ভিসেসকে অবহিত করার জন্য আপনি আপনার গেমে কোড যোগ করতে পারেন।
একটি ইভেন্ট আপডেট পাঠাতে, EventsClient.increment() কল করুন eventId মান এবং একটি পূর্ণসংখ্যা incrementAmount যা 0 এর সমান বা তার বেশি।
Google Play Console-এ যখন আপনি প্রথমবার ইভেন্টটি সংজ্ঞায়িত করেন, তখন Play Games Services দ্বারা
eventIdতৈরি করা হয় এবং আপনার গেমে এই ইভেন্টটিকে অনন্যভাবে শনাক্ত করতে এটি ব্যবহার করা হয়।আপনি
incrementAmountইনপুট ব্যবহার করে খেলোয়াড়ের খেলা-নির্দিষ্ট লক্ষ্য পূরণের পরিমাণগত অগ্রগতি নির্দিষ্ট করতে পারেন। উদাহরণস্বরূপ, যদি আপনার খেলাটি যে ইভেন্টটি ট্র্যাক করতে চায় তা হল '500 বাগ-আইড দানবকে পরাজিত করুন' , তাহলেincrementAmountমান হতে পারে খেলোয়াড় একক যুদ্ধে কত দানবকে হত্যা করেছে তার সংখ্যা।
১ এর ইনক্রিমেন্ট অ্যামাউন্ট সহ একটি ইভেন্ট কীভাবে জমা দিতে হয় তার একটি উদাহরণ এখানে দেওয়া হল:
public void submitEvent(String eventId) {
PlayGames.getEventsClient(this)
.increment(eventId, 1);
}ইভেন্টগুলি পুনরুদ্ধার করুন
EventsClient.load() কল করে আপনি আপনার গেমের জন্য Google এর সার্ভারে সংরক্ষিত সমস্ত ইভেন্ট ডেটা পুনরুদ্ধার করতে পারেন। মেথড কলে, একটি বুলিয়ান মান দিন যাতে নির্দেশ করা যায় যে Play Games Services ব্যবহারকারীর ডিভাইসে স্থানীয়ভাবে ক্যাশ করা ডেটা সাফ করবে কিনা।
Google Play Console-এ আপনার দ্বারা সংজ্ঞায়িত নির্দিষ্ট ইভেন্টের ডেটা পুনরুদ্ধার করতে, EventsClient.loadByIds() কল করুন এবং ইনপুট প্যারামিটারে ইভেন্ট আইডিগুলির একটি অ্যারে পাস করুন।
আপনার গেমের সমস্ত ইভেন্টের তালিকার জন্য আপনি কীভাবে Play Games Services-কে জিজ্ঞাসা করতে পারেন তা নিম্নলিখিত স্নিপেটে দেখানো হয়েছে:
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); } } }); }