क्लाउड सेव

खिलाड़ी कई डिवाइसों पर गेम खेलते हैं और एक ही डिवाइस पर गेम को कई बार इंस्टॉल करते हैं. इस वजह से, उन्हें हमेशा अपने गेम को पिछली प्रोग्रेस की स्थिति से शुरू करना पड़ता है. इसके लिए, आपको अपने गेम में क्लाउड सेव की सुविधा लागू करनी होगी.

Google Play Games Level Up के उपयोगकर्ता अनुभव से जुड़े दिशा-निर्देशों का पालन करने के लिए, आपके गेम में क्लाउड सेव की सुविधा लागू होनी चाहिए. इसके दो हिस्से होते हैं:

  1. क्लाउड सेव

    खिलाड़ी के गेम की स्थिति को क्लाउड में सेव करें. जब वे गेम खेलना शुरू करें, तब इसे वापस पाएं. Play की गेम सेवाओं की सेव किए गए गेम सुविधा, इसके लिए एक सेवा उपलब्ध कराती है. हालांकि, अपनी पसंद के हिसाब से क्लाउड पर सेव करने की सुविधा का इस्तेमाल किया जा सकता है.

  2. एक साथ कई गेम खेलने की सुविधा के लिए, विवाद का समाधान

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

    • हर उपयोगकर्ता के लिए कई खाते: उन इंस्टेंस को मैनेज करें जहां कोई उपयोगकर्ता अलग-अलग खातों का इस्तेमाल करके ऐप्लिकेशन से इंटरैक्ट करता है.
    • स्टेट में टकराव: गेम की लोकल स्टेट और क्लाउड में सेव की गई गेम की स्टेट के बीच होने वाले अंतर को ठीक करें.

मेहमान खाता

जब मेहमान खाते से कोई खिलाड़ी साइन इन करता है और क्लाउड में सेव की गई मौजूदा प्रोग्रेस के साथ PlayerID से लिंक करता है, तो आपका गेम गलती से पुराने डेटा को बदल सकता है. अगर किसी खिलाड़ी के पास स्थानीय गेस्ट खाता है और उसने गेम में काफ़ी प्रोग्रेस की है, तो आपके गेम को किसी भी डेटा को अपने-आप नहीं बदलना चाहिए. ऐसा तब होता है, जब Play की गेम सेवाओं से लिंक किए गए, गेम में इस्तेमाल किए गए आखिरी खाते (आईजीए) का क्लाउड बैकअप मौजूद हो. गेम में, खिलाड़ी को सबसे अच्छा अनुभव मिलना चाहिए. इसलिए, हमारा सुझाव है कि गेम, खिलाड़ी के लिए यह विकल्प चुनने से पहले उसे इसकी जानकारी दे. इसके अलावा, गेम में खिलाड़ी से साफ़ तौर पर यह पूछा जाना चाहिए कि वह इनमें से कौनसे विकल्प को चुनना चाहता है.

इसे ध्यान में रखते हुए, आपके पास दो विकल्प हैं:

  • पहला विकल्प: मौजूदा फ़्लो को बनाए रखें. इसमें क्लाउड या लोकल प्रोग्रेस को वापस लाया जाता है. एक चेतावनी वाला मैसेज दिखता है. इससे पता चलता है कि किसी मौजूदा खाते का पता चला है और उसकी प्रोग्रेस का इस्तेमाल किया जाएगा.
  • दूसरा विकल्प (सुझाया गया): खिलाड़ी को एक मैसेज दिखाएं. इसमें बताया गया हो कि प्रोग्रेस वाला कोई मौजूदा खाता मिला है. गेस्ट खाते को लिंक करने से, क्लाउड में सेव की गई प्रोग्रेस की जगह गेस्ट खाते की मौजूदा प्रोग्रेस सेव हो जाएगी. यह मैसेज, स्थानीय और क्लाउड, दोनों में सेव की गई प्रोग्रेस के लिए दिखाया जाता है, ताकि खिलाड़ी सोच-समझकर फ़ैसला ले सके.
क्लाउड सेव और मेहमान खाते की प्रोग्रेस के बीच टकराव को हल करने का फ़्लो
क्लाउड सेव और मेहमान खाते की प्रोग्रेस के बीच टकराव को हल करने का फ़्लो.

सेव किए गए गेम

'सेव किए गए गेम' सेवा की मदद से, खिलाड़ियों की गेम प्रोग्रेस को Google के सर्वर पर आसानी से सेव किया जा सकता है. आपका गेम, सेव किए गए गेम के डेटा को वापस पा सकता है. इससे, गेम में वापस आने वाले खिलाड़ी किसी भी डिवाइस पर, गेम को उस जगह से जारी रख सकते हैं जहां उन्होंने पिछली बार सेव किया था.

इस सेवा से, खिलाड़ियों और डेवलपर, दोनों को कई अहम फ़ायदे मिलते हैं:

  • गेम के डेटा को कई डिवाइसों पर सिंक करें. उदाहरण के लिए, कोई खिलाड़ी Android फ़ोन पर गेम खेलना शुरू कर सकता है. इसके बाद, वह बिना किसी रुकावट के टैबलेट पर गेम खेलना जारी रख सकता है. ऐसा करने पर, गेम में उसकी प्रोग्रेस नहीं मिटेगी.
  • डेटा को सुरक्षित रखें. अगर किसी खिलाड़ी का डिवाइस खो जाता है, खराब हो जाता है या उसे नए मॉडल के लिए ट्रेड-इन कर दिया जाता है, तो भी वह अपना गेम जारी रख सकता है.

अपने प्लैटफ़ॉर्म के लिए, सेव किए गए गेम की सुविधा लागू करने का तरीका जानने के लिए, क्लाइंट के लिए लागू करने से जुड़ी जानकारी देखें.

सेव किए गए गेम की बुनियादी जानकारी

सेव किए गए गेम में दो चीज़ें शामिल होती हैं:

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

कोई गेम, एक सिंगल प्लेयर के लिए जितनी चाहे उतनी सेव किए गए गेम फ़ाइलें बना सकता है. हालांकि, फ़ाइल के साइज़ से जुड़ी पाबंदियां लागू होती हैं. इसलिए, खिलाड़ियों को सिर्फ़ एक सेव की गई फ़ाइल का इस्तेमाल करने के लिए मजबूर करने की कोई ज़रूरत नहीं है.

विवाद का हल

सेव किए गए गेम की सेवा का इस्तेमाल करते समय, डेटा सेव करने की कोशिश करने पर आपके गेम में समस्याएं आ सकती हैं. ये समस्याएं तब हो सकती हैं, जब कोई उपयोगकर्ता अलग-अलग डिवाइसों या कंप्यूटरों पर आपके ऐप्लिकेशन के एक से ज़्यादा इंस्टेंस चला रहा हो. आपके ऐप्लिकेशन में इन टकरावों को इस तरह से हल करने की सुविधा होनी चाहिए कि उपयोगकर्ताओं को बेहतर अनुभव मिल सके.

आम तौर पर, डेटा से जुड़े टकराव तब होते हैं, जब आपका ऐप्लिकेशन डेटा लोड करने या सेव करने की कोशिश करते समय, Saved Games सेवा से कनेक्ट नहीं हो पाता. आम तौर पर, डेटा से जुड़े टकराव से बचने का सबसे अच्छा तरीका यह है कि जब आपका ऐप्लिकेशन शुरू हो या फिर से शुरू हो, तो हमेशा सेवा से नया डेटा लोड करें. साथ ही, डेटा को सेवा में नियमित तौर पर सेव करें. हालांकि, डेटा से जुड़े टकराव से हमेशा बचा नहीं जा सकता. आपके ऐप्लिकेशन को टकरावों को इस तरह से मैनेज करने की पूरी कोशिश करनी चाहिए कि आपके उपयोगकर्ताओं का डेटा सुरक्षित रहे और उन्हें अच्छा अनुभव मिले.

कवर इमेज

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

जानकारी

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

आकार सीमा

Google Cloud में सेव किए गए गेम के डेटा के लिए, आपसे कोई शुल्क नहीं लिया जाता. हालाँकि, सेव किए गए हर गेम की फ़ाइल का साइज़ 3 एमबी से ज़्यादा नहीं होना चाहिए.

ऑफ़लाइन सहायता

जब खिलाड़ी का डिवाइस ऑफ़लाइन होता है, तब भी आपका गेम सेव किए गए गेम को पढ़ सकता है और उसमें बदलाव कर सकता है. हालांकि, जब तक नेटवर्क कनेक्टिविटी नहीं होती, तब तक यह Google Play Games Services के साथ सिंक नहीं हो पाएगा. फिर से कनेक्ट होने के बाद, Google Play Games Services, Google के सर्वर पर सेव किए गए गेम के डेटा को एसिंक्रोनस तरीके से अपडेट करता है.

सीमाएं

Google Play की गेम सेवाएं, बाइनरी डेटा और कवर इमेज के साइज़ पर सीमाएं लागू करती हैं. इनके साइज़ क्रमशः 3 एमबी और 800 केबी से ज़्यादा नहीं होने चाहिए.

सेव किए गए गेम का मेटाडेटा

सेव किए गए गेम के स्ट्रक्चर्ड मेटाडेटा में ये प्रॉपर्टी शामिल होती हैं:

प्रॉपर्टी ब्यौरा
ID यह एक यूनीक स्ट्रिंग है. इसे Google Play की गेम सेवाओं ने इस सेव किए गए गेम के लिए जनरेट किया है. इस आईडी का इस्तेमाल करके, अपने गेम क्लाइंट में सेव किए गए गेम को रेफ़र किया जा सकता है.
नाम सेव किए गए गेम के लिए, डेवलपर की ओर से दिया गया छोटा नाम. उदाहरण के लिए, "सेव स्लॉट 1" या "PlayerName_Save1". यह खिलाड़ियों को नहीं दिखता.
ब्यौरा डेवलपर की दी गई, सेव किए गए गेम की जानकारी.
पिछली बार किए गए बदलाव के हिसाब से यह टाइमस्टैंप, Google Play Games Services ने जनरेट किया है. यह मिलीसेकंड में होता है. इससे पता चलता है कि सेव किए गए गेम को आखिरी बार कब अपडेट किया गया था.
वीडियो देखने का समय

डेवलपर की ओर से दिया गया समय (मिलीसेकंड में), जिसे सेव किए गए गेम पर दिखाया जाता है. इस वैल्यू से पता चलना चाहिए कि खिलाड़ी ने सेव किए गए गेम को कितने समय तक खेला है.

उदाहरण के लिए, अगर गेम खेलने का समय 36,00,000 मिलीसेकंड है, तो Google Play की गेम सेवाएं इसे "1 घंटा" के तौर पर दिखाएंगी.

कवर इमेज यह डेवलपर की ओर से दी गई एक प्रॉपर्टी है. इसे देना ज़रूरी नहीं है. इसमें कवर इमेज के बारे में जानकारी होती है.

क्लाइंट के लिए लागू करने की प्रोसेस

अपने प्लैटफ़ॉर्म के लिए सेव किए गए गेम को लागू करने का तरीका जानने के लिए, यहां दिए गए रिसॉर्स देखें: