এই ডকুমেন্টটিতে বর্ণনা করা হয়েছে কিভাবে C++ গেমে গুগল প্লে গেমস সার্ভিসেস-এর গেম স্ট্যাটস ব্যবহার করতে হয়। এই ডকুমেন্টটি ধরে নেয় যে আপনি "গুগল প্লে গেমস সার্ভিসেস সেট আপ করুন" অংশে বর্ণিত পদ্ধতি অনুযায়ী আপনার প্রজেক্টটি সেট আপ করেছেন। আপনি PgsGameStatsClient এ গেম স্ট্যাটস এপিআইটি খুঁজে পাবেন।
শুরু করার আগে
যদি আপনি ইতিমধ্যে তা না করে থাকেন, তাহলে গেম স্ট্যাটস-এর গেমের ধারণাগুলো পর্যালোচনা করলে আপনার জন্য সহায়ক হতে পারে।
গেম স্ট্যাটস এপিআই ব্যবহার করে কোডিং শুরু করার আগে:
গুগল প্লে গেমস সার্ভিসেস সেট আপ করুন (Set Up Google Play Games Services) গাইডে দেওয়া নির্দেশাবলী অনুসরণ করে আপনার অ্যাপটি প্লে গেমস সার্ভিসেস ব্যবহার করার জন্য ইনস্টল ও সেট আপ করুন।
গুগল প্লে কনসোল গাইডের নির্দেশনা অনুসরণ করে আপনার গেমের জন্য কাঙ্ক্ষিত পরিসংখ্যান নির্ধারণ করুন।
গেমের পরিসংখ্যান ক্লায়েন্ট পান
অ্যাচিভমেন্ট এপিআই ব্যবহার শুরু করতে, আপনার গেমকে প্রথমে একটি PgsGameStatsClient অবজেক্ট পেতে হবে। আপনি PgsPlayerGameEvent_create মেথডটি কল করে এবং অ্যাক্টিভিটিটি পাস করে এটি করতে পারেন।
ক্লায়েন্ট সাইড ইন্টিগ্রেশন
PlayerGameEvent এর ক্লায়েন্ট সাইড ইন্টিগ্রেশনের জন্য আপনাকে C++ SDK ব্যবহার করে ট্রিগার পয়েন্টগুলোতে ইভেন্ট অবজেক্ট তৈরি করতে হবে এবং SDK-প্রদত্ত আপলোড ফাংশনগুলো ব্যবহার করে সেগুলো পাঠাতে হবে।
একইভাবে, progressUpdate ইভেন্টের জন্য, currentProgress প্রপার্টি ও অতিরিক্ত নির্ধারিত প্রপার্টি ব্যবহার করে আপডেট হওয়া অগ্রগতি রেকর্ড করুন এবং SDK দ্বারা প্রদত্ত আপলোড ফাংশন ব্যবহার করে সেগুলো পাঠান।
ইভেন্টগুলি
PlayerGameEvent এর জন্য ক্লায়েন্ট সাইড ইন্টিগ্রেশনগুলো হলো:
প্লেয়ার গেম ইভেন্ট তৈরি করুন
সি++
// Build the PlayerGameEvent
PgsPlayerGameEvent* player_event = PgsPlayerGameEvent_create("matchCompleted");
if (player_event != nullptr) {
PgsPlayerGameEvent_putString(player_event, "matchId", "Match_A");
PgsPlayerGameEvent_putString(player_event, "gameMode", "Battle_B");
PgsPlayerGameEvent_putString(player_event, "mapId", "Location_XYZ");
PgsPlayerGameEvent_putBoolean(player_event, "isWinner", true);
PgsPlayerGameEvent_putLong(player_event, "playerElimination", 2);
}
নির্মাণের progressUpdate প্লেয়ার গেম ইভেন্ট
সি++
PgsPlayerGameEvent* progress_event = PgsPlayerGameEvent_create("progressUpdate");
if (progress_event != nullptr) {
PgsPlayerGameEvent_putLong(progress_event, "currentProgress", 52);
}
ঘটনা রেকর্ড করুন এবং আপলোড করুন
সি++
// Record the event
PgsGameStatsClient_recordEvent(client, player_event);
// This submits the events to PGS
PgsGameStatsClient_requestEventsUpload(client);
// Clean up handle to avoid leaks
PgsPlayerGameEvent_destroy(player_event);
// Clean up client handle when PGS operations are finished
PgsGameStatsClient_destroy(client);