Google Play Games C++ SDK टूल
खास जानकारी
संगठन
Play की गेम सेवाओं के फ़ंक्शन का मुख्य एंट्री पॉइंट, GameServices क्लास है. GameServices के इंस्टेंस, GameServices::Builder की मदद से बनाए जाते हैं. GameServices देखें
ऐसे तरीके जो GameServices सेशन में पूरे GameServices सेशन की स्थिति को ऐक्सेस करते हैं या उसमें बदलाव करते हैं. ये तरीके, GameServices क्लास में लाइव होते हैं.
अन्य सुविधाएं, हर सुविधा वाले मैनेजर के सेट की मदद से काम करती हैं. ये मैनेजर मिलते-जुलते फ़ंक्शन को एक साथ ग्रुप कर देते हैं, इनमें उपयोगकर्ता को दिखने वाली कोई स्थिति नहीं होती. मैनेजर, पहचान के आधार पर लौटाए जाते हैं और उनके पास GameServices इंस्टेंस से हमेशा के लिए कंट्रोल होता है. इसलिए, क्लाइंट कोड को मैनेजर रेफ़रंस के तौर पर कभी भी होल्ड नहीं करना चाहिए. इसके बजाय, उसे GameServices इंस्टेंस को होल्ड करके रखना चाहिए. मैनेजर देखें.
डेटा को नहीं बदले जा सकने वाले वैल्यू टाइप ऑब्जेक्ट के ज़रिए दिखाया जाता है. ये वैल्यू, क्वेरी किए जाने तक उपलब्ध डेटा का एक जैसा व्यू दिखाती हैं. वैल्यू टाइप देखें.
थ्रेडिंग मॉडल
जब तक अलग से न बताया जाए, तब तक GameServices के सभी तरीके और मैनेजर के तरीके, थ्रेडसेफ़ और एसिंक्रोनस होते हैं. उन्हें किसी भी थ्रेड पर बिना बाहरी लॉक किए कॉल किया जा सकता है. साथ ही, इन्हें शुरू करने के क्रम के मुताबिक क्रम में चलाया जाएगा. आम तौर पर, म्यूटेटर तरीके (वे जो स्थिति में बदलाव करते हैं) फ़ायर ऐंड फॉरगेट मॉडल का इस्तेमाल करते हैं. ऐक्सेसर के तरीके (जो पढ़ने की स्थिति बताते हैं) दो मुख्य वैरिएंट में आते हैं. पहला वैरिएंट (पाएं प्रॉपर्टी का नाम जैसे नाम के साथ), दिए गए कॉलबैक को एसिंक्रोनस तरीके से अपने नतीजे देता है. दूसरे वैरिएंट, जैसे कि पाना प्रॉपर्टी ब्लॉकिंग अपने-आप है. इसके अलावा, दूसरे वैरिएंट को कॉल करने के लिए इस्तेमाल हुए थ्रेड में, नतीजे अपने-आप वापस मिल जाते हैं. ऐक्सेसर, उन सभी म्यूटेटर के नतीजे देखते हैं जिन्हें पहले कॉल किया जा चुका है. हालांकि, हो सकता है कि म्यूटेटर ने किसी भी समय रिमोट गेम सेवाओं की स्थिति में बदलाव किया हो या नहीं किया हो.
उपयोगकर्ता के सभी कॉलबैक (चाहे ऐक्सेसर के तरीकों के लिए आर्ग्युमेंट के तौर पर दिए गए वन-शॉट कॉलबैक या GameServices के बिल्ड समय पर कॉन्फ़िगर किए गए मल्टी-यूज़ कॉलबैक), एक खास कॉलबैक थ्रेड पर शुरू किए जाते हैं. यह थ्रेड, "मुख्य थ्रेड" या "यूज़र इंटरफ़ेस (यूआई) थ्रेड" के किसी भी प्लैटफ़ॉर्म कॉन्सेप्ट से अलग हो सकती है. उपयोगकर्ता के कॉलबैक तुरंत काम करने चाहिए, क्योंकि रुके हुए कॉलबैक थ्रेड की वजह से, उपयोगकर्ता को दिखने वाली समस्याएं हो सकती हैं. उदाहरण के लिए, साइन आउट का अनुरोध पूरा होने में देरी होना.
नहीं बदली जा सकने वाली वैल्यू टाइप वाली प्रॉपर्टी, सिंक्रोनस (साथ-साथ) और बिना ब्लॉक किए उपलब्ध होती हैं.