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 typedef
std::function< void(FlushStatus)>
यह ऐसे कॉलबैक टाइप को तय करता है जिसे फ़्लश कार्रवाई का नतीजा (स्टेटस) मिलता है.

सार्वजनिक फ़ंक्शन

Achievements()
उपलब्धियों को ऐक्सेस करने और उनमें बदलाव करने के लिए इस्तेमाल किए जाने वाले AchievementManager ऑब्जेक्ट का रेफ़रंस देता है.
Achievements() const
उपलब्धियों को ऐक्सेस करने और उनमें बदलाव करने के लिए इस्तेमाल किए जाने वाले AchievementManager ऑब्जेक्ट के बारे में कॉन्स्ट रेफ़रंस देता है.
Events()
इवेंट को ऐक्सेस करने और उनमें बदलाव करने के लिए इस्तेमाल किए जाने वाले EventManager ऑब्जेक्ट का रेफ़रंस देता है.
Events() const
const EventManager &
इवेंट को ऐक्सेस करने और उनमें बदलाव करने के लिए इस्तेमाल किए जाने वाले EventManager ऑब्जेक्ट का कॉन्स्ट रेफ़रंस देता है.
Flush(FlushCallback callback)
void
एसिंक्रोनस रूप से मुख्य डिस्पैच सूची को फ़्लश करता है और दिए गए FlushCallback को फ़्लश की स्थिति वापस करता है.
FlushBlocking()
सिंक्रोनस रूप से फ़्लश होता है और फ़्लश की स्थिति (स्थिति) हासिल करता है.
FlushBlocking(Timeout timeout)
सिंक्रोनस रूप से फ़्लश होता है और फ़्लश की स्थिति (स्थिति) हासिल करता है.
IsAuthorized()
bool
इस सुविधा की मदद से, साफ़ तौर पर अनुमति की मौजूदा स्थिति देखी जा सकती है.
Leaderboards()
इस टूल से, LeaderboardManager ऑब्जेक्ट के बारे में जानकारी मिलती है. इसका इस्तेमाल उपलब्धियों को ऐक्सेस करने और उनमें बदलाव करने के लिए किया जाता है.
Leaderboards() const
उपलब्धियां ऐक्सेस करने और उनमें बदलाव करने के लिए इस्तेमाल किए जाने वाले LeaderboardManager ऑब्जेक्ट का कॉन्स्ट रेफ़रंस.
Players()
PlayerManager ऑब्जेक्ट का रेफ़रंस देता है, जिससे खिलाड़ियों के बारे में जानकारी को ऐक्सेस किया जा सकता है.
Players() const
const PlayerManager &
PlayerManager ऑब्जेक्ट का कॉन्स्ट रेफ़रंस देता है, जिससे खिलाड़ियों के बारे में जानकारी को ऐक्सेस किया जा सकता है.
RealTimeMultiplayer()
यह RealTimeMultiplayerManager ऑब्जेक्ट के लिए एक रेफ़रंस देता है, जिससे RTMP से जुड़े तरीकों को ऐक्सेस किया जा सकता है.
RealTimeMultiplayer() const
यह 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
यह TurnBasedMultiplayerManager ऑब्जेक्ट के लिए एक कॉन्सटेंट रेफ़रंस देता है, जो TBMP से जुड़े तरीकों को ऐक्सेस करने की अनुमति देता है.
Video()
VideoManager ऑब्जेक्ट के बारे में जानकारी देता है. इससे आपको वीडियो से जुड़े तरीकों को ऐक्सेस करने की अनुमति मिलती है.
Video() const
const VideoManager &
VideoManager ऑब्जेक्ट के लिए कॉन्सटेंट का रेफ़रंस देता है, जिससे वीडियो से जुड़े तरीकों को ऐक्सेस करने की अनुमति मिलती है.

क्लास

gpg::GameServices::Builder

इसका इस्तेमाल, 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()