‫Android XR: دستورالعمل‌ها و خط‌مشی‌های کیفیت برنامه برای تجربه‌های افزوده

دستگاه‌های XR واجدشرایط
این راهنمایی به شما کمک می‌کند برای این نوع دستگاه‌های واقعیت گسترده تجربه بسازید.
عینک
نمایشگردار و صوتی

رهنمودهای کیفیت برنامه برای افزاردید هوشمند، استانداردهای تلفن همراه کیفیت برنامه اصلی را گسترش می‌دهد.

این خط‌مشی‌ها و دستورالعمل‌های کیفیت برنامه بر تعامل‌های چندحالتی مهمی تمرکز دارند که مختص پلاتفرم Android XR در افزاردید هوشمند هستند، همان‌طور که در تعاریف سطح سازگاری، بازبینه‌ها، و خط‌مشی‌های تجربه‌های فقط صوتی شرح داده شده است. این بخش‌ها را مرور کنید تا مطمئن شوید برنامه‌تان تجربه کاربری عالی در عینک‌های صوتی و نمایشگردار ارائه می‌دهد.

تجربه‌های افزوده: تعاریف ردیف سازگاری برنامه تلفن همراه

تعاریف رده سازگاری زیر را مرور کنید تا سطح پشتیبانی‌ای را که برنامه‌تان برای تجربه‌های افزوده در عینک ارائه می‌دهد درک کنید.

سازگار

برنامه تلفن همراه سازگار، تجربه افزوده‌ای را در عینک ارائه می‌دهد، بدون اینکه توسعه‌دهنده نیاز به تلاش اضافی داشته باشد. این نشان‌دهنده یک برنامه تلفن همراه Android موجود است ازجمله اتصال بلوتوث که برای عینک اصلاح نشده است. پلاتفرم Android XR به‌طور خودکار از این نوع برنامه پشتیبانی می‌کند، مشروط بر اینکه به ویژگی‌های سخت‌افزاری پشتیبانی‌نشده متکی نباشد.

برای دستیابی به این قابلیت، این پلاتفرم به‌طور یکپارچه سطوح سیستم استاندارد Android را به عینک گسترش می‌دهد. برای مثال، اعلان‌ها به‌طور خودکار در خط دید کاربر ظاهر می‌شوند یا با صدای بلند خوانده می‌شوند (برای عینک‌های صوتی)، تا کاربر بتواند کارهای مهم و سریع را بدون نیاز به بیرون آوردن تلفن خود انجام دهد.

متمایز

تجربه افزوده متمایز به‌طور خاص برای عینک طراحی شده است، و از قابلیت‌های کامل Jetpack XR SDK و سخت‌افزار منحصربه‌فرد این فرم فاکتور بهره می‌برد.

برای ساختن این تجربه‌های افزوده تحول‌آفرین، از کتابخانه‌های زیر استفاده کنید:

  • Jetpack Compose Glimmer: یک Compose UI Toolkit برای ایجاد میاناهای کمینه و خوانا که برای نمایشگرهای شفاف نوری بهینه‌سازی شده است.
  • Jetpack Projected: منابع را مدیریت کنید و عملکرد را به‌طور یکپارچه بین تلفن همپا (میزبان) و عینک (دستگاه نمایش‌دهنده) پل بزنید.
  • ARCore برای Jetpack XR: به قابلیت‌های درک پیشرفته مانند «ردیابی دستگاه» و Geospatial API دسترسی پیدا کنید که بومی‌سازی و ویژگی‌های متناسب با بافتار مانند ناوبری پیاده‌روی را ممکن می‌سازد.

تجربه‌های افزوده: بازبینه کیفیت برنامه تلفن همراه

برای اطمینان از اینکه برنامه‌تان تجربه کاربری عالی برای تجربه‌های افزوده ارائه می‌دهد، بازبینه‌ها و آزمایش‌های سازگاری زیر را مرور کنید.

این بازبینه‌ها و آزمایش‌ها مجموعه جامعی از الزامات کیفیت را برای اکثر انواع برنامه‌های Android تعریف می‌کنند.

سازگار

برنامه‌های سازگار برنامه‌های تلفن همراه Android موجود هستند که با بهره‌گیری از سطوح استاندارد Android (برای مثال، اعلان‌های استاندارد و «به‌روزرسانی زنده») به‌طور خودکار در عینک کار می‌کنند. برای این سطح سازگاری، به کد مخصوص عینک نیازی نیست.

برنامه شما باید الزامات اصلی زیر را برآورده کند:

  • اعلان‌ها: مطمئن شوید که همه اعلان‌های کنش‌پذیر و حساس به زمان از میاناهای برنامه‌سازی کاربردی استاندارد Android NotificationManager استفاده می‌کنند تا پلاتفرم بتواند آن‌ها را به‌درستی به خوانش‌های صوتی (دستگاه‌های صوتی) یا هم‌پوشانی‌های دیداری مینیمالیستی (دستگاه‌های نمایشگر) تبدیل کند.
  • به‌روزرسانی‌های زنده: اگر برنامه فعالیت جاری (مانند تکالیف مربوط به پیشرفت) داشته باشد، باید از چارچوب استاندارد اعلان‌های «به‌روزرسانی زنده» استفاده کند تا پلاتفرم بتواند این اطلاعات را به‌صورت سریع و بدون دخالت دست نمایش دهد.
  • Google Play: برنامه باید از همه خط‌مشی‌های Google Play و Android مربوطه پیروی کند. سازگاری به‌طور خودکار براساس اعلامیه‌های مانیفست و الزامات ویژگی تعیین می‌شود.

متمایز

برنامه‌های متمایز به‌طور خاص بااستفاده از Jetpack XR SDK (با کتابخانه‌هایی مانند Jetpack Compose Glimmer،‏ Jetpack Projected، و ARCore برای Jetpack XR) ساخته شده‌اند تا تجربه کاربری بسیار بهینه‌شده و آگاه از محیط ارائه دهند یا از قابلیت‌های افزوده منحصربه‌فرد استفاده کنند. الزامات مناسب برای برنامه‌تان را ببینید.

دسته مساحت راهنما

عملکرد اصلی

شروع کردن فعالیت عینک تجربه‌ها باید مستقیماً از برنامه تلفن همراه قابل‌راه‌اندازی و کنترل باشند، به‌ویژه برای راه‌اندازی اولیه یا پیمایش اطلاعات انبوه قبل‌از انتقال به عینک نمایشگردار و صوتی که قابلیت‌های تجربه کاربری محدودتری دارد.
فرمان «باز کردن برنامه» تجربه‌ها باید با وضعیت راه‌اندازی صفر در عینک‌های مجهز به Gemini پیکربندی شوند تا وقتی کاربر با فرمان «باز کردن [برنامه]» پیام‌واره‌ای می‌دهد، برنامه منوهای سنتی را دور بزند و فوراً به تجربه صوتی آماده برای اقدام، مانند حالت پس‌زمینه فقط صوتی، وضعیت گوش دادن زنده، یا نشانه صوتی فوری، منتقل شود.
راه‌اندازی دوربین دسترسی به دوربین را می‌توان ازطریق نقطه ورودی یا فعالیت تلفن همراه، یا ازطریق ورودی مستقیم بااستفاده از اشاره کنش دوربین در دستگاه آغاز کرد. اگر دسترسی به دوربین از سطح تلفن همراه آغاز شود، کاربر باید قبل‌از شروع جاری‌سازی دوربین، شمارش معکوس را بشنود.
وضوح و ثبات (اشاره‌ها) اشاره‌ها (مانند صدا، تک‌ضرب، یا تند کشیدن) باید به‌صورت واضح و هماهنگ پیاده‌سازی شوند و با انتظارات کاربر برای تعاملات رایج مطابقت داشته باشند. خط‌مشی‌های اشاره‌های اصلی در بخش‌های مربوطه بعدی شرح داده شده است.

عملکرد و پایداری

باتری فرایندهای پس‌زمینه‌ای را طبق محدودیت‌های تکلیف پس‌زمینه‌ای Android بهینه‌سازی کنید و استفاده از حسگرهای پرمصرف (مثل فید دوربین) را در مواقعی که فعالانه استفاده نمی‌شوند به حداقل برسانید.
نرخ فریم و وضوح دوربین دسترسی به فید دوربین باید به‌گونه‌ای پیکربندی شود که از کارآمدترین پیکربندی (پایین‌ترین نرخ فریم و وضوح) برای مورد استفاده مدنظر استفاده کند. برای اطلاعات بیشتر درباره پیکربندی‌های توصیه‌شده برای هر مورد استفاده، به راهنمای توسعه‌دهنده مراجعه کنید.
ایمنی ایمنی تجربه‌ها باید براساس کنش‌های آغازشده توسط کاربر طراحی شوند و به‌طور جدی حواس‌پرتی کاربر را از محیط اطرافش، به‌ویژه درطول حرکت یا در فضاهای عمومی، به حداقل برسانند.
حریم خصوصی و امنیت اجازه‌ها برنامه باید بااستفاده از میانای برنامه‌سازی کاربردی اجازه‌های درخواست پیش‌بینی‌شده و مدیریت تغییرمسیر به دستگاه میزبان برای کسب رضایت کاربر، اجازه‌های مختص عینک را برای دسترسی به سخت‌افزار (مثل دوربین یا میکروفون) درخواست کند.

خط‌مشی عمومی

دسترس‌پذیری کاربران با نیازهای مختلف را درنظر بگیرید و مطمئن شوید روش‌های ورودی جایگزین (مثلاً استفاده از فرمان‌های گفتاری به‌عنوان جایگزین اشاره‌های صفحه لمسی) درصورت لزوم دردسترس باشند.
آزمایش بااستفاده از شبیه‌ساز Android XR و پیش‌نمایش‌های قابل‌ترکیب، همه پیاده‌سازی‌های اشاره‌ای و دیداری را در سناریوهای مختلف کاربر، نورپردازی، و شرایط محیطی شلوغ به‌طور کامل آزمایش کنید.
Google Play خط‌مشی‌ها از همه خط‌مشی‌های Google Play پیروی کنید، ازجمله خط‌مشی‌های ویژه عینک که در بخش‌های بعدی شرح داده شده است و به محافظت از حریم خصوصی و رفاه کاربر کمک می‌کند.

تجربه صوتی

هشدارهای صوتی

هشدارهای صوتی باید مختصر باشند و فقط مرتبط‌ترین اطلاعات قابل‌اجرا را ارائه دهند. هشدارهای صوتی برای شرایط خطا باید بدون توجه به اتصال اینترنت کار کنند.

پیگیری‌ها و مکالمه‌های عمیق‌تر باید صریحاً بااستفاده از عامل درون‌برنامه یا Gemini انتظار برود.

فوکوس صدا تمرکز صوتی ارتباط نزدیکی با تمرکز ورودی دارد. برنامه‌ها باید به‌طور مناسب و مطابق با دستورالعمل‌های Android، تمرکز صوتی را درخواست کنند و از آن صرف‌نظر کنند.
خط‌مشی‌های صوتی اشاره‌ها و رفتارهای LED باید با همه خط‌مشی‌های تجربه‌های فقط صوتی مطابقت داشته باشد.

خط‌مشی‌های مربوط به تجربه‌های فقط صوتی

همه برنامه‌ها باید با الزامات خط‌مشی‌های زیر مطابقت داشته باشند تا تجربه‌های فقط صوتی ایمن و محترمانه‌ای را در افزاردید هوشمند ترویج کنند.

ایمنی برنامه

یادآوری می‌کنیم که همه برنامه‌های توزیع‌شده ازطریق Google Play باید از همه خط‌مشی‌های توسعه‌دهندگان Google Play تبعیت کنند.

فعالیت‌های زیر اکیداً ممنوع است و برنامه‌ها نباید این فعالیت‌ها را تسهیل یا ترویج کنند:

  • پخش اطلاعات شخصی
  • تشخیص چهره یا شناسایی زیست‌سنجشی
  • نظارت
  • ایجاد یا انتشار «تصاویر خصوصی غیرتوافقی» (NCII)

محافظت‌های زیر از ناظران برای همه برنامه‌ها الزامی است:

ایمنی دوربین

برنامه‌هایی که به حسگرهای دوربین پوشیدنی دسترسی دارند باید به حریم خصوصی اطرافیان احترام بگذارند و باید از موارد زیر پیروی کنند:

محدودیت ویدیو و عکس

تعامل‌های مجاز

شرح

تماس‌های ویدیویی

برنامه‌ها مجازند از حسگرهای دوربین پوشیدنی برای تماس تصویری استفاده کنند.

درک صحنه و حسگر محیطی

برنامه‌ها مجازند از حسگرهای دوربین پوشیدنی برای حسگر دوربین محیطی یا درک صحنه استفاده کنند.

تعامل‌های ممنوع

شرح

جاری‌سازی زنده اجتماعی و همه‌فرستی عمومی ویدیو

برنامه‌ها نباید از حسگرهای دوربین پوشیدنی برای «جاری‌سازی زنده اجتماعی ویدیویی» استفاده کنند که شامل هرگونه جاری‌سازی زنده هم‌زمان یک‌به‌چند، پخش عمومی، یا ارسال محتوا به فیدهای عمومی و کانال‌های باز می‌شود.

شناسایی چهره در زمان واقعی و پخش اطلاعات شخصی

برنامه‌ها نباید از حسگرهای دوربین برای اجرای تشخیص چهره استفاده کنند تا «اطلاعات شناساننده شخصی» (PII) افراد حاضر در صحنه را نمایش دهند. برای مثال: نام، نشانی خانه، شماره تلفن، یا کارفرما.

تصاویر خصوصی غیرتوافقی (NCII) یا تولید محتوای غیرقانونی

برنامه‌ها نباید از حسگرهای دوربین برای تسهیل ایجاد تصاویر خصوصی غیرتوافقی (NCII) یا هرگونه تولید محتوای غیرقانونی (برای مثال، «محتوای کودک‌آزاری جنسی») استفاده کنند.

ایمنی صوتی

برنامه‌هایی که از آرایه میکروفون استفاده می‌کنند باید به حریم خصوصی اطرافیان احترام بگذارند و باید از موارد زیر پیروی کنند:

تعامل‌های ممنوع

شرح

استراق سمع مداوم

برنامه‌ها نباید ضبط یا ترانویسی صوتی مداوم در پس‌زمینه داشته باشند، مگر اینکه کاربر به‌طور فعال با برنامه درگیر باشد و وظیفه‌ای را شروع کرده باشد.

شناسایی گفتار

برنامه‌ها نباید از آرایه میکروفون برای شناسایی صدای افراد غیرکاربر یا اطرافیان استفاده کنند.

سرکوب یا اصلاح برنامه‌ای

برنامه‌ها نباید کاهنده‌های نویز صوتی اعمال‌شده توسط سیستم را تغییر دهند یا غیرفعال کنند. همچنین برنامه‌ها نباید کاربران را به تغییر یا غیرفعال کردن حذف‌کننده‌های نویز صدا تشویق یا هدایت کنند.

اشاره‌ها و ورودی

این خط‌مشی‌ها الزامات پیاده‌سازی رویدادهای اشاره‌ای در عینک را درطول تجربه‌های فقط صوتی شرح می‌دهند. این رهنمودها را رعایت کنید تا تجربه کاربری یکپارچه و شهودی در برنامه‌های مختلف و دستگاه‌های Android XR ارائه دهید. اگر برنامه شما تمرکز صوتی داشته باشد، انتظار می‌رود همه ورودی‌ها بدون توجه به وضعیت پیش‌زمینه آن کار کنند.

۱. اشاره تک‌ضرب زدن

اشاره تک‌ضرب لمس سریع و تکی روی ناحیه ورودی صفحه لمسی است. تک‌ضرب زدن روشی است که کاربر با آن در عینک اقدام می‌کند. این کار می‌تواند بازپخش صدا را آغاز کند، مثلاً برای ارائه اطلاعات براساس وضعیت کاربر یا تکرار آخرین پیام شنیداری. اگر صدا درحال پخش باشد، تک‌ضرب زدن می‌تواند خروجی صدا را موقتاً متوقف یا متوقف کند.

مثال‌ها
تعامل‌های مجاز شرح

پخش پیام‌واره مربوط

اطلاعات مربوطه را به کاربر ارائه دهید، ازجمله:

  • درحال درخواست اجازه‌های کاربر.
  • اطلاعات براساس وضعیت فعلی کاربر. برای مثال، گفتن «در سمت راست شما پل گلدن گیت قرار دارد».
  • تکرار آخرین پیام شنیداری که به کاربر ارائه شده است.

ضربه زدن درحین بازپخش صدا، صدا را متوقف می‌کند.

بی‌صدا یا صدادار کردن میکروفون

به کاربران اجازه دهید در تجربه‌ای که ورودی میکروفون را می‌گیرد، با اشاره تک‌ضرب میکروفون خود را بی‌صدا یا باصدا کنند.

وقتی میکروفون بی‌صدا یا باصدا می‌شود، باید بازخورد صوتی ارائه شود.

تعامل‌های ممنوع شرح

اطلاعات یا آگهی‌های نامربوط

از اشاره تک‌ضرب برای ارائه آگهی یا ارائه اطلاعاتی که به وضعیت فیزیکی یا زمینه فعلی کاربر مربوط نیست استفاده نکنید.

ورودی‌های بازی و کنش‌های مداوم سریع

اشاره تک‌ضرب برای کنش‌های سریع و تک‌لمسی طراحی شده است. نباید از آن به‌عنوان کنترل‌کننده مداوم برای بازی‌های تعاملی یا کارهای ورودی با فرکانس بالا که کنترل‌های استاندارد سیستم را مختل می‌کنند استفاده شود.

امکان‌پذیر کردن جرم، خشونت، یا خودآزاری

اشاره ضربه‌ای هرگز نباید دستورالعمل‌های قابل‌اجرایی را راه‌اندازی کند که اعمال غیرقانونی یا مضر را تسهیل می‌کنند، مانند شناسایی افراطی، ساخت سلاح، یا خودآزاری.

۲. اشاره کنشی دوربین

اشاره کنش دوربین شامل دو بار فشار دادن دکمه دوربین به‌صورت سریع و پشت‌سرهم است. برنامه‌هایی که به دوربین دسترسی دارند باید این رویداد را به‌عنوان کنش دوربین درنظر بگیرند که داده‌های حسگر را مستقیماً به برنامه ارائه می‌دهد.

مثال‌ها
تعامل‌های مجاز شرح

فعال کردن دوربین برای برنامه

جاری‌سازی دوربین را در برنامه شروع کنید. این شامل فعال کردن جاری‌سازی دوربین برای گرفتن عکس، ویدیو، یا اجازه دادن به پردازش محیطی دوربین بااستفاده از فید دوربین می‌شود.

استفاده از جاری‌سازی دوربین باید با همه خط‌مشی‌های Android مربوط به ضبط دوربین و میکروفون و خط‌مشی داده‌های کاربر در مرکز خط‌مشی توسعه‌دهندگان Play مطابقت داشته باشد. علاوه‌براین، خط‌مشی قلدری و آزار برنامه‌هایی را که اطلاعات شخصی دیگران را به‌طور عمومی منتشر می‌کنند یا از آن‌ها سوءاستفاده می‌کنند مجاز نمی‌داند.

تعامل‌های ممنوع شرح

ورودی‌های سفارشی و بازنگاشت

اشاره دو بار فشار دادن دوربین باید منحصراً برای فعال کردن جاری‌سازی دوربین و ارائه مستقیم داده‌های حسگر به برنامه استفاده شود. نباید این اشاره سخت‌افزاری را به عملکردهای غیردوربین، میان‌برهای سفارشی، یا تجربه‌های برنامه جایگزین نگاشت کنید.

استفاده از حسگر جداشده یا ساختگی

برنامه‌هایی که اشاره دو بار فشار دادن دکمه دوربین را رهگیری می‌کنند باید آن را به‌عنوان درخواست واقعی برای داده‌های حسگر دیداری درنظر بگیرند. نمی‌توانید رویداد دوبار فشار دادن را برای ربودن دکمه سخت‌افزاری ثبت کنید و درعین‌حال فید دوربین را عمداً نادیده بگیرید، حذف کنید، یا سرکوب کنید.

عدم شفاف‌سازی یا استفاده فریبکارانه

وقتی از اشاره دو بار فشار دادن دوربین برای فعال کردن دوربین استفاده می‌شود، باید در جریان برنامه تلفن همراه درطول اعطای اولیه اجازه یا راه‌اندازی برنامه، به‌طور صریح به کاربر آموزش دهید که دقیقاً کاربرد دوربین چیست. برای مثال، برخی‌از موارد استفاده معتبر ممکن است جاری‌سازی زنده، عکس گرفتن، یا پردازش هوش مصنوعی باشد. جاری‌سازی دوربین هرگز نباید برای عملکردی استفاده شود که کاربر صریحاً با آن موافقت نکرده است.

۳. اشاره تند کشیدن به عقب با یک انگشت

اشاره تند کشیدن به عقب با یک انگشت شامل حرکت مداوم به عقب در سراسر ناحیه ورودی صفحه لمسی است. سیستم از این اشاره حتی درطول تجربه‌های فقط صوتی با فراخوانی onBack() پشتیبانی می‌کند. برنامه شما باید این رویداد را با خروج از تجربه فعلی یا بازگرداندن کاربر به وضعیت قبلی برنامه مدیریت کند.

تعامل‌های ممنوع شرح

ربودن فرمان خروج

اشاره تند کشیدن به عقب باید همیشه onBack() را فراخوانی کند تا از تجربه خارج شود یا کاربر را به وضعیت قبلی برنامه برگرداند. هرگز نباید به کنش‌های سفارشی، راه‌اندازی رسانه‌های جدید، یا آگهی‌ها نگاشت شود.

خروج‌های جعلی (شنود مخفیانه)

وقتی این اشاره فراخوانده می‌شود، برنامه‌ها باید واقعاً از استفاده از حسگر اصلی خود خارج شوند یا آن را تعلیق کنند. خروج را شبیه‌سازی نکنید درحالی‌که مخفیانه حسگرهای فعال را در پس‌زمینه برای نظارت حفظ می‌کنید.

رفتارهای LED

برنامه شما نباید رفتار سیستم LED را براساس دسترسی به میکروفون و دوربین تغییر دهد.

تعامل‌های ممنوع شرح

سرکوب یا اصلاح برنامه‌ای

برنامه‌ها نباید رفتار LED سمت کاربر و LED سمت جهان را که توسط سیستم اعمال می‌شود براساس دسترسی به میکروفون و دوربین تغییر دهند، کم‌نور کنند، یا غیرفعال کنند. همچنین برنامه‌ها نباید کاربران را به تغییر، کم‌نور کردن، یا غیرفعال کردن رفتار LEDها تشویق یا هدایت کنند.

دور زدن تشخیص دست‌کاری و ممانعت

برنامه‌ها نباید الگوریتم‌های تشخیص ممانعت دستگاه را دور بزنند یا در آن‌ها تداخل ایجاد کنند، یا کاربران را به انجام این کار تشویق یا هدایت کنند. این الگوریتم‌ها برای توقف برنامه‌ریزی‌شده ضبط درصورت پوشانده شدن یا آسیب دیدن فیزیکی LED رو به جهان طراحی شده‌اند.