gpg:: GameServices
#include <game_services.h>
Google Play Games के साथ इंटरैक्ट करने का शुरुआती पॉइंट.
खास जानकारी
गेम सेवाओं की लाइफ़साइकल
GameServices क्लास का इंस्टेंस GameServices::Builder की मदद से बनाया जाता है. बनाए जाने पर, इंस्टेंस शुरुआत में गेम सेवाओं में साइन इन नहीं किया जाता. इसका मतलब है कि IsAuthorized() गलत दिखाएगा. बैकग्राउंड में, बिना आवाज़ के साइन इन करने की कोशिश की जाती है. अगर किसी उपयोगकर्ता ने पिछले सेशन के आखिर में साइन इन किया था, तो हो सकता है कि इस कोशिश में साइन इन करने में उसे कोई परेशानी न हो. जब तक इस साइलेंट साइन-इन प्रयास के पूरा नहीं हो जाता, तब तक किसी भी उपयोगकर्ता के लिए पुष्टि करने वाला यूज़र इंटरफ़ेस (उदाहरण के लिए, साइन-इन और/या साइन-आउट करने का बटन) बंद या छिपाया जाना चाहिए.
साइलेंट साइन-इन की इस कोशिश के पूरा होने पर, GameServices इंस्टेंस (GameServices::Builder::SetOnAuthActionFinished के साथ रजिस्टर किए गए) के लिए, OnAuthActionफ़ुल कॉलबैक की सूचना दी जाएगी. अगर कॉलबैक आर्ग्युमेंट के ज़रिए साइन इन करने की कोशिश की जाती है, तो माना जा सकता है कि इंस्टेंस, गेम सेवाओं से कनेक्ट है. इसका मतलब है कि IsAuthorized() सही वैल्यू के तौर पर दिखेगा. साथ ही, साइन-आउट करने के लिए यूज़र इंटरफ़ेस (यूआई) चालू किया जाना चाहिए. अगर कॉलबैक तर्क, साइन इन करने की असफल कोशिश के बारे में बताता है, तो साइन इन करने का यूज़र इंटरफ़ेस (यूआई) चालू होना चाहिए.
SignOut() से साइन आउट करने पर, सिर्फ़ उपयोगकर्ता के अनुरोध पर ही साइन आउट किया जाना चाहिए. यह साइन आउट की स्थिति में अपग्रेड करने का अनुरोध करता है. यह ट्रांज़िशन पूरा होने का मतलब है कि OnAuthActionEnd कॉलबैक को शुरू किया गया है. जब तक इस कॉलबैक को शुरू नहीं किया जाता, तब तक अन्य GameServices एपीआई (StartAuthizationUI() सहित) को कॉल नहीं किया जाना चाहिए.
जब GameServices का कोई इंस्टेंस बंद हो जाता है, तो यह तब तक ब्लॉक रहेगा, जब तक डेटा के नुकसान से बचने के लिए कोई कार्रवाई पूरी नहीं होती है. अगर आपको यह ब्लॉक-ऑन-डिस्ट्रक्शन व्यवहार नहीं चाहिए, तो Flush() जारी किया जाना चाहिए. साथ ही, GameServices के इंस्टेंस को तब तक सेव रखना चाहिए, जब तक Flush() पूरा नहीं हो जाता.
GameServices के 4.0 से पहले के Android वर्शन पर ठीक से काम करने के लिए, मालिकाना हक वाली गतिविधि को लाइफ़साइकल कॉलबैक को कॉल करना होगा. AndroidSupport देखें.
कंस्ट्रक्टर और डिस्ट्रक्टर |
|
---|---|
GameServices()
|
|
~GameServices()
|
सार्वजनिक टाइप |
|
---|---|
FlushCallback
|
typedefstd::function< void(FlushStatus)>
यह ऐसे कॉलबैक टाइप को तय करता है जिसे फ़्लश कार्रवाई का नतीजा (स्टेटस) मिलता है. |
सार्वजनिक फ़ंक्शन |
|
---|---|
Achievements()
|
उपलब्धियों को ऐक्सेस करने और उनमें बदलाव करने के लिए इस्तेमाल किए जाने वाले AchievementManager ऑब्जेक्ट का रेफ़रंस देता है.
|
Achievements() const
|
const AchievementManager &
उपलब्धियों को ऐक्सेस करने और उनमें बदलाव करने के लिए इस्तेमाल किए जाने वाले AchievementManager ऑब्जेक्ट के बारे में कॉन्स्ट रेफ़रंस देता है.
|
Events()
|
इवेंट को ऐक्सेस करने और उनमें बदलाव करने के लिए इस्तेमाल किए जाने वाले EventManager ऑब्जेक्ट का रेफ़रंस देता है.
|
Events() const
|
const EventManager &
इवेंट को ऐक्सेस करने और उनमें बदलाव करने के लिए इस्तेमाल किए जाने वाले EventManager ऑब्जेक्ट का कॉन्स्ट रेफ़रंस देता है.
|
Flush(FlushCallback callback)
|
void
एसिंक्रोनस रूप से मुख्य डिस्पैच सूची को फ़्लश करता है और दिए गए FlushCallback को फ़्लश की स्थिति वापस करता है.
|
FlushBlocking()
|
सिंक्रोनस रूप से फ़्लश होता है और फ़्लश की स्थिति (स्थिति) हासिल करता है.
|
FlushBlocking(Timeout timeout)
|
सिंक्रोनस रूप से फ़्लश होता है और फ़्लश की स्थिति (स्थिति) हासिल करता है.
|
IsAuthorized()
|
bool
इस सुविधा की मदद से, साफ़ तौर पर अनुमति की मौजूदा स्थिति देखी जा सकती है.
|
Leaderboards()
|
इस टूल से, LeaderboardManager ऑब्जेक्ट के बारे में जानकारी मिलती है. इसका इस्तेमाल उपलब्धियों को ऐक्सेस करने और उनमें बदलाव करने के लिए किया जाता है.
|
Leaderboards() const
|
const LeaderboardManager &
उपलब्धियां ऐक्सेस करने और उनमें बदलाव करने के लिए इस्तेमाल किए जाने वाले LeaderboardManager ऑब्जेक्ट का कॉन्स्ट रेफ़रंस.
|
Players()
|
PlayerManager ऑब्जेक्ट का रेफ़रंस देता है, जिससे खिलाड़ियों के बारे में जानकारी को ऐक्सेस किया जा सकता है.
|
Players() const
|
const PlayerManager &
PlayerManager ऑब्जेक्ट का कॉन्स्ट रेफ़रंस देता है, जिससे खिलाड़ियों के बारे में जानकारी को ऐक्सेस किया जा सकता है.
|
RealTimeMultiplayer()
|
यह RealTimeMultiplayerManager ऑब्जेक्ट के लिए एक रेफ़रंस देता है, जिससे RTMP से जुड़े तरीकों को ऐक्सेस किया जा सकता है.
|
RealTimeMultiplayer() const
|
const RealTimeMultiplayerManager &
यह RealTimeMultiplayerManager ऑब्जेक्ट के लिए एक कॉन्स्ट रेफ़रंस देता है, जिससे RTMP से जुड़े तरीकों को ऐक्सेस किया जा सकता है.
|
SignOut()
|
void
एसिंक्रोनस साइन आउट प्रक्रिया शुरू करता है.
|
Snapshots()
|
स्नैपशॉट ऐक्सेस करने और उनमें बदलाव करने के लिए इस्तेमाल किए जाने वाले SnapshotManager ऑब्जेक्ट का रेफ़रंस दिया जाता है.
|
Snapshots() const
|
const SnapshotManager &
स्नैपशॉट ऐक्सेस करने और उनमें बदलाव करने के लिए इस्तेमाल किए जाने वाले SnapshotManager ऑब्जेक्ट का कॉन्स रेफ़रंस दिया जाता है.
|
StartAuthorizationUI()
|
void
यह एक प्लैटफ़ॉर्म के हिसाब से उपयोगकर्ता की पुष्टि करने वाला फ़्लो दिखाता है.
|
Stats()
|
गेम और खिलाड़ी के आंकड़ों को ऐक्सेस करने के लिए इस्तेमाल किए जाने वाले StatsManager ऑब्जेक्ट के बारे में जानकारी देता है.
|
Stats() const
|
const StatsManager &
गेम और खिलाड़ी के आंकड़ों को ऐक्सेस करने के लिए इस्तेमाल किए जाने वाले StatsManager ऑब्जेक्ट के बारे में जानकारी देता है.
|
TurnBasedMultiplayer()
|
यह TurnBasedMultiplayerManager ऑब्जेक्ट के लिए रेफ़रंस देता है. इससे, TBMP से जुड़े तरीकों को ऐक्सेस किया जा सकता है.
|
TurnBasedMultiplayer() const
|
const TurnBasedMultiplayerManager &
यह TurnBasedMultiplayerManager ऑब्जेक्ट के लिए एक कॉन्सटेंट रेफ़रंस देता है, जो TBMP से जुड़े तरीकों को ऐक्सेस करने की अनुमति देता है.
|
Video()
|
VideoManager ऑब्जेक्ट के बारे में जानकारी देता है. इससे आपको वीडियो से जुड़े तरीकों को ऐक्सेस करने की अनुमति मिलती है.
|
Video() const
|
const VideoManager &
VideoManager ऑब्जेक्ट के लिए कॉन्सटेंट का रेफ़रंस देता है, जिससे वीडियो से जुड़े तरीकों को ऐक्सेस करने की अनुमति मिलती है.
|
क्लास |
|
---|---|
gpg:: |
इसका इस्तेमाल, GameServices क्लास के इंस्टेंस को बनाने और कॉन्फ़िगर करने के लिए किया जाता है. |
सार्वजनिक टाइप
FlushCallback
std::function< void(FlushStatus)> FlushCallback
यह ऐसे कॉलबैक टाइप को तय करता है जिसे फ़्लश कार्रवाई का नतीजा (स्टेटस) मिलता है.
Flush() में इस्तेमाल किया जाता है.
सार्वजनिक फ़ंक्शन
उपलब्धियां
AchievementManager & Achievements()
उपलब्धियों को ऐक्सेस करने और उनमें बदलाव करने के लिए इस्तेमाल किए जाने वाले AchievementManager ऑब्जेक्ट का रेफ़रंस देता है.
उपलब्धियां
const AchievementManager & Achievements() const
उपलब्धियों को ऐक्सेस करने और उनमें बदलाव करने के लिए इस्तेमाल किए जाने वाले AchievementManager ऑब्जेक्ट के बारे में कॉन्स्ट रेफ़रंस देता है.
इवेंट
EventManager & Events()
इवेंट को ऐक्सेस करने और उनमें बदलाव करने के लिए इस्तेमाल किए जाने वाले EventManager ऑब्जेक्ट का रेफ़रंस देता है.
इवेंट
const EventManager & Events() const
इवेंट को ऐक्सेस करने और उनमें बदलाव करने के लिए इस्तेमाल किए जाने वाले EventManager ऑब्जेक्ट का कॉन्स्ट रेफ़रंस देता है.
फ़्लश
void Flush( FlushCallback callback )
एसिंक्रोनस रूप से मुख्य डिस्पैच सूची को फ़्लश करता है और दिए गए FlushCallback को फ़्लश की स्थिति वापस करता है.
संभावित स्थितियां ये हैं: FLUSHED, ERROR_INTERNAL, औरERROR_VERSION_UPDATE_REQUIRED.
FlushBlocking
FlushStatus FlushBlocking()
सिंक्रोनस रूप से फ़्लश होता है और फ़्लश की स्थिति (स्थिति) हासिल करता है.
संभावित स्थितियां ये हैं: FLUSHED, ERROR_INTERNAL, ERROR_NOT_AUTHORIZED, ERROR_VERSION_UPDATE_REQUIRED, औरERROR_TIMEOUT. इस टाइम आउट को तय न करने पर, यह फ़ंक्शन कॉल FlushStatus FlushBlocking(Timeout) को कॉल करने के बराबर हो जाता है और टाइम आउट की अवधि 10 साल बताई जाती है.
FlushBlocking
FlushStatus FlushBlocking( Timeout timeout )
सिंक्रोनस रूप से फ़्लश होता है और फ़्लश की स्थिति (स्थिति) हासिल करता है.
संभावित स्थितियां ये हैं: FLUSHED, ERROR_INTERNAL, ERROR_NOT_AUTHORIZED, ERROR_VERSION_UPDATE_REQUIRED, औरERROR_TIMEOUT. टाइम आउट को मिलीसेकंड की संख्या के हिसाब से तय करें.
GameServices
GameServices()=delete
IsAuthorized
bool IsAuthorized()
इस सुविधा की मदद से, साफ़ तौर पर अनुमति की मौजूदा स्थिति देखी जा सकती है.
SDK टूल इस्तेमाल करने वाले लोगों को सलाह दी जाती है कि वे पोलिंग के बजाय, AUTH_ACTION_* कॉलबैक के लिए रजिस्टर करें, ताकि अनुमति देने की स्थिति में हुए बदलावों को मैनेज किया जा सके.
लीडरबोर्ड
LeaderboardManager & Leaderboards()
इस टूल से, LeaderboardManager ऑब्जेक्ट के बारे में जानकारी मिलती है. इसका इस्तेमाल उपलब्धियों को ऐक्सेस करने और उनमें बदलाव करने के लिए किया जाता है.
लीडरबोर्ड
const LeaderboardManager & Leaderboards() const
उपलब्धियां ऐक्सेस करने और उनमें बदलाव करने के लिए इस्तेमाल किए जाने वाले LeaderboardManager ऑब्जेक्ट का कॉन्स्ट रेफ़रंस.
खिलाड़ी
PlayerManager & Players()
PlayerManager ऑब्जेक्ट का रेफ़रंस देता है, जिससे खिलाड़ियों के बारे में जानकारी को ऐक्सेस किया जा सकता है.
खिलाड़ी
const PlayerManager & Players() const
PlayerManager ऑब्जेक्ट का कॉन्स्ट रेफ़रंस देता है, जिससे खिलाड़ियों के बारे में जानकारी को ऐक्सेस किया जा सकता है.
RealTimeMultiplayer
RealTimeMultiplayerManager & RealTimeMultiplayer()
यह RealTimeMultiplayerManager ऑब्जेक्ट के लिए एक रेफ़रंस देता है, जिससे RTMP से जुड़े तरीकों को ऐक्सेस किया जा सकता है.
RealTimeMultiplayer
const RealTimeMultiplayerManager & RealTimeMultiplayer() const
यह RealTimeMultiplayerManager ऑब्जेक्ट के लिए एक कॉन्स्ट रेफ़रंस देता है, जिससे RTMP से जुड़े तरीकों को ऐक्सेस किया जा सकता है.
SignOut
void SignOut()
एसिंक्रोनस साइन आउट प्रक्रिया शुरू करता है.
साइन आउट को कॉल करने के बाद, आपको GameServices पर तब तक किसी तरह की कार्रवाई नहीं करनी चाहिए, जब तक कि आपको OnAuthActionEndCallback नहीं मिल जाता है.
स्नैपशॉट
SnapshotManager & Snapshots()
स्नैपशॉट ऐक्सेस करने और उनमें बदलाव करने के लिए इस्तेमाल किए जाने वाले SnapshotManager ऑब्जेक्ट का रेफ़रंस दिया जाता है.
स्नैपशॉट
const SnapshotManager & Snapshots() const
स्नैपशॉट ऐक्सेस करने और उनमें बदलाव करने के लिए इस्तेमाल किए जाने वाले SnapshotManager ऑब्जेक्ट का कॉन्स रेफ़रंस दिया जाता है.
StartAuthorizationUI
void StartAuthorizationUI()
यह एक प्लैटफ़ॉर्म के हिसाब से उपयोगकर्ता की पुष्टि करने वाला फ़्लो दिखाता है.
आंकड़े
StatsManager & Stats()
गेम और खिलाड़ी के आंकड़ों को ऐक्सेस करने के लिए इस्तेमाल किए जाने वाले StatsManager ऑब्जेक्ट के बारे में जानकारी देता है.
आंकड़े
const StatsManager & Stats() const
गेम और खिलाड़ी के आंकड़ों को ऐक्सेस करने के लिए इस्तेमाल किए जाने वाले StatsManager ऑब्जेक्ट के बारे में जानकारी देता है.
TurnBasedMultiplayer
TurnBasedMultiplayerManager & TurnBasedMultiplayer()
यह TurnBasedMultiplayerManager ऑब्जेक्ट के लिए रेफ़रंस देता है. इससे, TBMP से जुड़े तरीकों को ऐक्सेस किया जा सकता है.
TurnBasedMultiplayer
const TurnBasedMultiplayerManager & TurnBasedMultiplayer() const
यह TurnBasedMultiplayerManager ऑब्जेक्ट के लिए एक कॉन्सटेंट रेफ़रंस देता है, जो TBMP से जुड़े तरीकों को ऐक्सेस करने की अनुमति देता है.
वीडियो
VideoManager & Video()
VideoManager ऑब्जेक्ट के बारे में जानकारी देता है. इससे आपको वीडियो से जुड़े तरीकों को ऐक्सेस करने की अनुमति मिलती है.
वीडियो
const VideoManager & Video() const
VideoManager ऑब्जेक्ट के लिए कॉन्सटेंट का रेफ़रंस देता है, जिससे वीडियो से जुड़े तरीकों को ऐक्सेस करने की अनुमति मिलती है.
~GameServices
~GameServices()