चेतावनी: Google Play इंस्टैंट अब उपलब्ध नहीं होगा. दिसंबर 2025 से, इंस्टैंट ऐप्लिकेशन को Google Play से पब्लिश नहीं किया जा सकेगा और Google Play services के इंस्टैंट एपीआई काम नहीं करेंगे. उपयोगकर्ताओं को अब Play के ज़रिए, किसी भी तरीके से इंस्टैंट ऐप्लिकेशन नहीं दिखाए जाएंगे.
हम यह बदलाव, डेवलपर से मिले सुझावों के आधार पर कर रहे हैं. साथ ही, Google Play Instant के लॉन्च होने के बाद से, हम लगातार इस नेटवर्क को बेहतर बनाने के लिए निवेश कर रहे हैं.
उपयोगकर्ताओं की संख्या बढ़ाने के लिए, हम डेवलपर को अपने रेगुलर ऐप्लिकेशन या गेम पर उपयोगकर्ताओं को भेजने का सुझाव देते हैं. इसके लिए, डीपलिंक का इस्तेमाल करके, उपयोगकर्ताओं को ज़रूरत के हिसाब से किसी खास प्रोसेस या सुविधा पर रीडायरेक्ट करें.
ऐप्लिकेशन के साइज़ को ज़रूरी शर्तों के मुताबिक कम करने के लिए, सबसे पहले APK के साइज़ को ऑप्टिमाइज़ करने की स्टैंडर्ड तकनीकों का इस्तेमाल करें. अगर आपको साइज़ को और कम करना है, तो आपको ऐसेट को क्लाउड पर डिलीवर करने की सुविधा का इस्तेमाल करना पड़ सकता है. इस दस्तावेज़ में, क्लाउड डिलीवरी के लिए ऐसेट तैयार करने का तरीका बताया गया है. साथ ही, अलग-अलग गेम इंजन से मिलने वाले सहायता विकल्पों के बारे में भी बताया गया है. इस पेज पर दिए गए दिशा-निर्देश, मुख्य रूप से गेम के लिए हैं. हालांकि, ये सिद्धांत ऐसे सभी ऐप्लिकेशन पर लागू होते हैं जिनमें बड़ी ऐसेट शामिल होती हैं.
वीडियो की रणनीति
ऐसेट को क्लाउड पर डिलीवर करने के लिए, अपने ऐप्लिकेशन को अलग-अलग हिस्सों में बांटते समय, इस बात पर ध्यान दें कि ऐप्लिकेशन की फ़ाइलों को कब उपयोगकर्ता के लिए उपलब्ध होना चाहिए. इसके आधार पर, उन्हें अलग-अलग सेक्शन में कैसे बांटा जा सकता है. इस समय को इन तीन कैटगरी में बांटा गया है: हमेशा ज़रूरी, लॉन्च के समय ज़रूरी, और बाद में ज़रूरी.
हमेशा ज़रूरी है
कुछ ऐसेट को छोटे ब्लॉक में अलग करना मुश्किल होता है या उन्हें बेस APK में बंडल करना ज़रूरी होता है. उदाहरण के लिए, आपके गेम का कोड और उसकी लाइब्रेरी या इंजन डिपेंडेंसी. Google Play Core, कोड के लिए ऐप्लिकेशन बंडलों के साथ काम करता है. हालांकि, कई इंजन बाद में डाउनलोड किए गए कोड के साथ काम नहीं करते.
लॉन्च के समय ज़रूरी है
गेम शुरू होने के बाद, उपयोगकर्ता को तुरंत खेलने का विकल्प मिलना चाहिए. Google Play Instant के लिए ज़रूरी है कि उपयोगकर्ता, एलटीई या 4G कनेक्शन पर 15 सेकंड से कम समय में आपका गेम खेलना शुरू कर सकें. इसके लिए, 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 Instant Plugin में काम करती है. Unity के नए वर्शन में, इंजन स्ट्रिपिंग के ज़्यादा फ़ायदे मिलते हैं. इसलिए, ज़्यादा जगह खाली करने के लिए, इन वर्शन पर माइग्रेट करना फ़ायदेमंद हो सकता है. Unity की क्लाउड ऐसेट, AssetBundle फ़ाइलों में होस्ट की जाती हैं. ये फ़ाइलें Unity आपके लिए बनाता है. इन्हें क्लाउड सर्वर पर अपलोड करने से, ऐसेट को क्लाउड पर डिलीवर किया जा सकता है. ऐसा इसलिए, क्योंकि Unity में ऐसेट बंडल डाउनलोड करने की सुविधा पहले से मौजूद होती है.
अन्य इंजन
कस्टम इंजन या नेटिव लाइब्रेरी के कलेक्शन का इस्तेमाल करने पर, हो सकता है कि आपके पास ऐसेट को क्लाउड से डाउनलोड करने की सुविधा पहले से उपलब्ध हो. अगर आपके पास इतनी ऐसेट हैं कि आपको उन्हें क्लाउड से डाउनलोड करना है, तो आपको अपने गेम के लिए, ऐसेट को ज़रूरत के हिसाब से डाउनलोड करने का तरीका कोड करना होगा या उसे इंटिग्रेट करना होगा. Firebase Hosting या Firebase Cloud Storage API का इस्तेमाल करके शुरू करना अच्छा विकल्प है. कुछ इंजन, एचटीटीपीएस फ़ाइल फ़ेच करने की आसान सुविधा देते हैं. यह सुविधा आपकी ज़रूरतों के हिसाब से भी सही हो सकती है.
ऐसेट होस्ट करना
अगर Play के ज़रिए अपनी ऐसेट डाउनलोड करने के लिए, Google Play ऐप्लिकेशन बंडल का इस्तेमाल नहीं किया जा रहा है, तो आपको अपनी ऐसेट को किसी दूसरी जगह पर होस्ट करना होगा. आपके पास उन्हें किसी भी सेवा के साथ होस्ट करने का विकल्प होता है. हालांकि, यह ज़रूरी है कि वह सेवा दुनिया भर में उपलब्ध हो और उसका इस्तेमाल किया जा सकता हो. Google Play Games ऐप्लिकेशन का इस्तेमाल दुनिया भर के लोग करते हैं. इसलिए, क्लाउड पर होस्ट की गई ऐसेट को किसी भी जगह पर मौजूद लोगों को तुरंत उपलब्ध कराना ज़रूरी है.