Recall API की मदद से, Google Play की गेम सेवाओं के उपयोगकर्ताओं को उनके इन-गेम खातों से आसानी से लिंक किया जा सकता है. इससे, प्रोग्रेस को अपने-आप वापस लाया जा सकता है. गेम सर्वर में रीकॉल टोकन सेव किए जाते हैं. इन टोकन को, उपयोगकर्ता की Google Play की गेम सेवाओं की प्रोफ़ाइल से जोड़ा जाता है. Recall API का इस्तेमाल करना ज़रूरी नहीं है. हालांकि, अगर आपके पास अपनी मज़बूत आइडेंटिटी बैकएंड नहीं है, तो हमारा सुझाव है कि आप इसका इस्तेमाल करें. इससे, प्रोग्रेस को आसानी से वापस लाया जा सकता है.
शब्दावली
इस दस्तावेज़ में, इन शब्दों का इस्तेमाल किया गया है:
रीकॉल टोकन: यह गेम सर्वर में सेव की गई एक सुरक्षित कुंजी होती है. यह कुंजी, खिलाड़ी के Play की गेम सेवाओं वाले खाते और उसके इन-गेम खाते के बीच लिंक का काम करती है.
सेशन आईडी: यह एक अस्थायी और यूनीक आइडेंटिफ़ायर होता है. इसे Play की गेम सेवाओं का SDK टूल, खिलाड़ी के डिवाइस पर जनरेट करता है. इससे पता चलता है कि आपके बैकएंड सर्वर से किया गया अनुरोध, खिलाड़ी के डिवाइस पर मौजूद किसी मान्य और चालू गेम सेशन से आया है.
उदाहरण के तौर पर दी गई स्थितियां
यहां कुछ उदाहरण दिए गए हैं. इनसे यह समझा जा सकता है कि Recall API का इस्तेमाल किन-किन कामों के लिए किया जा सकता है:
कोई उपयोगकर्ता ऐसा गेम खेल रहा है जिसमें डेवलपर के पास, उपयोगकर्ता की प्रोग्रेस को ट्रैक करने के लिए एक आइडेंटिटी सिस्टम है. साथ ही, उपयोगकर्ता को अपने गेम में लॉग इन करने के लिए, PGS के साथ-साथ पुष्टि करने के अन्य तरीकों का भी इस्तेमाल किया जाता है. इस उदाहरण में, कोई उपयोगकर्ता account Laura नाम के अपने PGS खाते में लॉग इन है. साथ ही, वह डेवलपर के identity सिस्टम से Racer94 नाम का एक इन-गेम खाता बनाता है. जब उपयोगकर्ता गेम खेलता है, तो डेवलपर का गेम सर्वर उसकी प्रोग्रेस को सिंक करता है.

इसके अलावा, डेवलपर Google के साथ एक रीकॉल टोकन सेव करता है. यह टोकन, उपयोगकर्ता के इन-गेम खाते से जुड़ा होता है. Google, उस रीकॉल टोकन को उपयोगकर्ता की PGS प्रोफ़ाइल के साथ अपने-आप सेव कर लेता है.

अब उपयोगकर्ता, पहली बार पीसी पर GPG में गेम खेलने का फ़ैसला करता है. उपयोगकर्ता की PGS प्रोफ़ाइल से उसकी पुष्टि अपने-आप हो जाती है. साथ ही, गेम क्लाइंट यह देखता है कि PGS के इस उपयोगकर्ता के लिए कोई प्रोग्रेस उपलब्ध है या नहीं. इसके बाद, गेम सर्वर Google से क्वेरी करता है, ताकि यह पता चल सके कि PGS के इस खाते के लिए कोई टोकन है या नहीं. अगर टोकन मौजूद है, तो Google, रीकॉल टोकन वापस भेजता है. इसके बाद, गेम सर्वर उस टोकन का इस्तेमाल करके, उपयोगकर्ता के Racer94 नाम के खाते को ढूंढता है और उसकी प्रोग्रेस को वापस लाता है. PGS से पुष्टि करने की प्रोसेस में कोई समस्या नहीं आती. इसलिए, ऐप्लिकेशन, उपयोगकर्ता की प्रोग्रेस को वापस लाता है. इसके लिए, उपयोगकर्ता को अपना उपयोगकर्ता नाम या पासवर्ड डालने की ज़रूरत नहीं पड़ती. इसके अलावा, डेवलपर अपने मौजूदा आइडेंटिटी सिस्टम के साथ PGS से पुष्टि करने की सुविधा का इस्तेमाल कर सकता है. साथ ही, खिलाड़ी की प्रोग्रेस और उसके PGS खाते के बीच लिंक को सेव करने के लिए, Google पर भरोसा किया जा सकता है.

जैसा कि ऊपर दिए गए उदाहरण में दिखाया गया है, Recall API की मदद से दो मुख्य कार्रवाइयां की जाती हैं:
जब कोई उपयोगकर्ता, इन-गेम किसी खाते से लॉग इन करता है, तो टोकन को Google के साथ सेव करना.
उपयोगकर्ता के इन-गेम खातों को वापस लाने के लिए, उसके टोकन को फिर से हासिल करना.
रीकॉल टोकन के अलावा, Recall API के लिए इन-गेम खाते से जुड़ा एक स्थायी आइडेंटिफ़ायर भी ज़रूरी होता है. इसे पर्सोना कहा जाता है. पर्सोना को, डेवलपर के आइडेंटिटी सिस्टम में उपयोगकर्ता के इन-गेम खाते के लेबल के तौर पर देखा जा सकता है. वहीं, रीकॉल टोकन को एक ऐसी कुंजी के तौर पर देखा जा सकता है जिसका इस्तेमाल, उपयोगकर्ता के इन-गेम खाते को गेम में वापस लाने के लिए किया जाता है. अलग-अलग PGS प्रोजेक्ट में, पर्सोना और टोकन की वैल्यू का फिर से इस्तेमाल नहीं किया जाना चाहिए. इसके अलावा, समय के साथ रीकॉल टोकन में बदलाव किया जा सकता है. हालांकि, उपयोगकर्ता के इन-गेम खाते के हिसाब से, पर्सोना में कोई बदलाव नहीं होना चाहिए.
रीकॉल टोकन सेव करने और उन्हें वापस पाने के लिए तकनीकी फ़्लो
इस सेक्शन में, रीकॉल टोकन सेव करने और उन्हें वापस पाने के दौरान, गेम क्लाइंट और सर्वर के साथ-साथ Google के सर्वर के बीच होने वाले तकनीकी फ़्लो के बारे में बताया गया है.
पहला चरण: PGS के उपयोगकर्ता की पुष्टि करना और सेशन आईडी वापस पाना
गेम, PGS SDK टूल को शुरू करता है और PGS की मदद से उपयोगकर्ता की पुष्टि करने की कोशिश करता है.

मान लें कि उपयोगकर्ता की पुष्टि हो गई है. इसके बाद, गेम क्लाइंट पर Games SDK टूल से सेशन आईडी का अनुरोध करें. साथ ही, Google के OAuth बैकएंड से OAuth 2.0 टोकन का अनुरोध करें. सेशन आईडी और OAuth 2.0 टोकन का इस्तेमाल, Google Games के बैकएंड से कम्यूनिकेट करने के लिए किया जाता है.

दूसरा चरण: उपलब्ध रीकॉल टोकन वापस पाना
PGS के उपयोगकर्ता के खाते से जुड़े किसी भी रीकॉल टोकन का अनुरोध करें. अगर कोई टोकन मौजूद है, तो तीसरे चरण के पहले हिस्से पर जाएं और प्रोग्रेस को वापस लाएं. अगर यह नया उपयोगकर्ता है और उसके पास कोई टोकन मौजूद नहीं है, तो तीसरे चरण के दूसरे हिस्से पर जाएं और नया टोकन सेव करें.

तीसरा चरण का पहला हिस्सा: अगर टोकन मौजूद है, तो प्रोग्रेस को वापस लाना
अगर कोई टोकन मौजूद है, तो उसे वापस पाएं और डिक्रिप्ट करें. इसके बाद, उपयोगकर्ता का डेटा वापस लाएं.

तीसरा चरण का दूसरा हिस्सा: अगर कोई टोकन मौजूद नहीं है, तो टोकन सेव करना
कोई टोकन मौजूद नहीं है, इसलिए प्रोग्रेस को वापस नहीं लाया जा सकता. उपयोगकर्ता, डेवलपर के आइडेंटिटी सिस्टम की मदद से प्लैटफ़ॉर्म पर पुष्टि करने की प्रोसेस पूरी करता है. अगर उसका कोई खाता नहीं है, तो वह नया खाता बनाता है. ध्यान दें - यह PGS में पुष्टि करने की प्रोसेस नहीं है. यह प्रोसेस पहले ही पूरी हो चुकी है. यह पुष्टि करने की प्रोसेस, PGS के बाहर मौजूद डेवलपर के आइडेंटिटी सिस्टम की मदद से की जाती है.

एन्क्रिप्ट किया गया एक रीकॉल टोकन बनाएं. इसमें उपयोगकर्ता के इन-गेम खाते की जानकारी होती है. इसके बाद, इसे सेशन आईडी और OAuth 2.0 टोकन के साथ Google को भेजें. इस समय, Google, भेजे गए रीकॉल टोकन और खिलाड़ी के PGS खाते के बीच एक लिंक बनाता है.

ऐसे उपयोगकर्ताओं के लिए फ़्लो जिनके पास PGS प्रोफ़ाइल नहीं है
प्रोफ़ाइललेस मोड का इस्तेमाल करके, ऐसे उपयोगकर्ता के लिए रीकॉल टोकन सेव किए जा सकते हैं जिसने अब तक PGS प्रोफ़ाइल नहीं बनाई है. हालांकि, यहां दो अहम बातें दी गई हैं:
- ऐसे उपयोगकर्ता के लिए टोकन वापस नहीं पाए जा सकते जिसके पास PGS प्रोफ़ाइल नहीं है. जब उपयोगकर्ता, दूसरे डिवाइस पर Play की गेम सेवाओं की मदद से आपके गेम में लॉग इन करने की कोशिश करता है, तो प्रोफ़ाइल बनाने का प्रॉम्प्ट अपने-आप दिखता है.
- आपको इन चीज़ों के बारे में बताने वाला नोटिस देना होगा. साथ ही, असली उपयोगकर्ता की सहमति लेनी होगी. इसके लिए, आपको अतिरिक्त दिशा-निर्देशों
का पालन करना होगा:
- Play Games खाते को लिंक करने की सुविधा चालू करने के लिए, Google के साथ डेटा शेयर करना.
- इस शेयरिंग को मैनेज करने के लिए सेटिंग उपलब्ध होना. जैसे, Play Games की सेटिंग.
- Google की निजता नीति के तहत, ऐसे डेटा को प्रोसेस करना.
टोकन और पर्सोना का पेयर सेव करना

- कोई ऐसा उपयोगकर्ता गेम खोलता है जिसके पास PGS प्रोफ़ाइल नहीं है. इस गेम में, प्रोफ़ाइललेस रीकॉल की सुविधा चालू है.
- Games SDK टूल, प्लैटफ़ॉर्म पर पुष्टि करने की प्रोसेस को अपने-आप ट्रिगर करता है. हालांकि, यह प्रोसेस पूरी नहीं हो पाती, क्योंकि उपयोगकर्ता के पास PGS प्रोफ़ाइल नहीं है.
- Games SDK टूल, एक स्नैकबार दिखाता है. इससे उपयोगकर्ता को पता चलता है कि गेम को Google के साथ इंटिग्रेट किया गया है. इस स्नैकबार पर कार्रवाई की जा सकती है. उपयोगकर्ता, प्रोफ़ाइल बनने तक रीकॉल की सुविधा बंद कर सकता है.
- गेम, रीकॉल ऐक्सेस का अनुरोध करता है. ध्यान दें कि PGS, रीकॉल ऐक्सेस के अनुरोधों को तब अस्वीकार करता है, जब डिवाइस पर PGS प्रोफ़ाइल मौजूद होती हैं या जब डिवाइस पर कोई Google खाता मौजूद नहीं होता है. ऐसे में, गेम को PGS का इस्तेमाल किए बिना आगे बढ़ना चाहिए.
- जब उपयोगकर्ता, इन-गेम किसी खाते से लॉग इन करता है, तो गेम, उपयोगकर्ता के लिए टोकन और पर्सोना का एक पेयर बनाता है. यह पेयर, उपयोगकर्ता के इन-गेम खाते से जुड़ा होता है. गेम, इस पेयर को Google के साथ सेव करता है. अगर उपयोगकर्ता, इन-गेम अन्य खातों में लॉग इन करता है, तो गेम बाद में और टोकन सेव कर सकता है.
किसी नए डिवाइस पर गेम लॉन्च करना
- कोई ऐसा उपयोगकर्ता गेम खोलता है जिसके पास PGS प्रोफ़ाइल नहीं है. इस गेम में, प्रोफ़ाइललेस रीकॉल की सुविधा चालू है.
- गेम, प्रोफ़ाइललेस रीकॉल टोकन रिकॉर्ड करता है. इसके बारे में, टोकन और पर्सोना का पेयर सेव करना लेख में बताया गया है.
- उपयोगकर्ता, उसी गेम को किसी दूसरे डिवाइस पर खोलता है. इस डिवाइस पर भी वही खाता सेट अप है.
- Games SDK टूल, प्रोफ़ाइल बनाने की प्रोसेस को ट्रिगर करता है. उपयोगकर्ता, पहले से सेव किए गए रीकॉल टोकन की समीक्षा कर सकता है और उन्हें अस्वीकार कर सकता है. उपयोगकर्ता, इस समय PGS प्रोफ़ाइल बनाता है.
- PGS में प्लैटफ़ॉर्म पर पुष्टि करने की प्रोसेस अपने-आप पूरी हो जाती है. साथ ही, गेम को पुष्टि की स्थिति की जानकारी मिल जाती है.
- गेम, उपयोगकर्ता के लिए रीकॉल टोकन को सामान्य तरीके से वापस पाता है.
अगले चरण
Recall API को अपने क्लाइंट और गेम सर्वर के साथ इंटिग्रेट करने के लिए, इस गाइडलाइन को फ़ॉलो करें.