ऐसेट डिलीवरी (Unity) को इंटिग्रेट करना

ऐसेट डिलीवरी को इंटिग्रेट करते समय, Unity इंजन वाले गेम, Addressables या AssetBundles का इस्तेमाल करके ऐसेट पैक ऐक्सेस कर सकते हैं. Addressables, Unity 2019.4 या इसके बाद के वर्शन से बनाए गए गेम के लिए, ऐसेट डिलीवरी का नया और सुझाया गया समाधान है. वहीं, AssetBundles, Unity 2017.4 और 2018.4 में ऐसेट पैक के लिए सहायता उपलब्ध कराता है.

Unity Addressables

Unity 2019.4 या इसके बाद के वर्शन से बनाए गए गेम में, Android पर ऐसेट डिलीवरी के लिए Addressables का इस्तेमाल करना चाहिए. Unity, Addressables का इस्तेमाल करके Android ऐसेट पैक को मैनेज करने के लिए, Play ऐसेट डिलीवरी (पीएडी) एपीआई उपलब्ध कराता है. Addressables का इस्तेमाल करने के बारे में जानकारी के लिए, यहां जाएं:

AssetBundle फ़ाइलों का इस्तेमाल करना

Unity 2017.4 और 2018.4 की मदद से बनाए गए गेम, Android पर ऐसेट डिलीवरी के लिए AssetBundle फ़ाइलों का इस्तेमाल कर सकते हैं. Unity AssetBundle फ़ाइलों में, क्रम से लगाई गई ऐसेट होती हैं. ऐप्लिकेशन के चलने के दौरान, Unity इंजन इन्हें लोड कर सकता है. ये फ़ाइलें, प्लैटफ़ॉर्म के हिसाब से बनाई जाती हैं. उदाहरण के लिए, Android के लिए बनाई गई फ़ाइलें. इन्हें ऐसेट पैक के साथ इस्तेमाल किया जा सकता है. आम तौर पर, एक AssetBundle फ़ाइल को एक ऐसेट पैक में पैकेज किया जाता है. इस पैक का नाम, AssetBundle के नाम जैसा ही होता है. अगर आपको ऐसेट पैक बनाने के लिए ज़्यादा सुविधाएं चाहिए, तो एपीआई का इस्तेमाल करके ऐसेट पैक को कॉन्फ़िगर करें.

रनटाइम के दौरान, ऐसेट पैक में मौजूद AssetBundle को वापस पाने के लिए, Play ऐसेट डिलीवरी for Unity क्लास का इस्तेमाल करें.

ज़रूरी शर्तें

  1. अपना डेवलपमेंट एनवायरमेंट सेट अप करें:

OpenUPM-CLI

अगर आपके पास OpenUPM CLI इंस्टॉल है, तो इस कमांड का इस्तेमाल करके OpenUPM रजिस्ट्री इंस्टॉल की जा सकती है:

openupm add com.google.play.assetdelivery

OpenUPM

  1. पैकेज मैनेजर की सेटिंग खोलें. इसके लिए, Unity मेन्यू का विकल्प बदलाव करें > प्रोजेक्ट सेटिंग > पैकेज मैनेजर चुनें.

  2. पैकेज मैनेजर विंडो में, OpenUPM को ऐसी रजिस्ट्री के तौर पर जोड़ें जो उसके स्कोप में हो:

    Name: package.openupm.com
    URL: https://package.openupm.com
    Scopes: com.google.external-dependency-manager
      com.google.play.common
      com.google.play.core
      com.google.play.assetdelivery
      com.google.android.appbundle
    
  3. पैकेज मैनेजर मेन्यू खोलने के लिए, Unity मेन्यू का विकल्प Window > Package Manager चुनें.

  4. मैनेजर स्कोप ड्रॉप-डाउन को सेट करके, मेरी रजिस्ट्री चुनें.

  5. पैकेज की सूची से, Unity के लिए Google Play Integrity प्लगिन पैकेज चुनें और इंस्टॉल करें दबाएं.

GitHub से इंपोर्ट करें

  1. GitHub से .unitypackage का सबसे नया वर्शन डाउनलोड करें.

  2. .unitypackage फ़ाइल को इंपोर्ट करने के लिए, Unity मेन्यू का विकल्प चुनें ऐसेट > पैकेज इंपोर्ट करें > कस्टम पैकेज और सभी आइटम इंपोर्ट करें.

  1. Unity में AssetBundles बनाएं.

यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करके AssetBundles को कॉन्फ़िगर करना

  1. ऐसेट पैक में मौजूद हर AssetBundle को कॉन्फ़िगर करें:

    1. Google > Android ऐप्लिकेशन बंडल > ऐसेट डिलीवरी सेटिंग को चुनें.
    2. AssetBundle फ़ाइलों वाले फ़ोल्डर चुनने के लिए, फ़ोल्डर जोड़ें पर क्लिक करें.

    Unity में ऐसेट डिलीवरी की सेटिंग में मौजूद, फ़ोल्डर जोड़ने का बटन

  2. हर बंडल के लिए, डिलीवरी मोड को इंस्टॉल के समय, फ़ास्ट फ़ॉलो या मांग पर में बदलें. सभी गड़बड़ियां या डिपेंडेंसी ठीक करें और विंडो बंद करें.

    Unity में हर बंडल के लिए, Asset Delivery का डिलीवरी मोड चुनने वाला टूल

  3. ऐप्लिकेशन बंडल बनाने के लिए, Google > Android ऐप्लिकेशन बंडल बनाएं को चुनें.

  4. (ज़रूरी नहीं) अपने ऐप्लिकेशन बंडल को अलग-अलग टेक्सचर कंप्रेसन फ़ॉर्मैट के साथ काम करने के लिए कॉन्फ़िगर करें.

एपीआई का इस्तेमाल करके ऐसेट पैक कॉन्फ़िगर करना

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

AssetPackConfig क्लास का इस्तेमाल करके, यह तय करें कि Android ऐप्लिकेशन बंडल बिल्ड में कौनसी ऐसेट शामिल करनी हैं. साथ ही, ऐसेट की डिलीवरी का मोड भी तय करें. इन ऐसेट पैक में AssetBundle शामिल करने की ज़रूरत नहीं है.

public void ConfigureAssetPacks {
   // Creates an AssetPackConfig with a single asset pack, named
   // examplePackName, containing all the files in path/to/exampleFolder.
   var assetPackConfig = new AssetPackConfig();
   assetPackConfig.AddAssetsFolder("examplePackName",
                                   "path/to/exampleFolder",
                                   AssetPackDeliveryMode.OnDemand);

   // Configures the build system to use the newly created assetPackConfig when
   // calling Google > Build and Run or Google > Build Android App Bundle.
   AssetPackConfigSerializer.SaveConfig(assetPackConfig);

   // Alternatively, use BundleTool.BuildBundle to build an App Bundle from script.
   BuildBundle(new buildPlayerOptions(), assetPackConfig);
}

Bundletool क्लास में स्टैटिक BuildBundle तरीके का इस्तेमाल करके भी, ऐसेट पैक के साथ Android ऐप्लिकेशन बंडल जनरेट किया जा सकता है. इसके लिए, BuildPlayerOptions और AssetPackConfig का इस्तेमाल करें.

ज़्यादा जानकारी के लिए, Unity इंजन वाले गेम में Play ऐसेट डिलीवरी का इस्तेमाल करने के बारे में कोडलैब देखें.

Play ऐसेट डिलीवरी Unity API के साथ इंटिग्रेट करना

Play ऐसेट डिलीवरी Unity API, ऐसेट पैक का अनुरोध करने, डाउनलोड मैनेज करने, और ऐसेट ऐक्सेस करने की सुविधा देता है. सबसे पहले, अपने प्रोजेक्ट में Unity प्लगिन जोड़ना न भूलें.

एपीआई में इस्तेमाल किए जाने वाले फ़ंक्शन इस बात पर निर्भर करते हैं कि आपने ऐसेट पैक कैसे बनाए हैं.

अगर आपने प्लगिन यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करके ऐसेट पैक बनाए हैं, तो प्लगिन से कॉन्फ़िगर किए गए ऐसेट पैक चुनें.

अगर आपने एपीआई (या प्लग इन यूज़र इंटरफ़ेस) का इस्तेमाल करके ऐसेट पैक बनाए हैं, तो एपीआई से कॉन्फ़िगर किए गए ऐसेट पैक को चुनें.

अगले चरण

लोकल डिवाइस और Google Play से ऐसेट डिलीवरी की जांच करें.