هشدار: قابلیت Instant در گوگل پلی دیگر در دسترس نخواهد بود. از دسامبر ۲۰۲۵، انتشار Instant Apps از طریق گوگل پلی امکانپذیر نخواهد بود و تمام APIهای Instant سرویسهای گوگل پلی دیگر کار نخواهند کرد. کاربران دیگر با استفاده از هیچ مکانیزمی، Instant Apps را از طریق Play دریافت نخواهند کرد.
ما این تغییر را بر اساس بازخورد توسعهدهندگان و سرمایهگذاریهای مداوم خود برای بهبود اکوسیستم از زمان معرفی Google Play Instant انجام میدهیم.
برای ادامه بهینهسازی برای رشد کاربر، ما توسعهدهندگان را تشویق میکنیم که کاربران را به برنامه یا بازی معمولی خود ارجاع دهند و در صورت لزوم از لینکهای عمیق برای هدایت آنها به مسیرهای خاص یا ویژگیهای مربوطه استفاده کنند.
هنگام کوچک کردن برنامه خود برای تطبیق با الزامات اندازه، ابتدا تکنیکهای استاندارد بهینهسازی اندازه APK را امتحان کنید. اگر نیاز به کاهش بیشتر اندازه دارید، ممکن است لازم باشد به تحویل ابری داراییها تکیه کنید. این سند نحوه آمادهسازی داراییها برای تحویل ابری و گزینههای پشتیبانی از موتورهای بازی مختلف را شرح میدهد. در حالی که راهنماییهای این صفحه بر بازیها تمرکز دارد، اصول آن برای هر برنامهای که حاوی داراییهای بزرگ است، اعمال میشود.
آماده سازی
هنگام فکر کردن به تقسیمبندی برنامه خود برای ارائه ابری داراییها، در نظر بگیرید که چگونه میتوانید فایلهای برنامه خود را بر اساس زمانی که باید در دسترس کاربر قرار گیرند، به بخشهایی تقسیم کنید. این زمانبندی معمولاً در سه دسته زیر قرار میگیرد: همیشه مورد نیاز، در زمان راهاندازی مورد نیاز و بعداً مورد نیاز.
همیشه مورد نیاز است
برخی از داراییها به سختی به بلوکهای کوچکتر تقسیم میشوند یا لازم است که در APK پایه قرار گیرند. به عنوان مثال میتوان به کد بازی شما و وابستگیهای کتابخانه یا موتور آن اشاره کرد. در حالی که Google Play Core از بستههای برنامه برای کد پشتیبانی میکند ، بسیاری از موتورها از کدی که بعداً دانلود میشود پشتیبانی نمیکنند.
در زمان راه اندازی مورد نیاز است
پس از شروع بازی، کاربر باید بتواند بلافاصله بازی کند. قابلیت Google Play Instant مستلزم آن است که کاربران بتوانند بازی شما را در کمتر از ۱۵ ثانیه از طریق اتصال LTE یا ۴G شروع کنند (به چک لیست Google Play Instant مراجعه کنید). بنابراین، هرگونه دانلود ثانویه پس از راهاندازی را محدود کنید تا فقط به اندازهای باشد که برای پشتیبانی از تجربه اولیه لازم باشد. به عنوان مثال، یک دانلود سریع بلافاصله پس از راهاندازی ممکن است شامل اولین سطح بازی و داراییهای مکان یا هر کدی باشد که برای اجرای چند دقیقه اول گیمپلی لازم است.
بعداً مورد نیاز است
هر چیزی که بتوانید بعداً، در صورت نیاز، در پسزمینه دانلود کنید، در این دسته قرار میگیرد. این دسته شامل بیشتر فایلهای مربوط به بازیهای طولانی مدت میشود. دانلود این فایلها در آینده به کاهش حجم برنامه شما تا حد امکان کمک میکند.
پشتیبانی موتور
تحویل داراییهای ابری، روش اصلی برای افزایش حجم بازی شما به بیش از ۱۵ مگابایت برای بازیهای Instant Play است. پشتیبانی از دانلود داراییها بسته به موتور بازی متفاوت خواهد بود. رایجترین موارد و همچنین گزینههای میزبانی داراییها را در زیر مشاهده کنید.
توجه داشته باشید که تعداد کمتر داراییهای مورد نیاز در زمان عرضه، به کاربر اجازه میدهد سریعتر وارد بازی شود، که به معنای کاهش افت بازیکن و حفظ بهتر او در همان اولین عرضه است.
ارائه ویژگیهای بازی (از طریق بستههای برنامه)
اگر برنامه خود را به عنوان یک بسته برنامه منتشر میکنید (که روش ترجیحی است)، میتوانید از ماژولهای ویژگی برای دریافت منابع اضافی فراتر از APK پایه استفاده کنید. برای برنامه فوری شما، هر ماژول ویژگی باید dist:instant="true" را در مانیفست تنظیم کند. ویژگی dist:on-demand نباید استفاده شود؛ این ویژگی در درجه اول برای ماژولهای درخواستی در APKهای نصب شده استفاده میشود. علاوه بر این، هر ماژول ویژگی باید زیر محدودیت APK فوری ۱۵ مگابایت باشد، صرف نظر از اینکه ماژول حاوی کد باشد یا خیر. عدم نگه داشتن هر ماژول زیر این محدودیت، از انتشار در آلفا یا مسیرهای انتشار جلوگیری میکند. پس از پیکربندی صحیح، میتوانید ماژولهای ویژگی را در زمان اجرا با استفاده از کتابخانه PlayCore دریافت کنید .
خالق کوکوس
کوکوس از نسخه v2.0.4 از تحویل ابری داراییها پشتیبانی میکند. کوکوس داراییها را بر اساس تقاضا دانلود میکند و اگر داراییها به موقع دانلود نشده باشند، متغیرهایی را رندر میکند. کوکوس فایلهای دارایی را تولید میکند که باید با برخی سرویسهای آنلاین میزبانی شوند، زیرا کوکوس خودش چنین سرویسهایی ارائه نمیدهد.
وحدت
تحویل ابری در افزونه Unity Google Play Instant برای نسخههای ۵.۶، ۲۰۱۷.۴ یا ۲۰۱۸.۲ پشتیبانی میشود. نسخههای بعدی Unity مزایای بیشتری برای حذف موتور ارائه میدهند، بنابراین ممکن است مهاجرت به آنها برای آزادسازی فضای بیشتر مفید باشد. داراییهای ابری Unity در فایلهای AssetBundle که Unity برای شما ایجاد میکند، میزبانی میشوند. آپلود این فایلها در یک سرور ابری، امکان تحویل ابری داراییها را فراهم میکند، زیرا Unity پشتیبانی ذاتی برای دانلود بستههای دارایی دارد.
موتورهای دیگر
چه از یک موتور سفارشی استفاده کنید و چه از مجموعهای از کتابخانههای بومی، انتخاب شما ممکن است از دانلود ابری داراییها به صورت آماده پشتیبانی کند. اگر داراییهای کافی دارید که باید آنها را از فضای ابری دانلود کنید، باید روشی را برای دانلود داراییها در صورت تقاضا برای بازی خود کدنویسی یا ادغام کنید. APIهای Firebase Hosting یا Firebase Cloud Storage مکانهای خوبی برای شروع هستند. برخی از موتورها، دریافت فایل HTTPS سادهای را ارائه میدهند که ممکن است برای نیازهای شما کافی باشد.
داراییهای میزبانی
مگر اینکه از بستههای برنامه گوگل پلی برای دانلود فایلهای خود از طریق پلی استفاده کنید، در غیر این صورت باید فایلهای خود را در جای دیگری میزبانی کنید. تا زمانی که توزیع و دسترسی جهانی معقولی داشته باشد، میتوانید آنها را با هر سرویسی که میخواهید میزبانی کنید. کاربران برنامه بازیهای گوگل پلی در سراسر جهان بازی میکنند، بنابراین فایلهای میزبانی شده توسط ابر باید به سرعت در هر مکانی به آنها ارائه شود.