gpg::GameServices

#include <game_services.h>

Google Play Games से इंटरैक्ट करने का शुरुआती पॉइंट.

खास जानकारी

गेम सेवाओं की लाइफ़साइकल

GameServices क्लास का एक इंस्टेंस, GameServices::Builder के ज़रिए बनाया जाता है. बनाए जाने के बाद, इंस्टेंस को शुरुआत में गेम सेवाओं में साइन इन नहीं किया जाता है. इसका मतलब है कि IsAuthorized(), गलत नतीजे दिखाएगा. बैकग्राउंड में, बिना आवाज़ के साइन इन करने की कोशिश शुरू की जाती है. अगर उपयोगकर्ता ने पिछले सेशन के आखिर में साइन इन किया था, तो यह प्रोसेस पूरी हो सकती है. इस तरह से साइन-इन करने की कोशिश के पूरा होने तक, उपयोगकर्ता की पुष्टि करने वाले किसी भी यूज़र इंटरफ़ेस (यूआई) (उदाहरण के लिए, साइन-इन और/या साइन-आउट बटन) को बंद या छिपा दिया जाना चाहिए.

साइलेंट मोड में साइन इन करने की यह कोशिश पूरी होने पर, GameServices इंस्टेंस (GameServices::Builder::SetOnAuthActionFinished के साथ रजिस्टर) के लिए, OnAuthActionFinished कॉलबैक को सूचित किया जाएगा. अगर कॉलबैक आर्ग्युमेंट, साइन इन करने की सफल कोशिश को दिखाते हैं, तो इंस्टेंस को गेम सेवाओं से कनेक्ट माना जा सकता है. इसका मतलब है कि IsAuthorized(), सही नतीजे दिखाएगा. साथ ही, साइन-आउट यूज़र इंटरफ़ेस (यूआई) चालू होना चाहिए. अगर कॉलबैक आर्ग्युमेंट, साइन-इन करने की नाकाम कोशिश को दिखाता है, तो साइन-इन यूज़र इंटरफ़ेस (यूआई) चालू होना चाहिए.

SignOut() तरीके के ज़रिए एक्सप्लिसिट साइन-आउट को सिर्फ़ उपयोगकर्ता के अनुरोध पर शुरू किया जाना चाहिए. यह साइन आउट की गई स्थिति में ट्रांज़िशन का अनुरोध करता है. इस ट्रांज़िशन के पूरा होने का मतलब है कि OnAuthActionFinished कॉलबैक को शुरू किया जाए. जब तक इस कॉलबैक को शुरू नहीं किया जाता, तब तक अन्य GameServices एपीआई (StartAuthorizationUI() के साथ-साथ) को कॉल नहीं किया जाना चाहिए.

जब कोई GameServices इंस्टेंस बंद हो जाता है, तो यह तब तक ब्लॉक रहेगा, जब तक कि डेटा को नुकसान से बचाने के लिए कोई कार्रवाई बाकी न हो. अगर ब्लॉक-ऑन-डिस्ट्रक्शन का यह व्यवहार ज़रूरी नहीं है, तो एक Flush() जारी किया जाना चाहिए और GameServices इंस्टेंस को तब तक सेव रखना चाहिए, जब तक Flush() पूरा नहीं हो जाता.

GameServices को 4.0 से कम के Android वर्शन पर ठीक से काम करने के लिए, मालिकाना हक वाली ऐक्टिविटी को लाइफ़साइकल कॉलबैक को कॉल करना होगा. AndroidSupport देखें.

कंस्ट्रक्टर और डिस्ट्रक्टर

GameServices()
~GameServices()

सार्वजनिक प्रकार

FlushCallback टाइपडिफ़
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 ऑब्जेक्ट का रेफ़रंस देता है जो आरटीएमपी से जुड़े तरीकों को ऐक्सेस करने की अनुमति देता है.
RealTimeMultiplayer() const
RealTimeMultiplayerManager ऑब्जेक्ट का कॉन्स्ट रेफ़रंस देता है. इससे आरटीएमपी से जुड़े तरीकों को ऐक्सेस किया जा सकता है.
SignOut()
void
एसिंक्रोनस साइन-आउट प्रोसेस शुरू करता है.
Snapshots()
यह स्नैपशॉट को ऐक्सेस करने और उसमें बदलाव करने के लिए इस्तेमाल किए जाने वाले SnapshotManager ऑब्जेक्ट के बारे में बताता है.
Snapshots() const
const SnapshotManager &
यह स्नैपशॉट को ऐक्सेस करने और उसमें बदलाव करने के लिए इस्तेमाल होने वाले SnapshotManager ऑब्जेक्ट को एक कॉन्स्ट रेफ़रंस देता है.
StartAuthorizationUI()
void
प्लैटफ़ॉर्म के हिसाब से, उपयोगकर्ता की पुष्टि करने का फ़्लो दिखाता है.
Stats()
गेम और खिलाड़ी के आंकड़े ऐक्सेस करने के लिए इस्तेमाल किए जाने वाले StatsManager ऑब्जेक्ट का रेफ़रंस देता है.
Stats() const
const StatsManager &
गेम और खिलाड़ी के आंकड़े ऐक्सेस करने के लिए इस्तेमाल किए जाने वाले StatsManager ऑब्जेक्ट का कॉन्स्ट रेफ़रंस देता है.
TurnBasedMultiplayer()
इस नीति से, TurnBasedMultiplayerManager ऑब्जेक्ट का रेफ़रंस मिलता है. इससे, टीबीएमपी से जुड़े तरीकों को ऐक्सेस किया जा सकता है.
TurnBasedMultiplayer() const
इससे TurnBasedMultiplayerManager ऑब्जेक्ट का कॉन्स्ट रेफ़रंस उपलब्ध होता है. इससे, टीबीएमपी से जुड़े तरीकों को ऐक्सेस किया जा सकता है.
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_ स्लाइडर. इस टाइम आउट को तय न करने पर, यह फ़ंक्शन कॉल, FlushStatus के FlushBlocking(Timeout) को कॉल करने के बराबर हो जाता है. इसमें टाइमआउट की अवधि 10 साल होती है.

FlushBlocking

FlushStatus FlushBlocking(
  Timeout timeout
)

सिंक्रोनस रूप से फ़्लश होता है और फ़्लश का परिणाम (स्थिति) प्राप्त होता है.

संभावित स्थितियां ये हैं: FLUSHED, ERROR_INTERNAL, ERROR_NOT_AUTHORIZED, ERROR_VERSION_UPDATE_REQUIRED, और ERROR_ स्लाइडर. टाइम आउट को मिलीसेकंड की अपनी पसंद के हिसाब से तय करें.

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 ऑब्जेक्ट का रेफ़रंस देता है, जो आरटीएमपी से जुड़े तरीकों को ऐक्सेस करने की अनुमति देता है.

RealTimeMultiplayer

const RealTimeMultiplayerManager & RealTimeMultiplayer() const 

RealTimeMultiplayerManager ऑब्जेक्ट का कॉन्स्ट रेफ़रंस देता है. इससे आरटीएमपी से जुड़े तरीकों को ऐक्सेस किया जा सकता है.

SignOut

void SignOut()

एसिंक्रोनस साइन-आउट प्रोसेस शुरू करता है.

Signआउट को कॉल करने के बाद, आपको GameServices पर किसी भी कार्रवाई को तब तक कॉल नहीं करना चाहिए, जब तक कि आपको OnAuthActionFinishedCallback न मिल जाए जो साइन-आउट करने का संकेत देता हो.

स्नैपशॉट

SnapshotManager & Snapshots()

यह स्नैपशॉट को ऐक्सेस करने और उसमें बदलाव करने के लिए इस्तेमाल किए जाने वाले SnapshotManager ऑब्जेक्ट के बारे में बताता है.

स्नैपशॉट

const SnapshotManager & Snapshots() const 

यह स्नैपशॉट को ऐक्सेस करने और उसमें बदलाव करने के लिए इस्तेमाल होने वाले SnapshotManager ऑब्जेक्ट को एक कॉन्स्ट रेफ़रंस देता है.

StartAuthorizationUI

void StartAuthorizationUI()

प्लैटफ़ॉर्म के हिसाब से, उपयोगकर्ता की पुष्टि करने का फ़्लो दिखाता है.

आंकड़े

StatsManager & Stats()

गेम और खिलाड़ी के आंकड़े ऐक्सेस करने के लिए इस्तेमाल किए जाने वाले StatsManager ऑब्जेक्ट का रेफ़रंस देता है.

आंकड़े

const StatsManager & Stats() const 

गेम और खिलाड़ी के आंकड़े ऐक्सेस करने के लिए इस्तेमाल किए जाने वाले StatsManager ऑब्जेक्ट का कॉन्स्ट रेफ़रंस देता है.

TurnBasedMultiplayer

TurnBasedMultiplayerManager & TurnBasedMultiplayer()

इस नीति से, TurnBasedMultiplayerManager ऑब्जेक्ट का रेफ़रंस मिलता है. इससे, टीबीएमपी से जुड़े तरीकों को ऐक्सेस किया जा सकता है.

TurnBasedMultiplayer

const TurnBasedMultiplayerManager & TurnBasedMultiplayer() const 

इससे TurnBasedMultiplayerManager ऑब्जेक्ट का कॉन्स्ट रेफ़रंस उपलब्ध होता है. इससे, टीबीएमपी से जुड़े तरीकों को ऐक्सेस किया जा सकता है.

वीडियो

VideoManager & Video()

VideoManager ऑब्जेक्ट का रेफ़रंस देता है. इससे, वीडियो से जुड़े तरीकों को ऐक्सेस किया जा सकता है.

वीडियो

const VideoManager & Video() const 

VideoManager ऑब्जेक्ट को एक कॉन्स्ट रेफ़रंस देता है, जिससे वीडियो से जुड़े तरीकों को ऐक्सेस किया जा सकता है.

~GameServices

 ~GameServices()