ساختن مرورگر برای «سیستم‌عامل Android Automotive»

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

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

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

برای نشان دادن اینکه برنامه‌تان مرورگر است، باید فیلتر قصدی مثل فیلتر زیر در عنصر <activity> صادرشده داشته باشد:

<activity ...
    android:exported="true">
  ...
  <intent-filter>
    <action android:name="android.intent.action.MAIN"/>
   ...
    <category android:name="android.intent.category.APP_BROWSER"/>
  </intent-filter>
</activity>

برای اطلاعات بیشتر، به android.intent.category.APP_BROWSER مراجعه کنید.

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

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

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

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

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

بررسی کنید که آیا اعتبارنامه دستگاه تنظیم شده است یا نه

برای تعیین اینکه آیا کاربر دستگاه خود را با پین، الگو، یا گذرواژه ایمن کرده است یا نه، می‌توانید از روش KeyguardManager::isDeviceSecure استفاده کنید.

val keyguardManager = context.getSystemService<KeyguardManager>()
val isDeviceSecure = keyguardManager?.isDeviceSecure == true

باز کردن تنظیمات صفحه قفل

برای کاهش اصطکاک کاربر در مواردی که نیاز به تنظیم اطلاعات کاربری دستگاه دارد، می‌توانید صفحه «امنیت» را در برنامه «تنظیمات» بااستفاده از کنش هدف Settings.ACTION_SECURITY_SETTINGS باز کنید.

context.startActivity(
    Intent(Settings.ACTION_SECURITY_SETTINGS)
        .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
)

از کاربر خواسته می‌شود اصالت‌سنجی کند

برای درخواست از کاربر برای اصالت‌سنجی، می‌توانید از BiometricPrompt API همان‌طور که در نمایش کادر گفتگوی اصالت‌سنجی زیست‌سنجشی شرح داده شده است استفاده کنید.