gpg:: গেমসেবা

#include <game_services.h>

Google Play Games এর সাথে ইন্টারঅ্যাক্ট করার সূচনা পয়েন্ট।

সারসংক্ষেপ

গেম সার্ভিসেস লাইফসাইকেল

GameServices ক্লাসের একটি উদাহরণ একটি GameServices::Builder এর মাধ্যমে তৈরি করা হয়েছে। তৈরি হয়ে গেলে, দৃষ্টান্তটি প্রাথমিকভাবে গেম পরিষেবাগুলিতে সাইন ইন করা হয় না (অর্থাৎ, IsAuthorized() মিথ্যা ফিরে আসবে)। একটি নীরব সাইন-ইন প্রয়াস পটভূমিতে শুরু করা হয়, এবং সফল হতে পারে যদি কোনো ব্যবহারকারী পূর্ববর্তী সেশনের শেষে সাইন ইন করে থাকে। এই নীরব সাইন-ইন প্রচেষ্টা সম্পূর্ণ না হওয়া পর্যন্ত, যেকোন ব্যবহারকারীর প্রমাণীকরণ UI (উদাহরণস্বরূপ, সাইন-ইন এবং/বা সাইন-আউট বোতাম) অক্ষম বা লুকানো উচিত।

এই নীরব সাইন-ইন প্রচেষ্টার সমাপ্তিতে, GameServices দৃষ্টান্তের জন্য OnAuthActionFinished কলব্যাক ( GameServices::Builder::SetOnAuthActionFinished এর সাথে নিবন্ধিত) অবহিত করা হবে। যদি কলব্যাক আর্গুমেন্টগুলি একটি সফল সাইন-ইন প্রচেষ্টাকে প্রতিফলিত করে, তাহলে উদাহরণটিকে গেম পরিষেবাগুলির সাথে সংযুক্ত বলে ধরে নেওয়া যেতে পারে (অর্থাৎ, IsAuthorized() সত্য ফিরে আসবে), এবং সাইন-আউট UI সক্ষম করা উচিত৷ যদি কলব্যাক যুক্তি একটি ব্যর্থ সাইন-ইন প্রচেষ্টা প্রতিফলিত করে, সাইন-ইন UI সক্ষম করা উচিত।

SignOut() পদ্ধতির মাধ্যমে স্পষ্ট সাইন-আউট শুধুমাত্র ব্যবহারকারীর অনুরোধে আহ্বান করা উচিত। এটি একটি সাইন আউট অবস্থায় একটি স্থানান্তরের অনুরোধ করে৷ এই রূপান্তরের সমাপ্তি OnAuthActionFinished কলব্যাকের আহ্বান দ্বারা নির্দেশিত হয়। যতক্ষণ না এই কলব্যাকটি আহ্বান করা হয়, অন্যান্য GameServices APIগুলি ( StartAuthorizationUI() সহ) কল করা উচিত নয়৷

যখন একটি GameServices দৃষ্টান্ত ধ্বংস করা হয়, ডেটা ক্ষতি এড়াতে কোন মুলতুবি ক্রিয়াকলাপ না হওয়া পর্যন্ত এটি ব্লক করবে। যদি এই ব্লক-অন-ডেস্ট্রাকশন আচরণটি কাঙ্ক্ষিত না হয়, তাহলে একটি Flush() জারি করা উচিত এবং Flush() সম্পূর্ণ না হওয়া পর্যন্ত GameServices ইনস্ট্যান্সকে জীবিত রাখা উচিত।

GameServices 4.0-এর কম Android সংস্করণে সঠিকভাবে কাজ করার জন্য, মালিকানার কার্যকলাপকে অবশ্যই লাইফসাইকেল কলব্যাক কল করতে হবে। AndroidSupport দেখুন।

কনস্ট্রাক্টর এবং ডেস্ট্রাক্টর

GameServices ()
~GameServices ()

পাবলিক প্রকার

FlushCallback typedef
std::function< void( FlushStatus )>
একটি কলব্যাক প্রকার সংজ্ঞায়িত করে যা একটি ফ্লাশ অপারেশনের ফলাফল (স্থিতি) পায়।

পাবলিক ফাংশন

Achievements ()
অ্যাচিভমেন্ট ম্যানেজার অবজেক্টের একটি রেফারেন্স প্রদান করে যা কৃতিত্বগুলি অ্যাক্সেস এবং ম্যানিপুলেট করার জন্য ব্যবহৃত হয়।
Achievements () const
অ্যাচিভমেন্ট ম্যানেজার অবজেক্টের একটি কনস্ট রেফারেন্স প্রদান করে যা কৃতিত্বগুলি অ্যাক্সেস এবং ম্যানিপুলেট করার জন্য ব্যবহৃত হয়।
Events ()
ইভেন্ট অ্যাক্সেস এবং ম্যানিপুলেট করার জন্য ব্যবহৃত ইভেন্ট ম্যানেজার অবজেক্টের একটি রেফারেন্স প্রদান করে।
Events () const
const EventManager &
ইভেন্ট অ্যাক্সেস এবং ম্যানিপুলেট করার জন্য ব্যবহৃত ইভেন্ট ম্যানেজার অবজেক্টের একটি কনস্ট রেফারেন্স প্রদান করে।
Flush ( FlushCallback callback)
void
অ্যাসিঙ্ক্রোনাসভাবে প্রধান প্রেরণ সারি ফ্লাশ করে এবং প্রদত্ত ফ্লাশকলব্যাকে ফ্লাশের স্থিতি ফিরিয়ে দেয়।
FlushBlocking ()
সিঙ্ক্রোনাসভাবে ফ্লাশ করে এবং ফ্লাশের ফলাফল (স্ট্যাটাস) পায়।
FlushBlocking ( Timeout timeout)
সিঙ্ক্রোনাসভাবে ফ্লাশ করে এবং ফ্লাশের ফলাফল (স্ট্যাটাস) পায়।
IsAuthorized ()
bool
আপনাকে স্পষ্টভাবে বর্তমান অনুমোদনের অবস্থা পরীক্ষা করার অনুমতি দেয়।
Leaderboards ()
লিডারবোর্ড ম্যানেজার অবজেক্টের একটি রেফারেন্স প্রদান করে যা কৃতিত্বগুলি অ্যাক্সেস এবং ম্যানিপুলেট করার জন্য ব্যবহৃত হয়।
Leaderboards () const
লিডারবোর্ড ম্যানেজার অবজেক্টের একটি কনস্ট রেফারেন্স প্রদান করে যা কৃতিত্বগুলি অ্যাক্সেস এবং ম্যানিপুলেট করার জন্য ব্যবহৃত হয়
Players ()
প্লেয়ারম্যানেজার অবজেক্টের একটি রেফারেন্স প্রদান করে, যা খেলোয়াড়দের সম্পর্কে তথ্য অ্যাক্সেস করার অনুমতি দেয়।
Players () const
const PlayerManager &
প্লেয়ারম্যানেজার অবজেক্টের একটি কনস্ট রেফারেন্স প্রদান করে, যা খেলোয়াড়দের সম্পর্কে তথ্য অ্যাক্সেস করার অনুমতি দেয়।
RealTimeMultiplayer ()
RealTimeMultiplayerManager অবজেক্টের একটি রেফারেন্স প্রদান করে, যা RTMP সম্পর্কিত পদ্ধতিতে অ্যাক্সেসের অনুমতি দেয়।
RealTimeMultiplayer () const
RealTimeMultiplayerManager অবজেক্টের একটি const রেফারেন্স প্রদান করে, যা RTMP সম্পর্কিত পদ্ধতিতে অ্যাক্সেসের অনুমতি দেয়।
SignOut ()
void
অ্যাসিঙ্ক্রোনাস সাইন-আউট প্রক্রিয়া শুরু করে।
Snapshots ()
স্ন্যাপশট অ্যাক্সেস এবং ম্যানিপুলেট করার জন্য ব্যবহৃত স্ন্যাপশট ম্যানেজার অবজেক্টের একটি রেফারেন্স প্রদান করে।
Snapshots () const
স্ন্যাপশট অ্যাক্সেস এবং ম্যানিপুলেট করার জন্য ব্যবহৃত স্ন্যাপশট ম্যানেজার অবজেক্টের একটি কনস্ট রেফারেন্স প্রদান করে।
StartAuthorizationUI ()
void
একটি প্ল্যাটফর্ম-নির্দিষ্ট ব্যবহারকারী অনুমোদন প্রবাহ নিয়ে আসে।
Stats ()
গেম এবং প্লেয়ার পরিসংখ্যান অ্যাক্সেস করার জন্য ব্যবহৃত StatsManager অবজেক্টের একটি রেফারেন্স প্রদান করে।
Stats () const
const StatsManager &
গেম এবং প্লেয়ার পরিসংখ্যান অ্যাক্সেস করার জন্য ব্যবহৃত StatsManager অবজেক্টের একটি const রেফারেন্স প্রদান করে।
TurnBasedMultiplayer ()
TurnBasedMultiplayerManager অবজেক্টের একটি রেফারেন্স প্রদান করে, যা TBMP সম্পর্কিত পদ্ধতিতে অ্যাক্সেসের অনুমতি দেয়।
TurnBasedMultiplayer () const
TurnBasedMultiplayerManager অবজেক্টের একটি const রেফারেন্স প্রদান করে, যা TBMP সম্পর্কিত পদ্ধতিতে অ্যাক্সেসের অনুমতি দেয়।
Video ()
ভিডিও ম্যানেজার অবজেক্টের একটি রেফারেন্স প্রদান করে, যা ভিডিও সম্পর্কিত পদ্ধতিতে অ্যাক্সেসের অনুমতি দেয়।
Video () const
const VideoManager &
ভিডিও ম্যানেজার অবজেক্টের একটি কনস্ট রেফারেন্স প্রদান করে, যা ভিডিও সম্পর্কিত পদ্ধতিতে অ্যাক্সেসের অনুমতি দেয়।

ক্লাস

gpg:: গেমসার্ভিস:: নির্মাতা

গেম সার্ভিসেস ক্লাসের একটি উদাহরণ তৈরি এবং কনফিগার করার জন্য ব্যবহৃত হয়।

পাবলিক প্রকার

ফ্লাশকলব্যাক

std::function< void(FlushStatus)> FlushCallback

একটি কলব্যাক প্রকার সংজ্ঞায়িত করে যা একটি ফ্লাশ অপারেশনের ফলাফল (স্থিতি) পায়।

Flush() এ ব্যবহৃত হয়।

পাবলিক ফাংশন

অর্জন

AchievementManager & Achievements()

অ্যাচিভমেন্ট ম্যানেজার অবজেক্টের একটি রেফারেন্স প্রদান করে যা কৃতিত্বগুলি অ্যাক্সেস এবং ম্যানিপুলেট করার জন্য ব্যবহৃত হয়।

অর্জন

const AchievementManager & Achievements() const 

অ্যাচিভমেন্ট ম্যানেজার অবজেক্টের একটি কনস্ট রেফারেন্স প্রদান করে যা কৃতিত্বগুলি অ্যাক্সেস এবং ম্যানিপুলেট করার জন্য ব্যবহৃত হয়।

ঘটনা

EventManager & Events()

ইভেন্ট অ্যাক্সেস এবং ম্যানিপুলেট করার জন্য ব্যবহৃত ইভেন্ট ম্যানেজার অবজেক্টের একটি রেফারেন্স প্রদান করে।

ঘটনা

const EventManager & Events() const 

ইভেন্ট অ্যাক্সেস এবং ম্যানিপুলেট করার জন্য ব্যবহৃত ইভেন্ট ম্যানেজার অবজেক্টের একটি কনস্ট রেফারেন্স প্রদান করে।

ফ্লাশ

void Flush(
  FlushCallback callback
)

অ্যাসিঙ্ক্রোনাসভাবে প্রধান প্রেরণ সারি ফ্লাশ করে এবং প্রদত্ত ফ্লাশকলব্যাকে ফ্লাশের স্থিতি ফিরিয়ে দেয়।

সম্ভাব্য স্থিতিগুলি হল: FLUSHED, ERROR_INTERNAL, এবং ERROR_VERSION_UPDATE_REQUIRED৷

ফ্লাশ ব্লকিং

FlushStatus FlushBlocking()

সিঙ্ক্রোনাসভাবে ফ্লাশ করে এবং ফ্লাশের ফলাফল (স্ট্যাটাস) পায়।

সম্ভাব্য স্থিতিগুলি হল: FLUSHED, ERROR_INTERNAL, ERROR_NOT_AUTHORIZED, ERROR_VERSION_UPDATE_REQUIRED, এবং ERROR_TIMEOUT৷ এই টাইমআউটটি অনির্দিষ্ট রেখে যাওয়া এই ফাংশন কলটিকে ফ্লাশস্ট্যাটাস ফ্লাশব্লকিং(টাইমআউট) কল করার সমতুল্য করে তোলে, টাইমআউট 10 বছর হিসাবে নির্দিষ্ট করা হয়েছে৷

ফ্লাশ ব্লকিং

FlushStatus FlushBlocking(
  Timeout timeout
)

সিঙ্ক্রোনাসভাবে ফ্লাশ করে এবং ফ্লাশের ফলাফল (স্ট্যাটাস) পায়।

সম্ভাব্য স্থিতিগুলি হল: FLUSHED, ERROR_INTERNAL, ERROR_NOT_AUTHORIZED, ERROR_VERSION_UPDATE_REQUIRED, এবং ERROR_TIMEOUT৷ মিলিসেকেন্ডের একটি নির্বিচারে সংখ্যা হিসাবে সময়সীমা নির্দিষ্ট করুন।

গেমসেবা

 GameServices()=delete

অনুমোদিত

bool IsAuthorized()

আপনাকে স্পষ্টভাবে বর্তমান অনুমোদনের অবস্থা পরীক্ষা করার অনুমতি দেয়।

SDK গ্রাহকদের ভোটদানের পরিবর্তে অনুমোদনের অবস্থার পরিবর্তনগুলি পরিচালনা করতে AUTH_ACTION_* কলব্যাকের জন্য নিবন্ধন করতে উত্সাহিত করা হয়৷

লিডারবোর্ড

LeaderboardManager & Leaderboards()

লিডারবোর্ড ম্যানেজার অবজেক্টের একটি রেফারেন্স প্রদান করে যা কৃতিত্বগুলি অ্যাক্সেস এবং ম্যানিপুলেট করার জন্য ব্যবহৃত হয়।

লিডারবোর্ড

const LeaderboardManager & Leaderboards() const 

লিডারবোর্ড ম্যানেজার অবজেক্টের একটি কনস্ট রেফারেন্স প্রদান করে যা কৃতিত্বগুলি অ্যাক্সেস এবং ম্যানিপুলেট করার জন্য ব্যবহৃত হয়

খেলোয়াড়

PlayerManager & Players()

প্লেয়ারম্যানেজার অবজেক্টের একটি রেফারেন্স প্রদান করে, যা খেলোয়াড়দের সম্পর্কে তথ্য অ্যাক্সেস করার অনুমতি দেয়।

খেলোয়াড়

const PlayerManager & Players() const 

প্লেয়ারম্যানেজার অবজেক্টের একটি কনস্ট রেফারেন্স প্রদান করে, যা খেলোয়াড়দের সম্পর্কে তথ্য অ্যাক্সেস করার অনুমতি দেয়।

রিয়েলটাইম মাল্টিপ্লেয়ার

RealTimeMultiplayerManager & RealTimeMultiplayer()

RealTimeMultiplayerManager অবজেক্টের একটি রেফারেন্স প্রদান করে, যা RTMP সম্পর্কিত পদ্ধতিতে অ্যাক্সেসের অনুমতি দেয়।

রিয়েলটাইম মাল্টিপ্লেয়ার

const RealTimeMultiplayerManager & RealTimeMultiplayer() const 

RealTimeMultiplayerManager অবজেক্টের একটি const রেফারেন্স প্রদান করে, যা RTMP সম্পর্কিত পদ্ধতিতে অ্যাক্সেসের অনুমতি দেয়।

সাইন আউট

void SignOut()

অ্যাসিঙ্ক্রোনাস সাইন-আউট প্রক্রিয়া শুরু করে।

সাইনআউট কল করার পরে, আপনি একটি সফল সাইন-আউট নির্দেশ করে OnAuthActionFinishedCallback না পাওয়া পর্যন্ত GameServices- এ কোনো অপারেশনে কল করবেন না।

স্ন্যাপশট

SnapshotManager & Snapshots()

স্ন্যাপশট অ্যাক্সেস এবং ম্যানিপুলেট করার জন্য ব্যবহৃত স্ন্যাপশট ম্যানেজার অবজেক্টের একটি রেফারেন্স প্রদান করে।

স্ন্যাপশট

const SnapshotManager & Snapshots() const 

স্ন্যাপশট অ্যাক্সেস এবং ম্যানিপুলেট করার জন্য ব্যবহৃত স্ন্যাপশট ম্যানেজার অবজেক্টের একটি কনস্ট রেফারেন্স প্রদান করে।

স্টার্ট অথরাইজেশনইউআই

void StartAuthorizationUI()

একটি প্ল্যাটফর্ম-নির্দিষ্ট ব্যবহারকারী অনুমোদন প্রবাহ নিয়ে আসে।

পরিসংখ্যান

StatsManager & Stats()

গেম এবং প্লেয়ার পরিসংখ্যান অ্যাক্সেস করার জন্য ব্যবহৃত StatsManager অবজেক্টের একটি রেফারেন্স প্রদান করে।

পরিসংখ্যান

const StatsManager & Stats() const 

গেম এবং প্লেয়ার পরিসংখ্যান অ্যাক্সেস করার জন্য ব্যবহৃত StatsManager অবজেক্টের একটি const রেফারেন্স প্রদান করে।

টার্ন ভিত্তিক মাল্টিপ্লেয়ার

TurnBasedMultiplayerManager & TurnBasedMultiplayer()

TurnBasedMultiplayerManager অবজেক্টের একটি রেফারেন্স প্রদান করে, যা TBMP সম্পর্কিত পদ্ধতিতে অ্যাক্সেসের অনুমতি দেয়।

টার্ন ভিত্তিক মাল্টিপ্লেয়ার

const TurnBasedMultiplayerManager & TurnBasedMultiplayer() const 

TurnBasedMultiplayerManager অবজেক্টের একটি const রেফারেন্স প্রদান করে, যা TBMP সম্পর্কিত পদ্ধতিতে অ্যাক্সেসের অনুমতি দেয়।

ভিডিও

VideoManager & Video()

ভিডিও ম্যানেজার অবজেক্টের একটি রেফারেন্স প্রদান করে, যা ভিডিও সম্পর্কিত পদ্ধতিতে অ্যাক্সেসের অনুমতি দেয়।

ভিডিও

const VideoManager & Video() const 

ভিডিও ম্যানেজার অবজেক্টের একটি কনস্ট রেফারেন্স প্রদান করে, যা ভিডিও সম্পর্কিত পদ্ধতিতে অ্যাক্সেসের অনুমতি দেয়।

~গেমসার্ভিস

 ~GameServices()