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

चेतावनी: Google Play इंस्टैंट अब उपलब्ध नहीं होगा. दिसंबर 2025 से, इंस्टैंट ऐप्लिकेशन को Google Play से पब्लिश नहीं किया जा सकेगा और Google Play services के इंस्टैंट एपीआई काम नहीं करेंगे. उपयोगकर्ताओं को अब Play के ज़रिए, किसी भी तरीके से इंस्टैंट ऐप्लिकेशन नहीं दिखाए जाएंगे.

हम यह बदलाव, डेवलपर से मिले सुझाव के आधार पर कर रहे हैं. साथ ही, Google Play इंस्टैंट के लॉन्च होने के बाद से, हम इसके इकोसिस्टम को बेहतर बनाने के लिए लगातार निवेश कर रहे हैं.

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

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

तैयारी

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

हमेशा उपलब्ध

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

लॉन्च के समय उपलब्ध

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

बाद में उपलब्ध

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

इंजन की सुविधा

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

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

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

अगर आपने अपने ऐप्लिकेशन को ऐप्लिकेशन बंडल के तौर पर पब्लिश किया है (यह तरीका बेहतर है), तो बेस APK के अलावा अन्य संसाधन पाने के लिए, आप इस्तेमाल कर सकते हैं फ़ीचर मॉड्यूल का. आपके इंस्टैंट ऐप्लिकेशन के लिए, हर फ़ीचर मॉड्यूल को मेनिफ़ेस्ट में dist:instant="true" सेट करना होगा. dist:on-demand प्रॉपर्टी का इस्तेमाल नहीं किया जाना चाहिए. इसका इस्तेमाल मुख्य रूप से, इंस्टॉल किए गए APK में ऑन-डिमांड मॉड्यूल के लिए किया जाता है. इसके अलावा, हर फ़ीचर मॉड्यूल, इंस्टैंट 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 होस्टिंग या Firebase Cloud Storage API का इस्तेमाल किया जा सकता है. कुछ इंजन, एचटीटीपीएस फ़ाइल फ़ेच करने की आसान सुविधा देते हैं. हो सकता है कि यह आपकी ज़रूरतों के लिए काफ़ी हो.

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

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