سماعة الرأس Samsung Galaxy XR متاحة الآن، وهي تعمل بنظام التشغيل Android XR. منشور المدوّنة هذا هو جزء من أسبوع Android XR Spotlight، حيث نقدّم موارد، مثل منشورات المدوّنات والفيديوهات ونماذج الرموز البرمجية وغيرها، وكلّها مصمّمة لمساعدتك في التعلّم والإنشاء وإعداد تطبيقاتك لنظام Android XR.
نركّز اليوم على إحدى الخطوات الأخيرة في رحلة التطوير، وهي ضمان وصول هذه التجارب إلى المستخدمين بنجاح. يضمن النشر بشكل صحيح أن يتم تجميع تطبيقك بكفاءة، وأن يتم اكتشافه من خلال الأجهزة المناسبة، وأن يتم عرضه بأفضل طريقة ممكنة.
في ما يلي 5 معلومات يجب معرفتها حول نشر تطبيقك وتوزيعه على أجهزة Android XR على Google Play.
1. الحفاظ على الجودة من خلال إرشادات جودة تطبيقات Android XR
من أهم الخطوات التي يجب اتّخاذها قبل نشر تطبيقك هي التأكّد من أنّه يقدّم تجربة مستخدم آمنة ومريحة وفعّالة.
يساعد اتّباع إرشادات جودة تطبيقات Android XR في ضمان تقديم تطبيقك تجربة رائعة للمستخدمين على أجهزة مثل Galaxy XR.
أهمية الجودة
تستند هذه الإرشادات إلى إرشادات الجودة لتطبيقات الشاشات الكبيرة، وتركز على المعايير الأساسية الخاصة بالواقع الممتد، بما في ذلك:
- السلامة والراحة: هذه هي الأولوية القصوى. تساعدك هذه الإرشادات في تجنُّب التسبّب بدوار الحركة من خلال وضع معايير لحركة الكاميرا ومعدّلات عرض اللقطات، والحدّ من العناصر المرئية، مثل الوميض.
- الأداء: يجب أن يحقّق تطبيقك مقاييس الأداء، مثل عدد اللقطات المستهدَف في الثانية، وذلك لتجنُّب التأخير وضمان تجربة سلسة ومريحة.
- التفاعل: تحدّد الإرشادات الحد الأدنى الموصى به لأحجام العناصر التفاعلية (مثل 48 بكسل مستقل الكثافة كحد أدنى، و56 بكسل مستقل الكثافة كحجم موصى به) لتعمل بشكل جيد مع مدخلات تتبُّع العين وتتبُّع اليد.
2. ضبط ملف بيان التطبيق بشكل صحيح
يصف ملف AndroidManifest.xml معلومات مهمة عن تطبيقك. وتستخدم أدوات إنشاء Android ونظام Android وGoogle Play هذه المعلومات لمعرفة نوع التجربة التي أنشأتها وميزات الأجهزة التي تتطلّبها. يُعدّ الضبط الصحيح أمرًا ضروريًا لاستهداف الأجهزة وإطلاق التطبيق بشكلٍ سليم.
تحديد حزمة تطوير البرامج (SDK) لمنصة Android XR التي يستخدمها تطبيقك
في ملف بيان تطبيقك، أدرِج android.software.xr.api.spatial أو android.software.xr.api.openxr للإشارة إلى ما إذا كنت تستخدم حزمة تطوير البرامج (SDK) لـ Jetpack XR أو OpenXR أو Unity.
| حزمة تطوير البرامج (SDK) المستخدَمة | بيان ملف البيان |
| حزمة تطوير البرامج (SDK) الخاصة بـ Jetpack XR | android.software.xr.api.spatial |
| OpenXR أو Unity | android.software.xr.api.openxr |
إذا كان تطبيقك مصمَّمًا باستخدام OpenXR أو Unity، يجب ضبط السمة android:required على true. بالنسبة إلى التطبيقات التي تم إنشاؤها باستخدام حزمة تطوير البرامج (SDK) لمنصة Jetpack XR، اضبط السمة android:required على true إذا كان تطبيقك منشورًا في قناة الإصدار المحدود المخصّصة لمنصة Android XR، واضبط السمة android:required على false إذا كان تطبيقك منشورًا في قناة الإصدار المحدود للأجهزة الجوّالة.
ضبط وضع بدء النشاط
استخدِم السمة android.window.PROPERTY_XR_ACTIVITY_START_MODE في نشاطك الرئيسي لتحديد بيئة المستخدم التلقائية:
| وضع البدء | Purpose | SDK |
XR_ACTIVITY_START_MODE_HOME_SPACE | يتم تشغيل تطبيقك في "المساحة المشتركة"، وهي بيئة مشترَكة لتنفيذ مهام متعددة. | Jetpack XR SDK |
XR_ACTIVITY_START_MODE_FULL_SPACE_MANAGED | يتم تشغيلها في Full Space، وهي بيئة تطبيق واحد تتيح تجربة غامرة وكاملة. | Jetpack XR SDK |
XR_ACTIVITY_START_MODE_FULL_SPACE_UNMANAGED | يتم تشغيلها في المساحة الكاملة، وهي بيئة تطبيق واحد مجسَّمة بالكامل. يُرجى العلم أنّ التطبيقات التي تم إنشاؤها باستخدام OpenXR أو Unity تعمل دائمًا في "المساحة الكاملة". | OpenXR أو Unity |
التحقّق من ميزات الأجهزة الاختيارية في وقت التشغيل
تجنَّب ضبط ميزات الواقع الممتد الاختيارية (مثل تتبُّع اليد أو وحدات التحكّم) على android:required="true" ما لم تكن مطلوبة حقًا لتطبيقك. وإذا كان الجهاز لا يتوافق مع إحدى الميزات المطلوبة، سيخفي Google Play تطبيقك عن هذا الجهاز. إذا كانت لديك ميزات تم ضبطها على أنّها مطلوبة ولكن يمكن أن يعمل تطبيقك بدونها، قد تحدّ من جمهورك بلا داعٍ.
بدلاً من ذلك، تحقَّق من الميزات المتقدّمة بشكل ديناميكي في وقت التشغيل باستخدام الفئة PackageManager مع hasSystemFeature():
Kotlin val hasHandTracking = packageManager.hasSystemFeature("android.hardware.xr.input.hand_tracking") if (hasHandTracking) { // Enable high-fidelity hand tracking features } else { // Provide a fallback experience }
يضمن ذلك توافق تطبيقك على نطاق واسع والاستفادة من الميزات المتقدّمة عند توفّرها.
3- استخدام ميزة "عرض المواد في Play" (PAD) لعرض مواد عرض كبيرة
غالبًا ما تحتوي التطبيقات والألعاب الغامرة على مواد عرض كبيرة قد تتجاوز حدود الحجم العادية. استخدِم عرض المواد في Play (PAD) لإدارة مواد العرض الكبيرة وعالية الدقة. توفّر ميزة "العرض أثناء التنزيل" طرق عرض مرنة: وقت التثبيت والعرض الانسيابي السريع وعند الطلب لتنزيل المحتوى بشكل تدريجي. يُسمح للتطبيقات المصمَّمة لنظام التشغيل Android XR بتقديم حِزم مواد عرض إضافية، فبدلاً من إجمالي تراكمي يبلغ 4 غيغابايت لحِزم مواد العرض التي يتم عرضها عند الطلب أو تنزيلها فور اكتمال التثبيت، يمكن لهذه التطبيقات الاستفادة من إجمالي تراكمي أعلى يبلغ 30 غيغابايت.
بالنسبة إلى المطوّرين الذين يستخدمون Unity، استخدِم Unity Addressables مع ميزة "عرض المواد في Play" لإدارة حِزم مواد العرض.
4. عرض معاينات الفيديو المكاني لتطبيقك
لجذب انتباه المستخدمين الذين يتصفّحون "متجر Play" على سمّاعات الرأس بنظام الواقع الممتد، يمكنك تقديم معاينة غامرة لتطبيقك باستخدام مادة عرض فيديو مكاني. يجب أن يكون الفيديو بزاوية 180 درجة أو 360 درجة أو مجسّمًا. على أجهزة Android XR، سيعرض "متجر Play" تلقائيًا هذه المعاينة كمعاينة ثلاثية الأبعاد غامرة، ما يتيح للمستخدمين تجربة عمق محتواك وحجمه قبل تثبيت التطبيق.
5. اختيار قناة الإصدار المحدود على Google Play
يوفّر Google Play مسارين لنشر تطبيق Android XR، وكلاهما يستخدم حساب Play Console نفسه:
الخيار (أ): مواصلة استخدام قناة الإصدار المحدود على الأجهزة الجوّالة (للتطبيقات المتوافقة مع الأجهزة الجوّالة التي تستخدم الصوت المكاني)
إذا كنت تضيف ميزات الواقع الممتد المكانية إلى تطبيق حالي على الأجهزة الجوّالة، يمكنك غالبًا تجميع ميزات أو محتوى الواقع الممتد في مجموعة حزمات تطبيق Android (AAB) الحالية.
تُعدّ هذه الطريقة مثالية إذا كان تطبيقك يحتفظ بمعظم الوظيفة الأساسية على كل من الأجهزة الجوّالة وأجهزة XR، ويمكنك مواصلة نشر تنسيق AAB نفسه في قناة الإصدار المحدود للأجهزة الجوّالة. راجِع هذه الإرشادات للتأكّد من أنّك تضبط ملف بيان تطبيقك بشكلٍ سليم لإتاحة حالة الاستخدام هذه.
الخيار (ب): النشر في قناة الإصدار المحدود المخصّصة لنظام Android XR
إذا كنت بصدد إنشاء تطبيق جديد تمامًا لأجهزة الواقع الممتد أو إذا كان إصدار الواقع الممتد مختلفًا من الناحية الوظيفية بشكل كبير عن إصدار الأجهزة الأخرى بحيث لا يمكن تضمينه في تنسيق AAB واحد، عليك النشر في قناة الإصدار المحدود المخصّصة لأجهزة Android XR.
لا تظهر التطبيقات المنشورة في قناة الإصدار المحدود المخصّصة لتطبيقات Android XR إلا على أجهزة Android XR التي تتوافق مع ميزة android.software.xr.api.spatial أو ميزة android.software.xr.api.openxr، ما يتيح لك التحكّم في عملية التوزيع.
باتّباع هذه الإرشادات، يمكنك المساعدة في ضمان توفير تطبيقات Android XR المبتكرة لتجربة مستخدم عالية الجودة، وتعبئتها بكفاءة، وتقديمها بسلاسة باستخدام ميزة "التسليم حسب الطلب"، واستهداف الأجهزة التي يمكنها تشغيلها. نتمنّى لك تجربة نشر ناجحة.
-
طرق التنفيذمرحبًا بك مجددًا في سلسلة منشورات المدونة "إنشاء تطبيقات Android ذكية"، حيث نأخذ تطبيق Android أساسيًا ونحوّله إلى تجربة مخصّصة وذكية واستباقية. في مشاركتنا السابقة، قدّمنا Jetpacker، وهو تطبيق تجريبي سنستخدمه في هذه السلسلة.
Caren Chang • يستغرق الاطّلاع على المقال 6 دقائق -
طرق التنفيذمرحبًا بك مجددًا في سلسلة منشورات المدونة "إنشاء تطبيقات Android ذكية"، حيث نأخذ تطبيق Android أساسيًا ونحوّله إلى تجربة مخصّصة وذكية واستباقية.
Thomas Ezan, Jolanda Verhoef, Caren Chang • يستغرق الاطّلاع على المقال 8 دقائق -
طرق التنفيذJetpacker هو تطبيق استعراضي تقني أنشأه فريقنا من البداية خصيصًا لمؤتمر Google I/O لهذا العام (تم إنشاؤه باستخدام Antigravity). يساعد Jetpacker المستخدمين في التخطيط لمغامرتهم الكبيرة التالية واستكشافها والاستمتاع بها.
Jolanda Verhoef • مدّة القراءة: 4 دقائق
يمكنك تلقّي أحدث الإحصاءات حول تطوير تطبيقات Android في بريدك الوارد أسبوعيًا.