ساختن مرورگر برای «سیستم‌عامل 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 OS قبل‌از همگام‌سازی داده‌های حساس باید از کاربر بخواهند اصالت‌سنجی کند و پیام‌هایی ارائه دهند تا کاربر بداند داده‌هایش درحال همگام‌سازی با خودرو است. اگر کاربر روش اصالت‌سنجی راه‌اندازی نکرده باشد، می‌توانید وقتی کاربر سعی می‌کند داده‌های حساس را همگام‌سازی کند، از او بخواهید روشی را بااستفاده از اطلاعات اعتباری دستگاه یا روشی مختص برنامه شما راه‌اندازی کند.

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

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

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

برای تعیین اینکه کاربر دستگاهش را با پین، الگو، یا گذرواژه ایمن کرده است یا نه، می‌توانید از روش 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 همان‌طور که در نمایش کادر گفتگوی اصالت‌سنجی زیست‌سنجشی توضیح داده شده است استفاده کنید.