খেলার পরিসংখ্যান

এই ডকুমেন্টটিতে বর্ণনা করা হয়েছে কিভাবে C++ গেমে গুগল প্লে গেমস সার্ভিসেস-এর গেম স্ট্যাটস ব্যবহার করতে হয়। এই ডকুমেন্টটি ধরে নেয় যে আপনি "গুগল প্লে গেমস সার্ভিসেস সেট আপ করুন" অংশে বর্ণিত পদ্ধতি অনুযায়ী আপনার প্রজেক্টটি সেট আপ করেছেন। আপনি PgsGameStatsClient এ গেম স্ট্যাটস এপিআইটি খুঁজে পাবেন।

শুরু করার আগে

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

গেম স্ট্যাটস এপিআই ব্যবহার করে কোডিং শুরু করার আগে:

গেমের পরিসংখ্যান ক্লায়েন্ট পান

অ্যাচিভমেন্ট এপিআই ব্যবহার শুরু করতে, আপনার গেমকে প্রথমে একটি 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);