خطوات إعداد التطبيقات للعمل عليها تطبيقات Google Play الفورية كما هو موضَّح في إنشاء أول تطبيق فوري، تنطبق أيضًا على الألعاب. يركّز هذا الدليل على بعض خطوات الإعداد الخاصة بالألعاب.
يمكنك تطوير الألعاب لتطبيق "تطبيقات Google Play الفورية" باستخدام الانسجام (مع أو بدون Google Play Instant Unity المكون الإضافي)، Cocos2D، استوديو Android أو محرك خاص بك.
يفترض هذا الدليل أنك تعرف بالفعل نوع تجربة الألعاب التي قد يرغب في تقديمها. إذا كنت ترغب في رؤية الأفكار وأفضل الممارسات لتقديم للألعاب العالية الجودة، فاطّلع على أفضل ممارسات تجربة المستخدم للألعاب على تطبيقات Google Play الفورية:
بالإضافة إلى ذلك، قبل نشر لعبة يمكن تشغيلها على يجب مراجعة المتطلبات الفنية لتطبيق "تطبيقات Google Play الفورية". قائمة التحقّق
تحديد نقطة دخول
يصبح النشاط الذي يتضمن فلتر الأهداف التالي نقطة الدخول لتجربة تطبيقات 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". يمكنك أيضًا بدء هذا النشاط مباشرةً باستخدام واجهة برمجة تطبيقات الرابط لصفحة في التطبيق:
تحديد رموز الإصدار الصحيحة
يجب أن يكون رمز إصدار التجربة الفورية للعبتك أقل من رمز إصدار اللعبة القابلة للتثبيت ويتيح تحديد إصدارات تطبيقك بهذه الطريقة اللاعبين للانتقال من تجربة Google Play الفورية إلى التنزيل وتثبيت اللعبة على أجهزتهم. يراعي إطار عمل Android ذلك الانتقال إلى تحديث للتطبيق.
للتأكد من اتباع نظام تحديد الإصدارات الموصى بها، اتبع أحد الإستراتيجيات التالية:
- أعِد تشغيل رموز الإصدار لتجربة Google Play الفورية على الرقم 1.
- زيادة رمز إصدار التطبيق القابل للتثبيت بعدد كبير، مثلاً 1000، لضمان توفّر مساحة كافية لإصدار التجربة الفورية للتطبيق الرقم المطلوب زيادته.
يمكنك تطوير لعبتك الفورية واللعبة القابلة للتثبيت في نسختَين منفصلتَين. مشاريع "استوديو Android" ومع ذلك، إذا قمت بذلك، يجب عليك القيام بما يلي من أجل نشر لعبتك على Google Play:
- استخدِم اسم الحزمة نفسه في كلا مشروعَي "استوديو Android".
- في Google Play Console، حمِّل كلا السعرَين المتغيرَين إلى التطبيق نفسه.
لمعرفة مزيد من التفاصيل حول ضبط إصدار لعبتك، يمكنك الاطّلاع على إصدار التطبيق.
دعم بيئة التنفيذ
وكما هي الحال مع التطبيقات الأخرى، تعمل الألعاب المتاحة على "تطبيقات Google Play الفورية" ضمن نطاق وضع الحماية على الجهاز. لإتاحة بيئة التنفيذ هذه، أكمِل الخطوات كما هو موضح في الأقسام التالية.
إيقاف زيارات cleartext
لا تتوافق الألعاب على "تطبيقات Google Play الفورية" مع زيارات HTTP. إذا كانت لعبتك يستهدف Android 9 (المستوى 28 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث، يوقف Android دعم النص الواضح في لعبتك تلقائيًا
إذا كانت لعبتك تستهدف الإصدار Android 8.1 (المستوى 27 من واجهة برمجة التطبيقات) أو الإصدارات الأقدم، يجب عليك
عليك إنشاء ملف Network Security Config.
في هذا الملف، اضبط cleartextTrafficPermitted
على false
، كما هو موضّح في القسم
مقتطف الرمز التالي:
<?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 الفورية". يمكنك إكمال
هذا التعديل من خلال إضافة سمة android:targetSandboxVersion
إلى
العنصر <manifest>
في الألعاب، كما هو موضح في مقتطف الرمز التالي:
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
...
android:targetSandboxVersion="2" ...>
لمزيد من المعلومات، راجع الوثائق المتعلقة
targetSandboxVersion
.
لا تعتمد على توفُّر ذاكرة تخزين مؤقت أو بيانات تطبيق
تظل التجربة الفورية للتطبيق تم تنزيلها على جهاز المستخدم حتى سيتم محو ذاكرة التخزين المؤقت للتجربة الفورية، مما يحدث في إحدى الحالات:
- يتم جمع البيانات غير المرغوب فيها في ذاكرة التخزين المؤقت للتجربة الفورية لأن الجهاز انخفاض الذاكرة المتاحة.
- يعيد المستخدم تشغيل جهازه.
في حال حدوث أي من العمليتَين، على المستخدم إعادة تنزيل التجربة الفورية للتطبيق. من أجل التفاعل معها.
إذا أوشكت مساحة التخزين على النفاد في النظام، فربما تتم إزالة بيانات المستخدم الخاصة بالتجربة الفورية من وحدة التخزين الداخلية. لذلك، من المهم يُنصح بمزامنة بيانات المستخدم بشكل دوري مع خادم اللعبة حتى تقدم المستخدم.
تقليل حجم تطبيقك
على عكس الأنواع الأخرى من التطبيقات، تشتمل الألعاب المتاحة على "تطبيقات Google Play الفورية" على الحدّ الأقصى المسموح به لحجم التنزيل هو 15 ميغابايت. لإنشاء لعبة بهذا الحجم، إعادة ضبط منطق لعبتك. يصف هذا القسم بعض الأدوات والتقنيات المختلفة للمساعدة في تحسين حجم لعبتك.
الأدوات
يمكن أن تساعدك قائمة الأدوات التالية في تحديد العوامل التي تساهم في حجم لعبتك:
- أداة تحليل APK: توفّر نظرة شاملة على لمحتوى حزمة APK مجمّعة. باستخدام طريقة العرض هذه، يمكنك تحديد عدد وحدات البايت التي يساهم بها كل عنصر في الحجم الكلي. استخدِم هذه الأداة التحقق بسرعة من حجم الموارد والأصول والمنطق والمكتبات الأصلية التي التي تستخدمها لعبتك.
- Bloaty McBloatface: يعرض ملف حجم الملفات الثنائية.
- أداة فحص وحدة معالجة الرسومات في 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 لتصغير حجم الرموز البرمجية والموارد.
- استخدِم الإصدار 4.4 من نظام Gradle أو الإصدارات الأحدث لإنشاء ملفات DEX أصغر.
- نفِّذ تسليم الأصول إلى السحابة الإلكترونية.
قسِّم لعبة كبيرة إلى حِزم APK متعدّدة
قد يكون من الصعب تحسين تجربة "تطبيقات Google Play الفورية" جعل لعبتك مناسبة في حزمة APK واحدة بحجم 15 ميغابايت، حتى بعد تطبيق اقتراحات لتقليل حجم APK. إلى العنوان في هذا التحدي، يمكنك تقسيم لعبتك إلى عدة حِزم APK. يبدأ اللاعبون تنزيل حزمة APK الأساسية والأساسية أثناء اللعب، يمثّل الجزء المتبقي تتوفر حِزم APK لهذه اللعبة في الخلفية.
على سبيل المثال، يمكن أن تحتوي حزمة APK الأساسية على محرّك اللعبة الأساسي ومواد العرض. مطلوبة لعرض شاشة تحميل. وعند إطلاق حزمة APK الأساسية، سيتم عرض ثم يتم طلب حزمة APK مقسّمة إضافية تحتوي على بيانات اللعبة والمستوى. بعد توفُّر حِزمة APK المجزّأة هذه، يمكنها تحميل الأصول إلى محرك اللعبة ومنح اللاعب المحتوى الذي يحتاجه للبدء باللعبة.
اعتماد أفضل ممارسات تجربة المستخدم
بعد ضبط لعبتك بحيث توفّر التجارب الفورية، يمكنك إضافة المنطق الموضح في الأقسام التالية لتوفير تجربة مستخدم جيدة المستخدم.
التوافق مع بُنى 64 بت
يجب أن تتوافق التطبيقات المنشورة على Google Play مع بنى 64 بت. إن إضافة يوفّر الإصدار 64 بت من تطبيقك تحسينات في الأداء ويساعد على تجهيزك للأجهزة التي تعمل بنظام 64 بت فقط. مزيد من المعلومات حول دعم الإصدار 64 بت
التحقّق مما إذا كانت اللعبة توفّر تجربة فورية
إذا كان هناك جزء من منطق لعبتك يعتمد على ما إذا كان المستخدم يشارك في
تجربة فورية، فقم باستدعاء
isInstantApp()
. تعرض هذه الطريقة الدالة true
إذا كانت العملية الجارية حاليًا هي
تجربة فورية للتطبيق.
ومن خلال إجراء عملية التحقّق هذه، يمكنك تحديد ما إذا كان يجب تشغيل تطبيقك خلال بيئة تنفيذ محدودة أو يمكن الاستفادة من ميزات المنصة.
عرض طلب تثبيت
إذا كنت قد صمّمت إصدارًا تجريبيًا من تجربة "تطبيقات Google Play الفورية"، من المفترض أن تظهر رسالة طلب في اللعبة.
للمشغل تثبيت الإصدار الكامل على جهازه. لإجراء ذلك، استخدم
showInstallPrompt()
في Google APIs لنظام التشغيل Android.
لمعرفة المزيد حول كيفية طلب تثبيت المشغّل ووقته، أفضل ممارسات تجربة المستخدم للألعاب على تطبيقات Google Play الفورية:
نقل البيانات إلى تجربة مثبَّتة
وإذا استمتع لاعب بتجربتك التجريبية، فقد يقرر تثبيت الإصدار الكامل من لعبتك. ولترك انطباع جيد لدى المستخدم، من المهم بأن تقدم اللاعب يتم نقله من تجربتك الفورية إلى الإصدار الكامل من لعبتك.
إذا كانت لعبتك تحدّد targetSandboxVersion
2
، ثم يتم نقل مستوى تقدم اللاعب
تلقائيًا إلى الإصدار الكامل من لعبتك بخلاف ذلك، يجب نقل
البيانات المتعلقة بتقدم اللاعب يدويًا. لإجراء ذلك، استخدِم Cookie API - نموذج تطبيق
مصادر إضافية
تعرَّف على مزيد من المعلومات حول "تطبيقات Google Play الفورية" من خلال الاطّلاع على المراجع الإضافية التالية:
- درس تطبيقي حول الترميز: إنشاء أول تطبيق فوري
- يمكنك إضافة إمكانية استخدام "تطبيقات Google Play الفورية" في تطبيق حالي.
- درس تطبيقي حول الترميز: إنشاء تطبيق فوري متعدد الميزات
- إنشاء تطبيق متعدّد الميزات ضمن وحدات.