সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন
আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।
Google Play Games C++ SDK
সারসংক্ষেপ
সংগঠন
প্লে গেম সার্ভিসের কার্যকারিতার প্রধান এন্ট্রি পয়েন্ট হল গেম সার্ভিসেস ক্লাস। GameServices দৃষ্টান্তগুলি GameServices::Builder দিয়ে তৈরি করা হয়। গেমসার্ভিস দেখুন
সমস্ত গেমসার্ভিসেস সেশনের অবস্থা অ্যাক্সেস বা পরিবর্তন করে এমন পদ্ধতিগুলি গেমসার্ভিসেস ক্লাসেই থাকে।
অন্যান্য কার্যকারিতা প্রতি-বৈশিষ্ট্য পরিচালকদের একটি সেটের মাধ্যমে পরোক্ষভাবে পরিচালিত হয়। এই ম্যানেজাররা একসাথে সম্পর্কিত কার্যকারিতাকে গোষ্ঠীভুক্ত করে; তারা নিজেদের কোন ব্যবহারকারী-দৃশ্যমান অবস্থা নেই. ম্যানেজারদের রেফারেন্স দ্বারা ফেরত দেওয়া হয়, এবং গেমসার্ভিস ইনস্ট্যান্স ধারণকারী দ্বারা আজীবন নিয়ন্ত্রিত হয়। যেমন, ক্লায়েন্ট কোড কখনই ম্যানেজার রেফারেন্স ধরে রাখা উচিত নয়, বরং গেমসার্ভিসেস ইনস্ট্যান্স ধরে রাখা উচিত। পরিচালকদের দেখুন।
অপরিবর্তনীয় মান টাইপ অবজেক্টের মাধ্যমে ডেটা ফেরত দেওয়া হয়। এই মানগুলি কোয়েরি করার সময়ে অন্তর্নিহিত ডেটার একটি সামঞ্জস্যপূর্ণ দৃষ্টিভঙ্গি প্রতিফলিত করে। মান প্রকার দেখুন।
থ্রেডিং মডেল
অন্যথায় উল্লেখ করা না থাকলে, সমস্ত গেমসার্ভিস পদ্ধতি এবং ম্যানেজার পদ্ধতি থ্রেডসেফ এবং অ্যাসিঙ্ক্রোনাস। এগুলিকে বাহ্যিক লকিং ছাড়াই যে কোনও থ্রেডে কল করা যেতে পারে এবং তাদের আহ্বানের আদেশের সাথে সামঞ্জস্যপূর্ণ একটি ক্রমে কার্যকর করা হবে৷ সাধারণভাবে, মিউটেটর পদ্ধতি (যারা অবস্থা পরিবর্তন করে) একটি ফায়ার-এন্ড-ফোরগেট মডেল ব্যবহার করে। অ্যাক্সেসর পদ্ধতিগুলি (যারা পড়া অবস্থায়) দুটি প্রধান বৈকল্পিক আসে। প্রথম ভেরিয়েন্ট (GetProperty এর মত নাম সহ) অ্যাসিঙ্ক্রোনাসভাবে একটি প্রদত্ত কলব্যাকে তাদের ফলাফল সরবরাহ করে; দ্বিতীয় ভেরিয়েন্ট (GetPropertyBlocking এর মত নাম সহ) সিঙ্ক্রোনাসভাবে তাদের ফলাফল কলিং থ্রেডে ফেরত দেয়। অ্যাক্সেসররা আগে কল করা সমস্ত মিউটেটরের ফলাফল দেখতে পায়; যাইহোক, মিউটেটর যেকোন সময়ে রিমোট গেম সার্ভিসের অবস্থা পরিবর্তন করতে পারে বা নাও করতে পারে।
সমস্ত ব্যবহারকারীর কলব্যাকগুলি (একটি-শট কলব্যাকগুলি অ্যাক্সেসর পদ্ধতিতে আর্গুমেন্ট হিসাবে সরবরাহ করা হোক বা গেমসার্ভিস বিল্ড টাইমে কনফিগার করা বহু-ব্যবহারের কলব্যাক) একটি ডেডিকেটেড কলব্যাক থ্রেডে আহ্বান করা হয়৷ এই থ্রেডটি "প্রধান থ্রেড" বা "UI থ্রেড" এর যেকোনো প্ল্যাটফর্ম ধারণা থেকে সম্ভাব্যভাবে আলাদা। ব্যবহারকারীর কলব্যাকগুলি দ্রুত কার্যকর করা উচিত, কারণ একটি স্থগিত কলব্যাক থ্রেড ব্যবহারকারীর দৃশ্যমান সমস্যা সৃষ্টি করতে পারে (উদাহরণস্বরূপ, সাইন-আউট অনুরোধের বিলম্বিত সমাপ্তি)।
অপরিবর্তনীয় মান প্রকারের বৈশিষ্ট্যগুলি সিঙ্ক্রোনাসভাবে এবং ব্লক না করে উপলব্ধ।
এই পৃষ্ঠার কন্টেন্ট ও কোডের নমুনাগুলি Content License-এ বর্ণিত লাইসেন্সের অধীনস্থ। Java এবং OpenJDK হল Oracle এবং/অথবা তার অ্যাফিলিয়েট সংস্থার রেজিস্টার্ড ট্রেডমার্ক।
2025-07-29 UTC-তে শেষবার আপডেট করা হয়েছে।
[[["সহজে বোঝা যায়","easyToUnderstand","thumb-up"],["আমার সমস্যার সমাধান হয়েছে","solvedMyProblem","thumb-up"],["অন্যান্য","otherUp","thumb-up"]],[["এতে আমার প্রয়োজনীয় তথ্য নেই","missingTheInformationINeed","thumb-down"],["খুব জটিল / অনেক ধাপ","tooComplicatedTooManySteps","thumb-down"],["পুরনো","outOfDate","thumb-down"],["অনুবাদ সংক্রান্ত সমস্যা","translationIssue","thumb-down"],["নমুনা / কোড সংক্রান্ত সমস্যা","samplesCodeIssue","thumb-down"],["অন্যান্য","otherDown","thumb-down"]],["2025-07-29 UTC-তে শেষবার আপডেট করা হয়েছে।"],[],[],null,["# Google Play Games C++ SDK\n=========================\n\nSummary\n-------\n\nOrganization\n\nThe main entry point for Play Game Services functionality is the GameServices class. GameServices instances are created with GameServices::Builder. See [GameServices](/games/services/cpp/api/other/classgpg_1_1GameServices)\n\nMethods that access or mutate the state of the entire GameServices session live in the GameServices class itself.\n\nOther functionality is indirected through a set of per-feature managers. These managers group related functionality together; they contain no user-visible state themselves. Managers are returned by reference, and have lifetime controlled by the containing GameServices instance. As such, client code should never hold onto a manager reference, but instead hold on to the GameServices instance. See [Managers](/games/services/cpp/api/other/group__Managers).\n\nData is returned via immutable value type objects. These values reflect a consistent view of the underlying data at the point in time the query was made. See [Value Types](/games/services/cpp/api/other/group__ValueType).\n\nThreading Model\n\nUnless otherwise noted, all GameServices methods and Manager methods are threadsafe and asynchronous. They can be called on any thread without external locking, and will execute in an order consistent with their invocation order. In general, mutator methods (those that change state) use a fire-and-forget model. Accessor methods (those that read state) come in two major variants. The first variant (with names like GetProperty) asynchronously supply their results to a provided callback; the second variant (with names like GetPropertyBlocking) synchronously return their results to the calling thread. Accessors see the results of all mutators that have been called prior; however, the mutator may or may not have modified the remote Game Services state at any given time.\n\nAll user callbacks (whether one-shot callbacks supplied as arguments to accessor methods, or multi-use callbacks configured at GameServices build time) are invoked on a dedicated callback thread. This thread is potentially distinct from any platform concept of a \"main thread\" or \"UI thread\". User callbacks should execute quickly, as a stalled callback thread can cause user-visible issues (for example, delayed completion of a sign-out request).\n\nProperties on immutable value types are available synchronously and without blocking."]]