Instant App: ماهیت، Google Play Instant و برنامه‌های بدون نصب

نویسنده: IT Sectr منتشر شده: 2026-02-14 زمان مطالعه: 10 دقیقه

Android Instant App (Google Play Instant) — فناوری‌ای که اجرای برنامه‌های بومی Android را بدون نصب امکان‌پذیر می‌کند. وقتی کاربر دکمه «امتحان کنید» را در Google Play می‌زند یا از طریق یک لینک عمیق عبور می‌کند، برنامه instant فقط ماژول لازم را دانلود کرده و فوراً اجرا می‌شود. این کار مانع نصب را از بین می‌برد و مسیر از کشف تا اولین تعامل را کوتاه می‌کند.

نکات اصلی مقاله

  • بدون نصب — برنامه‌های instant پس از دانلود یک ماژول به صورت بومی کار می‌کنند (محدودیت ۴–۱۰ مگابایت)
  • Google Play Instant — زیرساخت پلتفرمی که ماژول‌ها را از طریق لینک‌های عمیق یا دکمه «امتحان کنید» تحویل می‌دهد
  • معماری ماژولار — Android App Bundle و feature-modules پویا برای تحویل بر اساس تقاضا
  • یک کد — یک پایگاه کد هم برای نسخه instant و هم برای نسخه نصب‌شده کار می‌کند
  • افزایش نرخ تبدیل — تجربه فوری نرخ تبدیل به نصب را ۲۰–۳۰٪ افزایش می‌دهد

Instant App چیست؟

Android Instant App — یک برنامه بومی Android است که بلافاصله پس از کلیک روی لینک یا دکمه «امتحان کنید»، بدون نصب اجرا می‌شود. این فناوری که توسط Google در سال ۲۰۱۷ معرفی شد، فقط ماژول مورد نیاز برای سناریوی فعلی (ثبت سفارش، مرحله بازی، رزرو هتل) را دانلود کرده و آن را به عنوان یک فرآیند بومی کامل با دسترسی به تمام قابلیت‌های دستگاه اجرا می‌کند.

این مفهوم یک مشکل اساسی بازار موبایل را حل می‌کند: مانع کشف. تحقیقات نشان می‌دهد که ۶۰–۸۰٪ کاربرانی که صفحه یک برنامه را مشاهده می‌کنند، هرگز آن را نصب نمی‌کنند، و ۲۵٪ برنامه‌های نصب‌شده هرگز باز نمی‌شوند. برنامه‌های instant این مانع را با ارائه تجربه بومی فوری از بین می‌برند. در عین حال، یک پایگاه کد واحد هم به نسخه لحظه‌ای و هم به نسخه کامل خدمات می‌دهد که هزینه‌های توسعه را کاهش می‌دهد.

تا سال ۲۰۲۶، Google Play Instant از بازی‌ها، تجارت الکترونیک، رزرو سفر، خرید بلیط و ابزارهای کاربردی پشتیبانی می‌کند. از جمله استقرارهای بزرگ — Skyscanner (+۲۵٪ رزرو)، NYTimes Crossword (+۱۵٪ اشتراک) و Red Bull (+۳۰٪ تعامل). این فناوری به ویژه در سناریوهای «قبل از خرید امتحان کنید» مؤثر است، زمانی که کاربر می‌خواهد برنامه را قبل از نصب ارزیابی کند.

معماری Google Play Instant

Google Play Instant بر روی فرمت Android App Bundle و مکانیزم Dynamic Delivery ساخته شده است. وقتی کاربر یک تجربه فوری را شروع می‌کند، Google Play ماژول پایه و یک feature-module خاص را دانلود می‌کند، امضای دیجیتال را بررسی کرده و activity را در عرض چند ثانیه اجرا می‌کند. کل فرآیند بدون دیالوگ نصب انجام می‌شود — برنامه فقط روی صفحه ظاهر می‌شود.

kotlin
// build.gradle.kts — پیکربندی ماژول instant
plugins {
    id("com.android.application")
    id("org.jetbrains.kotlin.android")
    id("com.google.android.instantapps")
}

android {
    namespace = "com.example.instantapp"
    compileSdk = 35

    defaultConfig {
        applicationId = "com.example.instantapp"
        minSdk = 26
        targetSdk = 35
        versionCode = 1
        versionName = "1.0"
    }

    dynamicFeatures = setOf(
        ":feature_checkout",
        ":feature_catalog"
    )
}

// AndroidManifest.xml برای instant-app — پرچم "dist:module dist:instant="true""
// <dist:module dist:instant="true" />
kotlin
// Feature module — صفحه ثبت سفارش برای instant
class CheckoutActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_checkout)

        // Instant app: اندازه feature-module نباید از ۴ مگابایت تجاوز کند
        // تصاویر کوچک را بارگذاری می‌کنیم، سپس تصاویر کامل را بارگذاری می‌کنیم
        // از حداقل وابستگی‌ها در feature-module استفاده می‌کنیم
    }

    fun upgradeToInstalledApp() {
        // به کاربر پیشنهاد نصب نسخه کامل را می‌دهیم
        InstantApps.showInstallPrompt(this, "com.example.instantapp", 123)
    }
}

نیاز کلیدی پیکربندی — پرچم مانیفست instant: هر feature-module که در تجربه فوری شرکت می‌کند باید <dist:module dist:instant="true" /> را در مانیفست خود داشته باشد. ماژول پایه نیز به وابستگی Play Instant SDK نیاز دارد. Google Play Console به پیکربندی جداگانه برای انتشارهای instant نیاز دارد و خود برنامه باید در قالب Android App Bundle (.aab) منتشر شود.

توسعه ماژولار با Feature Modules

Feature modules — بلوک‌های ساختمانی برنامه‌های instant. هر feature-module یک سناریوی کاربری جداگانه را نشان می‌دهد — ثبت سفارش، جستجو، کارت محصول، مرحله بازی — و می‌تواند به طور مستقل دانلود شود. ماژول پایه شامل کد مشترک، منابع و زیرساخت ناوبری است، و feature-modules عملکرد خاصی را پیاده‌سازی می‌کنند. چنین معماری هم برای نسخه instant و هم برای نسخه نصب‌شده مفید است.

kotlin
// settings.gradle.kts — ساختار پروژه با feature-modules
pluginManagement {
    repositories {
        google()
        mavenCentral()
        gradlePluginPortal()
    }
}

rootProject.name = "InstantAppExample"

include(":app")                    // ماژول پایه
include(":feature_checkout")     // ثبت سفارش (instant-ready)
include(":feature_catalog")      // کاتالوگ محصولات (instant-ready)
include(":feature_profile")      // پروفایل کاربر (فقط نسخه نصب‌شده)

// build.gradle.kts (feature module) — instant-enabled
plugins {
    id("com.android.dynamic-feature")
    id("org.jetbrains.kotlin.android")
}

android {
    namespace = "com.example.feature.checkout"
}

dependencies {
    implementation(project(":app"))
    implementation("androidx.appcompat:appcompat:1.7.0")
}

Feature-modules با ماژول پایه از طریق Navigation Component و رابط‌های مشترک تعامل دارند. کامپوننت ناوبری از لینک‌های عمیق مستقیماً در feature-modules پشتیبانی می‌کند که به برنامه‌های instant اجازه می‌دهد URLها را پردازش کنند. برای تبادل داده، feature-modules می‌توانند از ViewModel مشترک، سرویس‌های مکان‌یاب (Dagger/Hilt) یا گذرگاه رویداد استفاده کنند. ماژول پایه گراف ناوبری را اعلام می‌کند و هر feature-module destination خود را ثبت می‌کند.

محدودیت‌های اندازه و بهینه‌سازی

محدودیت‌های اندازه برنامه‌های instant — بحرانی‌ترین محدودیت فنی. اندازه کل دانلود (ماژول پایه + feature-modules لازم) نباید از ۱۰ مگابایت تجاوز کند. برای اولین اجرا، یک feature-module همراه با پایه نباید بیش از ۴ مگابایت باشد تا راه‌اندازی در کمتر از ۲ ثانیه تضمین شود. تجاوز از محدودیت‌ها منجر به خطاهای دانلود و از دست دادن کاربران می‌شود.

روش بهینه‌سازیصرفه‌جوییپیاده‌سازی
فشرده‌سازی منابع۲۰–۴۰٪shrinkResources = true + resConfigs برای فیلتر کردن زبان‌ها
فشرده‌سازی کد (R8)۳۰–۵۰٪minifyEnabled = true با قوانین ProGuard برای انتشار
بارگذاری ناهمگاممتغیربارگذاری تصاویر پس از راه‌اندازی، نه درون ماژول
تصاویر WebP۲۵–۳۵٪تبدیل PNG/JPEG به WebP (کیفیت ۸۵–۹۰٪)
تجزیه ماژول‌هاماژول به ماژولfeature-modules کوچک — کاربر فقط مورد نیاز را دانلود می‌کند
Android App BundleمتغیرAAB فقط منابع مربوط به دستگاه خاص را تحویل می‌دهد

ابزارهای تحلیل اندازه: APK Analyzer در Android Studio (برای .apk) و bundletool (برای .aab). Google Play Console گزارش «Instant App Size Report» با اندازه‌های دانلود برای هر پیکربندی دستگاه ارائه می‌دهد. در CI ارزش افزودن بررسی بودجه اندازه را دارد — اگر bundle اولیه از ۸ مگابایت تجاوز کند، بیلد باید رد شود.

لینک‌های عمیق برنامه‌های instant — URLهای HTTP/HTTPS هستند که برنامه instant را مستقیماً راه‌اندازی می‌کنند. وقتی کاربر روی لینکی در وب‌سایت، تبلیغات یا شبکه‌های اجتماعی کلیک می‌کند، Android بررسی می‌کند که آیا برنامه instant آن الگوی URL را پردازش می‌کند یا خیر. اگر بله — ماژول برنامه instant دانلود و اجرا می‌شود و کاربر به جای صفحه وب موبایل، محتوای بومی را می‌بیند.

kotlin
// AndroidManifest.xml — پردازش لینک‌های عمیق در feature-module
<activity
    android:name=".CatalogActivity"
    android:excludeFromRecents="true">

    <intent-filter
        android:autoVerify="true">
        <action
            android:name="android.intent.action.VIEW" />
        <category
            android:name="android.intent.category.DEFAULT" />
        <category
            android:name="android.intent.category.BROWSABLE" />

        <data
            android:scheme="https"
            android:host="www.example.com"
            android:pathPrefix="/catalog" />
    </intent-filter>

    <!-- مورد نیاز برای برنامه‌های instant -->
    <meta-data
        android:name="default-url"
        android:value="https://www.example.com/catalog" />
</activity>

تأیید لینک‌های عمیق از طریق Digital Asset Links انجام می‌شود — یک فایل JSON که در آدرس https://yoursite/.well-known/assetlinks.json منتشر می‌شود. این تأیید می‌کند که مالک وب‌سایت برنامه Android را کنترل می‌کند. بدون تأیید، لینک‌ها در مرورگر باز می‌شوند، نه در برنامه instant. Google Search Console به آزمایش و بررسی پیکربندی لینک‌های عمیق برای نمایه‌سازی برنامه‌های instant کمک می‌کند.

چه زمانی از Instant Apps استفاده کنیم

برنامه‌های instant بیشترین کارایی را دارند در سناریوهایی که کاربر می‌خواهد بدون تعهد، ارزش فوری دریافت کند: خرید (مشاهده فوری کاتالوگ)، سفر (جستجوی بلیط هواپیما بدون نصب)، بازی‌ها (امتحان مرحله)، بلیط (خرید با ۳ کلیک)، تحویل غذا (انتخاب منو و سفارش) و ابزارهای کاربردی (ماشین حساب، مترجم، اسکنر بارکد). الگوی کلی — یک تجربه متمرکز و هدفمند که برای عملکرد کامل به نصب تبدیل می‌شود.

مناسب نیست برای: برنامه‌های با سرویس‌های پس‌زمینه (پیام‌رسان‌ها، ردیاب‌های تناسب اندام)، برنامه‌های با راه‌اندازی پیچیده (بانکداری، پرونده‌های پزشکی) یا مواردی که نسخه instant نمی‌تواند ارزش قابل توجهی ارائه دهد (ویرایشگرهای ویدئو، بسته‌های اداری). داده‌های Google نشان می‌دهد که بازی‌ها، تجارت الکترونیک و سفر بالاترین نرخ تبدیل از instant به نصب را دارند — اغلب بیش از ۳۰٪.

سوالات متداول

محدودیت اندازه برای Android Instant Apps چقدر است؟

محدودیت برنامه‌های instant — ۱۰ مگابایت برای دانلود کل (پایه + feature-modules). Google توصیه می‌کند اولین feature-module را در محدوده ۴ مگابایت برای راه‌اندازی در کمتر از ۲ ثانیه نگه دارید. محدودیت‌ها هنگام انتشار بررسی می‌شوند — Google Play Console بیلدهای بیش از حد را رد می‌کند.

آیا برنامه‌های instant می‌توانند به سخت‌افزار دستگاه دسترسی داشته باشند؟

بله. برنامه‌های instant دسترسی کامل به Android API از جمله دوربین، GPS، بلوتوث، NFC و حسگرها دارند — مانند برنامه‌های نصب‌شده. تنها محدودیت: برخی مجوزهای حساس (SMS، تماس‌ها، مخاطبین) تا نصب نسخه کامل در دسترس نیستند.

تفاوت برنامه‌های instant با PWA چیست؟

برنامه‌های instant — برنامه‌های بومی Android (Kotlin/Java) هستند که بدون نصب کار می‌کنند. PWA — برنامه‌های وب با Service Workers هستند. برنامه‌های instant دسترسی کامل به APIهای بومی و عملکرد بهتر دارند، اما فقط روی Android کار می‌کنند. PWA روی همه پلتفرم‌ها (iOS، Android، desktop) کار می‌کنند، اما دسترسی محدودی به سخت‌افزار دارند، به ویژه در iOS.

آیا برای نسخه instant و نصب‌شده به پایگاه کد جداگانه نیاز است؟

خیر. یک پایگاه کد به هر دو نسخه خدمات می‌دهد. Feature-modules در مانیفست به عنوان instant-ready علامت‌گذاری می‌شوند و ماژول پایه شامل کد مشترک است. Google Play فقط آنچه لازم است را تحویل می‌دهد. برای بررسی محیط می‌توان از InstantApps.isInstantApp() استفاده کرد و در صورت لزوم رفتار را تغییر داد.

چگونه یک برنامه instant را در Google Play منتشر کنیم؟

برای انتشار نیاز است: Android App Bundle (.aab) با feature-modules آماده instant، حساب Google Play Console با دسترسی به برنامه‌های instant و بیلد instant امضا‌شده. بخش «Instant Apps» در Play Console انتشارات، تأیید لینک‌های عمیق و بررسی اندازه را مدیریت می‌کند. فرآیند بررسی برای برنامه‌های instant از فهرست اصلی برنامه‌ها جدا است.

کدام دستگاه‌ها از Google Play Instant پشتیبانی می‌کنند؟

Google Play Instant در تمام دستگاه‌های با Android 5.0 (API 21) و بالاتر که Google Play Store روی آنها نصب است، پشتیبانی می‌شود. تا سال ۲۰۲۶، این بیش از ۹۵٪ دستگاه‌های فعال Android است. ممکن است تولیدکنندگان برای دستگاه‌های ارزان‌قیمت محدودیت اعمال کنند، اما در عمل پشتیبانی گسترده است.

آیا می‌توان برنامه‌های instant را درآمدزایی کرد؟

بله. برنامه‌های instant از Google Play Billing برای خریدهای درون‌برنامه‌ای پشتیبانی می‌کنند. تبلیغات از طریق AdMob نیز کار می‌کند. با این حال، مدل‌های اشتراک کمتر مؤثر هستند زیرا کاربر متعهد نیست — برای اشتراک‌ها، درآمدزایی از طریق خریدهای یک‌باره یا تبلیغات با انتقال به نصب توصیه می‌شود.

آنچه باید به خاطر بسپارید

  • Android Instant App — اجرای کد بومی Android بدون نصب
  • Google Play Instant فقط ماژول‌های لازم را بر اساس تقاضا تحویل می‌دهد
  • Feature-modules — بلوک‌های ساختمانی برای سناریوهای کاربری جداگانه
  • محدودیت اندازه — تا ۱۰ مگابایت (۴ مگابایت توصیه‌شده برای ماژول اول)
  • لینک‌های عمیق با Digital Asset Links URLها را به instant-activity متصل می‌کنند
  • پایگاه کد واحد برای نسخه instant و نصب‌شده
  • بهترین برای خرید، سفر، بازی‌ها و بلیط‌ها — با پتانسیل تبدیل بالا

ما یک اپلیکیشن موبایل به صورت کلید در دست توسعه خواهیم داد

IT Sectr از سال 2017 برنامه‌های iOS و Android را برای استارتاپ‌ها و کسب‌وکارها ایجاد می‌کند. ما به شما مشاوره می‌دهیم و بهترین راه‌حل را پیشنهاد خواهیم کرد.

بحث درباره پروژه

همچنین بخوانید