ऐसेट की क्लाउड डिलीवरी लागू करना

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

वीडियो की रणनीति

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

हमेशा ज़रूरी है

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

लॉन्च के समय ज़रूरी है

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

बाद में ज़रूरी हो सकता है

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

इंजन से जुड़ी सहायता

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

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

Play Feature Delivery (ऐप्लिकेशन बंडल के ज़रिए)

अगर आपने अपना ऐप्लिकेशन ऐप्लिकेशन बंडल के तौर पर पब्लिश किया है (यह सबसे सही तरीका है), तो बेस APK के अलावा अन्य संसाधनों को फ़ेच करने के लिए, सुविधा मॉड्यूल का इस्तेमाल किया जा सकता है. आपके इंस्टैंट ऐप्लिकेशन के लिए, हर सुविधा वाले मॉड्यूल को मेनिफ़ेस्ट में dist:instant="true" सेट करना होगा. dist:on-demand प्रॉपर्टी का इस्तेमाल नहीं किया जाना चाहिए. इसका इस्तेमाल मुख्य रूप से, इंस्टॉल किए गए APK में ऑन-डिमांड मॉड्यूल के लिए किया जाता है. इसके अलावा, हर फ़ीचर मॉड्यूल का साइज़, 15 एमबी से कम होना चाहिए. भले ही, मॉड्यूल में कोड हो या नहीं. अगर हर मॉड्यूल को इस सीमा के अंदर नहीं रखा जाता है, तो उसे अल्फा या रिलीज़ ट्रैक पर पब्लिश नहीं किया जा सकेगा. सही तरीके से कॉन्फ़िगर करने के बाद, PlayCore लाइब्रेरी का इस्तेमाल करके रनटाइम के दौरान सुविधा वाले मॉड्यूल फ़ेच किए जा सकते हैं.

Cocos Creator

Cocos, v2.0.4 वर्शन से ऐसेट की क्लाउड डिलीवरी की सुविधा देता है. Cocos, मांग पर ऐसेट डाउनलोड करता है. अगर ऐसेट समय पर डाउनलोड नहीं होती हैं, तो प्लेसहोल्डर रेंडर करता है. Cocos ऐसेट फ़ाइलें जनरेट करता है, जिन्हें किसी ऑनलाइन सेवा के साथ होस्ट किया जाना चाहिए, क्योंकि Cocos खुद कोई सेवा उपलब्ध नहीं कराता.

Unity

क्लाउड डिलीवरी की सुविधा, Unity के 5.6, 2017.4 या 2018.2 वर्शन के लिए, Unity Google Play इंस्टैंट प्लगिन में काम करती है. Unity के नए वर्शन में, इंजन को छोटा करने के लिए ज़्यादा फ़ायदे मिलते हैं. इसलिए, ज़्यादा जगह खाली करने के लिए, इन वर्शन पर माइग्रेट करना फ़ायदेमंद हो सकता है. Unity की क्लाउड ऐसेट, AssetBundle फ़ाइलों में होस्ट की जाती हैं. ये फ़ाइलें Unity आपके लिए बनाती है. इन्हें क्लाउड सर्वर पर अपलोड करने से, ऐसेट की क्लाउड डिलीवरी की सुविधा चालू हो जाती है. ऐसा इसलिए, क्योंकि Unity में ऐसेट बंडल डाउनलोड करने की सुविधा पहले से मौजूद है.

अन्य इंजन

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

ऐसेट होस्ट करना

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