क्लाउड सेव

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

आपके गेम में क्लाउड सेव करने की सुविधा होनी चाहिए. इसके दो हिस्से होते हैं:

  1. क्लाउड सेव

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

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

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

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

सेव किए गए गेम

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

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

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

अपने प्लैटफ़ॉर्म के लिए, 'सेव किए गए गेम' सेवा को चालू करने का तरीका जानने के लिए, क्लाइंट के लिए उपलब्ध सुविधाएं लेख पढ़ें.

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

सेव किए गए गेम में दो हिस्से होते हैं:

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

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

कवर इमेज

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

ब्यौरे

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

कोटा

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

रीड राइट आइसोलेशन

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

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

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

विवाद का समाधान

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

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

सीमाएं

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

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

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

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

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

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

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

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

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