إنشاء حِزمة تطبيق مفعّلة بشكل فوري

تحذير: لن تكون "تطبيقات Google Play الفورية" متاحة بعد الآن. اعتبارًا من ديسمبر 2025، لن يكون بإمكانك نشر التطبيقات الفورية من خلال Google Play، كما أنّ جميع واجهات برمجة التطبيقات الفورية في "خدمات Google Play" ستتوقف عن العمل. لن يعرض Play "التطبيقات الفورية" للمستخدمين بعد الآن باستخدام أي آلية.

نُجري هذا التغيير استنادًا إلى ملاحظات المطوّرين واستثماراتنا المستمرة لتحسين المنظومة المتكاملة منذ طرح ميزة "تطبيقات Google Play الفورية".

لمواصلة تحسين معدّل اكتساب المستخدمين، ننصح المطوّرين بتوجيه المستخدمين إلى تطبيقهم أو لعبتهم العادية باستخدام الروابط لصفحات معيّنة لإعادة توجيههم إلى رحلات أو ميزات محدّدة عند الحاجة.

يمكنك إنشاء تجربة "تطبيق فوري على Google Play" من خلال تضمينها كجزء من حِزمة تطبيق Android. يُطلق على هذه الحزمة اسم حزمة تطبيقات تم تفعيل ميزة التطبيقات الفورية فيها. يوضّح هذا المستند كيفية إعداد بيئة التطوير لحِزم التطبيقات التي تم تفعيل ميزة التطبيقات الفورية فيها، بالإضافة إلى كيفية ضبط حزمة تطبيقات تم تفعيل ميزة التطبيقات الفورية فيها وإنشائها واختبارها ونشرها.

إذا كان لديك مشروع تطبيق فوري حالي يستخدم المكوّن الإضافي للميزة المتوقّفة نهائيًا (com.android.feature)، تعرَّف على كيفية نقل تطبيقك الفوري ليتوافق مع "مجموعات حزمات تطبيق Android".

إعداد بيئة التطوير

لتوفير تجربة فورية ضمن حزمة تطبيق، يجب أن يكون لديك إذن الوصول إلى حزمة تطوير البرامج (SDK) الخاصة بـ "التطبيقات الفورية على Google Play". يمكنك تثبيت حزمة SDK باستخدام إحدى الطرق التالية:

بالإضافة إلى ذلك، إذا كنت تريد اختبار التجربة الفورية على جهازك، عليك الحصول على جهاز افتراضي أو جهاز حقيقي.

التعرّف على شروط التنفيذ المطلوبة

تتيح "تطبيقات Google Play الفورية" تشغيل حِزم التطبيقات التي تم تفعيل ميزة التطبيقات الفورية فيها في نوع خاص من وضع الحماية SELinux لتعزيز الأمان. تسمح هذه البيئة التجريبية بمجموعة فرعية من الأذونات، بالإضافة إلى أنواع محدودة من التفاعلات مع التطبيقات الأخرى. توضّح الأقسام التالية خصائص هذه البيئة التجريبية بمزيد من التفصيل.

الأذونات والعمليات المتوافقة

يمكن لحِزم التطبيقات التي تتيح تشغيل التطبيقات الفورية استخدام الأذونات من القائمة التالية فقط:

التعامل مع الأذونات الشائعة غير المتوافقة

في ما يلي قائمة بالأذونات الشائعة وغير المتوافقة التي يجب إزالتها من تطبيقك، بالإضافة إلى مسار النقل المقترَح لكل منها:

  • ACCESS_WIFI_STATE: استخدِم ACCESS_NETWORK_STATE، الذي من المفترض أن يقدّم معلومات مشابهة لتلك التي يقدّمها ACCESS_WIFI_STATE.
  • BILLING: هذا إذن تم إيقافه نهائيًا. استخدِم Google Play Billing Library التي لم تعُد تتطلّب الإذن com.android.vending.BILLING.
  • READ/WRITE_EXTERNAL_STORAGE: لا يمكن للتطبيقات الفورية الوصول إلى مساحة التخزين الخارجية، لذا يجب استخدام مساحة التخزين الداخلية بدلاً من ذلك.
  • com.google.android.c2dm.permission.RECEIVE وpermission.C2D_MESSAGE: تم إيقاف C2DM نهائيًا. انتقِل إلى خدمة "المراسلة عبر السحابة الإلكترونية من Firebase" ‏ (FCM). ولا يتطلّب FCM أي أذونات إضافية ليعمل.

بالإضافة إلى ذلك، لا يمكن لمجموعات حزمات التطبيقات التي تم تفعيل ميزة التطبيقات الفورية فيها إجراء ما يلي:

الوصول إلى التطبيقات المثبَّتة

عند تطوير تجربة فورية، ضَع في اعتبارك أنّه لا يمكنها التفاعل مع التطبيقات المثبَّتة على الجهاز إلا إذا تحقّق أحد الشرطَين التاليَين:

  • تم ضبط العنصر android:visibleToInstantApps في نشاط واحد أو أكثر ضمن تطبيق مثبَّت على القيمة trueيتوفّر هذا العنصر للتطبيقات التي تعمل بالإصدار 8.0 من نظام التشغيل Android (المستوى 26 لواجهة برمجة التطبيقات) أو الإصدارات الأحدث.
  • يحتوي تطبيق مثبَّت على فلتر أهداف يتضمّن CATEGORY_BROWSABLE.
  • تتم التجربة الفورية من خلال إرسال هدف باستخدام الإجراء ACTION_SEND أو ACTION_SENDTO أو ACTION_SEND_MULTIPLE.

ضبط مشروعك للتجارب الفورية

لكي تكون حزمة التطبيقات متوافقة مع "تطبيقات Google Play الفورية"، يجب إعداد العديد من جوانب حزمة التطبيقات التي تم تفعيل ميزة التطبيقات الفورية فيها بعناية. توضّح الأقسام التالية هذه الاعتبارات.

تحديد الاعتماديات في المشروع

لاستخدام واجهات برمجة التطبيقات Google Play Instant في تطبيقك، عليك تضمين البيان التالي في ملف الإعداد build.gradle لوحدة تطبيقك:

Groovy

implementation "com.google.android.gms:play-services-instantapps:17.0.0"

Kotlin

implementation("com.google.android.gms:play-services-instantapps:17.0.0")

تحديد رموز الإصدار الصحيحة

يجب أن يكون رمز إصدار التجربة الفورية لتطبيقك أقل من رمز إصدار التطبيق القابل للتثبيت، إذ يُتوقّع أن ينتقل المستخدمون من تجربة "التطبيقات الفورية من Google Play" إلى تنزيل التطبيق وتثبيته على أجهزتهم. يعدّ إطار عمل Android هذا الانتقال بمثابة تحديث للتطبيق.

لضمان اتّباع نظام تحديد الإصدارات الذي يتوقّعه المستخدمون، اتّبِع إحدى الاستراتيجيتَين التاليتَين:

  • أعِد بدء رموز الإصدار للتطبيق الفوري على Google Play من 1.
  • يمكنك زيادة رمز إصدار حزمة APK القابلة للتثبيت برقم كبير، مثل 1000، لضمان توفّر مساحة كافية لزيادة رقم إصدار التجربة الفورية.

لا بأس بتطوير تطبيقك الفوري وتطبيقك القابل للتثبيت في مشروعَين منفصلَين على "استوديو Android". ومع ذلك، إذا اخترت ذلك، عليك اتّخاذ الخطوات التالية لنشر تطبيقك على Google Play:

  1. استخدِم اسم الحزمة نفسه في كلا مشروعي "استوديو Android".
  2. في Google Play Console، حمِّل كلا الصيغتين إلى التطبيق نفسه.

لمزيد من التفاصيل حول تحديد إصدار تطبيقك، يُرجى الاطّلاع على تحديد إصدار تطبيقك.

تعديل إصدار وضع الحماية المستهدف

يجب تعديل ملف AndroidManifest.xml الخاص بتطبيقك الفوري ليناسب بيئة وضع الحماية التي تتيحها "تطبيقات Google Play الفورية". يمكنك إكمال هذا التعديل عن طريق إضافة السمة android:targetSandboxVersion إلى العنصر <manifest> في تطبيقك، كما هو موضّح في مقتطف الرمز التالي:

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

لمزيد من المعلومات، راجِع المستندات حول السمة targetSandboxVersion.

تضمين وحدات التطبيق التي تم تفعيل ميزة التطبيقات الفورية فيها

يمكنك الإفصاح عن أنّ حِزمة تطبيقك تتوافق مع التجارب الفورية باستخدام إحدى الطريقتَين التاليتَين:

  • إذا كانت لديك حِزمة تطبيق حالية تحتوي على وحدة أساسية فقط، يمكنك تفعيل ميزة التطبيقات الفورية في حِزمة التطبيق باتّباع الخطوات التالية:

    1. افتح لوحة المشروع (Project) من خلال اختيار عرض (View) > نوافذ الأدوات (Tool Windows) > المشروع (Project) من شريط القوائم.
    2. انقر بزر الماوس الأيمن على الوحدة الأساسية، والتي يُطلق عليها عادةً اسم "التطبيق" (app)، ثم اختَر إعادة تصميم > تفعيل دعم التطبيقات الفورية.
    3. في مربّع الحوار الذي يظهر، اختَر الوحدة الأساسية من القائمة المنسدلة.
    4. انقر على موافق.

    يضيف "استوديو Android" التعريف التالي إلى بيان الوحدة:

    <manifest ... xmlns:dist="http://schemas.android.com/apk/distribution">
        <dist:module dist:instant="true" />
        ...
    </manifest>
    
  • إذا كانت لديك حِزمة تطبيق حالية تحتوي على وحدات متعددة، يمكنك إنشاء وحدة ميزة مفعَّلة للتطبيقات الفورية. تتيح لك هذه العملية أيضًا تفعيل الوحدة الأساسية في تطبيقك على الفور، ما يمنحك خيار إتاحة نقاط دخول متعددة للتطبيق الفوري داخل تطبيقك.

إتاحة تسجيل الدخول

إذا كانت التجربة الفورية للتطبيق تتيح للمستخدمين تسجيل الدخول، يجب أن تتوافق حزمة التطبيق التي تم تفعيل ميزة التطبيقات الفورية فيها مع ميزة "Smart Lock لكلمات المرور على Android". إذا كنت بصدد إنشاء لعبة"تشغيل فوري"، عليك استخدام ميزة تسجيل الدخول في خدمات ألعاب Google Play بدلاً من ذلك.

توفير بيئة التنفيذ

لضمان التوافق مع بيئة SELinux المعزولة التي يتم فيها تشغيل التجارب الفورية، يُرجى مراعاة ما يلي عند إنشاء حِزمة تطبيق تم تفعيل ميزة التطبيقات الفورية فيها:

  • يجب عدم مشاركة قيمة myUid()، وهو معرّف UID الذي يحدّده نظام التشغيل لعملية تطبيقك.
  • إذا كان تطبيقك يستهدف الإصدار 8.1 من نظام التشغيل Android (المستوى 27 لواجهة برمجة التطبيقات) أو الإصدارات الأقدم، عليك إنشاء ملف إعداد أمان الشبكة وضبط cleartextTrafficPermitted على false. لا تتوافق التجارب الفورية مع زيارات HTTP. بالنسبة إلى التطبيقات التي تستهدف الإصدار 9 من نظام التشغيل Android أو الإصدارات الأحدث، يتم إيقاف نقل البيانات بنص عادي تلقائيًا.
  • يبقى التطبيق الفوري مثبّتًا على جهاز المستخدم إلى أن يتم محو ذاكرة التخزين المؤقت للتطبيقات الفورية، ويحدث ذلك في إحدى الحالات التالية:

    • يتم جمع البيانات غير الضرورية من ذاكرة التخزين المؤقت للتجربة الفورية لأنّ الذاكرة المتوفّرة على الجهاز أصبحت محدودة.
    • يعيد المستخدم تشغيل جهازه.

    وفي حال حدوث أيّ من العمليتين، على المستخدم إعادة تنزيل التجربة الفورية ليتمكّن من التفاعل معها.

  • إذا كانت مساحة التخزين المتبقية في النظام قليلة جدًا، من المحتمل أن تتم إزالة بيانات المستخدم في &quot;التجربة الفورية&quot; من مساحة التخزين الداخلية. لذلك، ننصحك بمزامنة بيانات المستخدمين بشكل دوري مع خادم تطبيقك للحفاظ على مستوى تقدّم المستخدم.

إضافة منطق لسير عمل التجربة الفورية

بعد إعداد حِزمة تطبيقك لتتوافق مع التجارب الفورية، أضِف المنطق الموضّح في الأقسام التالية.

التحقّق مما إذا كان التطبيق يوفّر تجربة فورية

إذا كانت بعض منطق تطبيقك يعتمد على ما إذا كان المستخدم يتفاعل مع التجربة الفورية، عليك استدعاء الطريقة isInstantApp(). تعرض هذه الطريقة true إذا كانت العملية الجارية حاليًا هي تجربة فورية.

عرض طلب التثبيت

إذا كنت بصدد إنشاء نسخة تجريبية من تطبيقك أو لعبتك، تتيح لك ميزة &quot;التطبيقات الفورية على Google Play&quot; عرض طلب ضمن التجربة الفورية يدعو المستخدمين إلى تثبيت التجربة الكاملة على أجهزتهم. لعرض هذا الطلب، استخدِم طريقة InstantApps.showInstallPrompt() ، كما هو موضّح في مقتطف الرمز التالي:

Kotlin

class MyInstantExperienceActivity : AppCompatActivity {
    // ...
    private fun showInstallPrompt() {
        val postInstall = Intent(Intent.ACTION_MAIN)
                .addCategory(Intent.CATEGORY_DEFAULT)
                .setPackage(your-installed-experience-package-name)

        // The request code is passed to startActivityForResult().
        InstantApps.showInstallPrompt(this@MyInstantExperienceActivity,
                postInstall, request-code, /* referrer= */ null)
    }
}

Java

public class MyInstantExperienceActivity extends AppCompatActivity {
    // ...
    private void showInstallPrompt() {
        Intent postInstall = new Intent(Intent.ACTION_MAIN)
                .addCategory(Intent.CATEGORY_DEFAULT)
                .setPackage(your-installed-experience-package-name);

        // The request code is passed to startActivityForResult().
        InstantApps.showInstallPrompt(MyInstantExperienceActivity.this,
                postInstall, request-code, /* referrer= */ null);
    }
}

نقل البيانات إلى تجربة مثبَّتة

إذا أعجبت المستخدم التجربة الفورية، قد يقرّر تثبيت تطبيقك. ولتقديم تجربة جيدة للمستخدم، من المهم نقل بياناته من التجربة الفورية إلى الإصدار الكامل من تطبيقك.

إذا كان المستخدم يستخدم جهازًا يعمل بنظام التشغيل Android 8.0 (المستوى 26 من واجهة برمجة التطبيقات) أو إصدار أحدث، وإذا كان تطبيقك يحدّد targetSandboxVersion بقيمة 2، سيتم نقل بيانات المستخدم تلقائيًا إلى الإصدار الكامل من تطبيقك. وفي ما عدا ذلك، عليك نقل البيانات يدويًا. لإجراء ذلك، استخدِم إحدى واجهات برمجة التطبيقات التالية:

  • بالنسبة إلى المستخدمين الذين لديهم أجهزة تعمل بالإصدار 8.0 من نظام التشغيل Android (المستوى 26 من واجهة برمجة التطبيقات) والإصدارات الأحدث، استخدِم واجهة برمجة التطبيقات الخاصة بملفات تعريف الارتباط - تطبيق نموذجي
  • إذا كان بإمكان المستخدمين التفاعل مع تجربتك على الأجهزة التي تعمل بالإصدار 7.1 من نظام التشغيل Android (المستوى 25 لواجهة برمجة التطبيقات) والإصدارات الأقدم، أضِف توافقًا مع واجهة برمجة التطبيقات Storage API - تطبيق نموذجي

إنشاء حِزمة التطبيق

يمكنك استخدام &quot;استوديو Android&quot; أو واجهة سطر الأوامر لإنشاء حزمة التطبيقات المتوافقة مع التطبيقات الفورية.

استوديو Android

باستخدام &quot;استوديو Android&quot;، يمكنك إنشاء حِزمة تطبيقك من خلال النقر على إنشاء > إنشاء حِزم/حِزم APK > إنشاء حِزم. لمزيد من المعلومات حول إنشاء مشروعك، يُرجى الاطّلاع على إنشاء مشروعك.

واجهة سطر الأوامر

يمكنك أيضًا إنشاء حِزمة التطبيق من سطر الأوامر باستخدام Gradle.

توافُق البنية الأساسية 64 بت

يجب أن تتوافق التطبيقات المنشورة على Google Play مع بنية 64 بت. تؤدي إضافة إصدار 64 بت من تطبيقك إلى تحسين الأداء وتجهيز تطبيقك للأجهزة التي تتضمّن أجهزة تعمل بالإصدار 64 بت فقط. مزيد من المعلومات حول توافق التطبيقات مع إصدار 64 بت

اختبار التجربة الفورية

قبل نشر حزمة تطبيقك التي تم تفعيل ميزة التطبيقات الفورية فيها، يمكنك اختبار تجربة التطبيق الفوري من أحد المواقع الجغرافية التالية للتحقّق من الوظائف:

استوديو Android

لاختبار تجربة التطبيق الفوري على جهاز محلي باستخدام Android Studio، أكمِل الخطوات التالية:

  1. إذا كان لديك إصدار مثبَّت من تطبيقك على جهاز الاختبار، عليك إلغاء تثبيته.
  2. في &quot;استوديو Android&quot;، من خيارات التثبيت التي تظهر في علامة التبويب عام ضمن مربّع الحوار &quot;إعدادات التشغيل/تصحيح الأخطاء&quot;، ضَع علامة في مربّع الاختيار نشر كتطبيق فوري.
  3. انقر على تشغيل > تشغيل في شريط القوائم، أو انقر على تشغيل في شريط الأدوات، ثم اختَر الجهاز الذي تريد اختبار تجارب التطبيق الفوري عليه. يتم تحميل التجربة الفورية لتطبيقك على جهاز الاختبار الذي اخترته.

واجهة سطر الأوامر

لاختبار تجربة التطبيق الفوري على جهاز محلي باستخدام سطر الأوامر، أكمِل الخطوات التالية:

  1. إذا كان لديك إصدار مثبَّت من تطبيقك على جهاز الاختبار، عليك إلغاء تثبيته.
  2. حمِّل تطبيقك الفوري بشكل جانبي وشغِّله على جهاز الاختبار من خلال إدخال الأمر التالي:
ia run output-from-build-command

مسار الاختبار الداخلي

لاختبار التجربة الفورية لتطبيقك من &quot;متجر Play&quot; أو من بانر على موقعك الإلكتروني، عليك نشر التطبيق في مسار الاختبار الداخلي على Play Console.

لنشر تطبيقك في مسار الاختبار الداخلي، أكمِل الخطوات التالية:

  1. حمِّل حِزمة تطبيقك باتّباع الخطوات الواردة في دليل تحميل حِزمة تطبيقك إلى Play Console.
  2. جهِّز الحِزمة التي تم تحميلها لإصدار سيتم طرحه في مسار الاختبار الداخلي. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة الدعم حول كيفية إعداد الإصدارات وطرحها.
  3. سجِّل الدخول إلى حساب مختبِر داخلي على جهاز، ثم شغِّل تجربة التطبيق الفوري من إحدى مساحات العرض التالية:

    • زر التجربة الآن من بطاقة بيانات تطبيقك على "متجر Play"
    • رابط من بانر على الموقع الإلكتروني لتطبيقك

نشر حِزمة التطبيق في قناة الإصدار العلني

لنشر حِزمة تطبيقك التي تتيح تشغيل التطبيق الفوري، أكمِل الخطوات التالية:

  1. إذا لم يسبق لك ذلك، وقِّع حزمة تطبيقك باستخدام مفتاح إصدار وحمِّل حزمة التطبيق إلى Play Console.
  2. في Play Console، افتح إدارة الإصدار > تطبيقات Android الفورية، ثم انتقِل إلى قناة الإصدار العلني للتطبيق الفوري.
  3. انقر على التحديث من المكتبة، ثم اختَر حِزمة التطبيق المتوافق مع التطبيقات الفورية التي حمّلتها.

اختيار مكان نشر التجربة الفورية

يمكنك إطلاق تجربة فورية لتطبيقك في مجموعة فرعية من البلدان والمناطق التي يمكن للمستخدمين تثبيت تطبيقك فيها. وتكون هذه الإمكانية مفيدة في الحالات التي تريد فيها الترويج للتجربة الفورية لتطبيقك للمستخدمين المقيمين في مجموعة معيّنة من البلدان والمناطق.

مراجع إضافية

لمزيد من المعلومات حول إنشاء تجارب فورية و"مجموعات حزمات تطبيق Android"، يُرجى الاطّلاع على المراجع التالية:

فيديو: تجميع تطبيق في تطبيق فوري
تعرَّف على كيفية إضافة تجربة فورية إلى "مجموعة حزمات تطبيق Android" في هذه الجلسة من مؤتمر Android Dev Summit لعام 2018.
فيديو: نشر تطبيقات أصغر حجمًا باستخدام "مجموعة حزمات تطبيق Android"
تعرَّف على كيف تساعدك حِزم التطبيقات في تطوير تطبيقك بشكل أسرع وإنشاء حِزم APK أصغر حجمًا للمستخدمين.
درس تطبيقي: مجموعة حزمات تطبيق Android الأولى
دليل مفصّل حول إنشاء "مجموعة حزمات تطبيق Android" وإضافة ميزات إليها
تنسيق "مجموعة حزمات تطبيق Android"
مزيد من المعلومات حول كيفية تنظيم برنامج سطر الأوامر bundletool لحِزمة تطبيق من رموز تطبيقك وموارده