किसी मौजूदा गेम को इंस्टैंट गेम में बदलें

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

आप Google Play इंस्टैंट के लिए गेम डेवलप कर सकते हैं. यूनिटी (Google Play Instant Unity के साथ या इसके बिना) प्लगिन), Cocos2D, Android Studio या आपका कस्टम इंजन.

इस गाइड में यह माना गया है कि आपको पहले से ही यह पता है कि गेम खेलने का आपका अनुभव कैसा रहा करना है. अगर आपको वीडियो बनाने के आइडिया और सबसे सही तरीकों के बारे में जानना है, अच्छी क्वालिटी वाले गेम, गेम खेलने के लिए, UX से जुड़े सबसे सही तरीकों के बारे में पढ़ें Google Play इंस्टैंट.

इसके अलावा, कोई ऐसा गेम पब्लिश करने से पहले जो Google Play Instant, आपको नीचे बताई गई तकनीकी शर्तों को पढ़ें चेकलिस्ट देखें.

वह गतिविधि जिसमें यह इंटेंट फ़िल्टर शामिल होता है, एंट्री पॉइंट बन जाता है Google Play इंस्टैंट इस्तेमाल करने के लिए:

<activity android:name=".GameActivity">
   <intent-filter>
      <action android:name="android.intent.action.MAIN" />
      <category android:name="android.intent.category.LAUNCHER" />
   </intent-filter>
</activity>

यह गतिविधि तब लॉन्च होती है, जब कोई उपयोगकर्ता Play में अभी आज़माएं बटन पर टैप करता है स्टोर या झटपट खेलें बटन पर क्लिक करें. इस गतिविधि को सीधे तौर पर लॉन्च करने के लिए, डीप लिंक एपीआई.

सही वर्शन कोड तय करें

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

यह पक्का करने के लिए कि आपने वर्शन के लिए सुझाई गई स्कीम को फ़ॉलो किया है, इनमें से किसी एक तरीके को अपनाएं ये रणनीतियां:

  • 'Google Play इंस्टैंट' के वर्शन कोड को 1 पर रीस्टार्ट करें.
  • इंस्टॉल किए जा सकने वाले ऐप्लिकेशन के वर्शन कोड को बहुत ज़्यादा बढ़ाएं, जैसे कि 1, 000 होना चाहिए. इससे यह पक्का किया जा सकेगा कि झटपट इस्तेमाल की सुविधा देने वाले आपके ऐप्लिकेशन के वर्शन के लिए ज़रूरत के मुताबिक जगह है संख्या बढ़ाई जा सकती है.

अपने इंस्टैंट गेम और इंस्टॉल किए जा सकने वाले गेम को, दो अलग-अलग Android Studio प्रोजेक्ट. अगर आपको ऐसा करना है, तो आपको ये काम करने होंगे अपने गेम को Google Play पर प्रकाशित करें:

  1. Android Studio के दोनों प्रोजेक्ट में पैकेज के एक ही नाम का इस्तेमाल करें.
  2. Google Play Console में, दोनों वैरिएंट को एक ही ऐप्लिकेशन पर अपलोड करें.

अपने गेम के वर्शन को सेट करने के बारे में ज़्यादा जानकारी के लिए, वर्शन अपने ऐप्लिकेशन है.

एक्ज़ीक्यूशन एनवायरमेंट का इस्तेमाल करें

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

क्लीयरटेक्स्ट ट्रैफ़िक से ऑप्ट आउट करें

'Google Play इंस्टैंट' पर मौजूद गेम में, एचटीटीपी ट्रैफ़िक काम नहीं करता है. अगर आपका गेम अगर Android 9 (एपीआई लेवल 28) या उसके बाद के वर्शन को टारगेट करता है, तो Android, cleartext की सुविधा को बंद कर देता है डिफ़ॉल्ट रूप से.

अगर आपका गेम Android 8.1 (एपीआई लेवल 27) या इससे पहले के वर्शन को टारगेट करता है, तो आपको नेटवर्क सुरक्षा कॉन्फ़िगरेशन फ़ाइल बनाएं. इस फ़ाइल में, cleartextTrafficPermitted को false पर सेट करें, जैसा कि कोड स्निपेट पर जाएं:

res/xml/network_security_config.xml

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="false">
        <domain includeSubdomains="true">secure.example.com</domain>
    </domain-config>
</network-security-config>

टारगेट सैंडबॉक्स वर्शन को अपडेट करें

अपने इंस्टैंट गेम की AndroidManifest.xml फ़ाइल अपडेट करें, ताकि यह सैंडबॉक्स एनवायरमेंट, जो Google Play Instant के साथ काम करता है. पूरा किया जा सकता है यह अपडेट करने के लिए android:targetSandboxVersion एट्रिब्यूट को अपने गेम के <manifest> एलिमेंट, जैसा कि इस कोड स्निपेट में दिखाया गया है:

<manifest
   xmlns:android="http://schemas.android.com/apk/res/android"
  ...
   android:targetSandboxVersion="2" ...>

ज़्यादा जानकारी के लिए, यहां दिया गया दस्तावेज़ देखें: targetSandboxVersion एट्रिब्यूट की वैल्यू सबमिट करें.

कैश मेमोरी या ऐप्लिकेशन के डेटा की मौजूदगी पर भरोसा न करें

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

  • इस डिवाइस पर इंस्टैंट इस्तेमाल की सुविधा से जुड़ी कैश मेमोरी की सुविधा इकट्ठा की जाती है, क्योंकि में कम मेमोरी बची है.
  • उपयोगकर्ता अपने डिवाइस को रीस्टार्ट करता है.

इनमें से कोई भी प्रोसेस होने पर, उपयोगकर्ता को झटपट इस्तेमाल की सुविधा देने वाले आपके ऐप्लिकेशन को फिर से डाउनलोड करना होगा ताकि आप उससे इंटरैक्ट कर सकें.

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

अपने ऐप्लिकेशन का आकार कम करना

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

टूल

टूल की नीचे दी गई सूची से आपको यह पता लगाने में मदद मिल सकती है कि आपके विज्ञापन अपने गेम का साइज़:

  • APK ऐनालाइज़र: यह कंपाइल किए गए APK का कॉन्टेंट. इस व्यू का इस्तेमाल करके, यह तय किया जा सकता है कि बाइट देता है कि हर एलिमेंट कुल साइज़ में योगदान दे रहा है. इस टूल का इस्तेमाल इन कामों के लिए करें इसकी मदद से उन रिसॉर्स, ऐसेट, लॉजिक, और नेटिव लाइब्रेरी का साइज़ तुरंत देखा जा सकता है जो आपके गेम का इस्तेमाल किया जा रहा है.
  • ब्लोटी मैकब्लोटफ़ेस: बाइनरी फ़ाइलों की साइज़ प्रोफ़ाइल.
  • Android जीपीयू इंस्पेक्टर: फ़ाइल के साइज़ का इफ़ेक्ट देखें आपके गेम को फिर से कंपाइल किए बिना टेक्सचर साइज़ को कम कर सकता है.

तकनीकें

नीचे उन तकनीकों की सूची दी गई है जिनका इस्तेमाल करके, आपका गेम:

  • अपने गेम का कुछ लॉजिक निकालें और उसे एक या एक से ज़्यादा सुविधा में शामिल करें मॉड्यूल शामिल करता है, जिसमें ये शामिल नहीं होते गिनती का आकार, साइज़ की सीमा में आता है.
  • अपने गेम के टेक्सचर का रिज़ॉल्यूशन कम करें.
  • इसके लिए, WebP फ़ॉर्मैट की ज़रूरत होती है, खास तौर पर तब, जब जीपीयू पर बिना कंप्रेस किए गए टेक्सचर का इस्तेमाल किया जा रहा हो. WebP फ़ॉर्मैट ऐसी इमेज बनाता है जिनकी क्वालिटी JPEG इमेज जैसी होती है, लेकिन उसकी क्वालिटी 15% 30% कम. हालांकि, WebP इमेज को डीकंप्रेस करने में ज़्यादा समय लगता है, लेकिन डीकंप्रेशन का समय अब भी आपके वीडियो के डाउनलोड समय से काफ़ी कम है टेक्सचर तय करें. Google ने इस फ़ॉर्मैट को ओपन सोर्स गेम में भी इंटिग्रेट कर दिया है इंजन.
  • आवाज़ और संगीत को कंप्रेस करें या उनका फिर से इस्तेमाल करें.
  • अपनी बाइनरी फ़ाइल को छोटा करने के लिए, अलग-अलग कंपाइलेशन फ़्लैग का इस्तेमाल करें:
    • -fvisibility=hidden – सबसे ज़रूरी. cmake में, यह बताया जा सकता है कि इस तरह कार्रवाई करता है:
      $ set_target_properties(your-target PROPERTIES CXX_VISIBILITY_PRESET hidden)
      
    • -Oz – साइज़ कम करने के लिए भी ज़रूरी है. अगर gcc का इस्तेमाल करके कंपाइल किया जाता है, तो अगर आपके पास इन फ़ॉर्मैट की फ़ाइल नहीं है, तो -Os बटन का इस्तेमाल करें.
    • -flto – कभी-कभी इसमें फ़ाइल का साइज़ कम हो जाता है.
    • लिंकर फ़्लैग – कंपाइलर फ़्लैग के साथ --gc-sections का इस्तेमाल करें, जैसे -ffunction-sections और -fdata-sections के तौर पर.
  • अपने कोड और संसाधनों को छोटा करने के लिए, ProGuard का इस्तेमाल करें.
  • छोटी DEX फ़ाइलें जनरेट करने के लिए, Gradle 4.4 या उसके बाद के वर्शन का इस्तेमाल करें.
  • ऐसेट की क्लाउड डिलीवरी लागू करें.

बड़े गेम को एक से ज़्यादा APKs में बांटना

'Google Play इंस्टैंट' सुविधा को इन कामों के लिए ऑप्टिमाइज़ करना मुश्किल हो सकता है: अपने गेम को 15 एमबी के एक APK में फ़िट करने के लिए, APK का साइज़ कम करने के सुझाव. पते तक इस चुनौती को पूरा नहीं किया है, तो आप अपने गेम को कई APK में विभाजित कर सकते हैं. खिलाड़ी इतने समय से शुरू करते हैं: मुख्य APK डाउनलोड करना; जैसे-जैसे गेम खेलते हैं, वैसे-वैसे स्प्लिट स्क्रीन की मदद से, APKs, गेम को बैकग्राउंड में उपलब्ध कराने के लिए किए जाते हैं.

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

UX के सबसे सही तरीकों का इस्तेमाल करना

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

64-बिट आर्किटेक्चर के साथ काम करता है

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

यह देखना कि गेम में झटपट इस्तेमाल की सुविधा देने वाला ऐप्लिकेशन चल रहा है या नहीं

अगर आपके गेम का कुछ लॉजिक इस बात पर निर्भर करता है कि उपयोगकर्ता आपकी झटपट इस्तेमाल की सुविधा देने वाला ऐप्लिकेशन है, तो isInstantApp() तरीका. यह तरीका true दिखाता है, अगर इस समय चल रही प्रोसेस झटपट इस्तेमाल की सुविधा देता है.

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

इंस्टॉल करने का अनुरोध दिखाएं

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

प्लेयर को इंस्टॉल करने का निर्देश कैसे और कब देना चाहिए, इस बारे में ज़्यादा जानने के लिए, YouTube पर गेम खेलने के लिए, UX से जुड़े सबसे सही तरीके देखें Google Play इंस्टैंट.

इंस्टॉल किए गए किसी वर्शन में डेटा ट्रांसफ़र करें

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

अगर आपके गेम में targetSandboxVersion तय किया गया है, तो 2 में से, खिलाड़ी की प्रोग्रेस ट्रांसफ़र हो जाएगी. आपके गेम के फ़ुल वर्शन पर अपने-आप पहुंच जाएगा. अगर ऐसा नहीं है, तो आपको खिलाड़ी की प्रोग्रेस से जुड़ा मैन्युअल तौर पर डेटा. ऐसा करने के लिए, Cookie API का इस्तेमाल करें - ऐप्लिकेशन का सैंपल

अन्य संसाधन

इन अतिरिक्त संसाधनों से, 'Google Play इंस्टैंट' के बारे में ज़्यादा जानें:

कोडलैब: अपना पहला इंस्टैंट ऐप्लिकेशन बनाएं
किसी मौजूदा ऐप्लिकेशन में 'Google Play इंस्टैंट' के लिए सहायता जोड़ें.
कोडलैब: कई सुविधाओं वाला इंस्टैंट ऐप्लिकेशन बनाएं
कई सुविधाओं वाले किसी ऐप्लिकेशन को मॉड्यूलराइज़ करना.