בניית דפדפנים ל-Android Automotive OS

הקטגוריה 'דפדפנים' נמצאת בגרסת בטא
בשלב הזה, כל אחד יכול לפרסם דפדפנים במסלולים לבדיקה פנימית בחנות Play. בשלב מאוחר יותר תהיה אפשרות לפרסם במסלולים לבדיקה בקבוצה מוגדרת, לבדיקה פתוחה לציבור ולסביבת הייצור.

בנוסף לדרישות שמתוארות במאמרים פיתוח אפליקציות בזמן חניה לרכב והוספת תמיכה ב-Android Automotive OS לאפליקציה בזמן חניה, יש כמה דרישות נוספות שספציפיות לדפדפנים ומפורטות בדף הזה.

סימון האפליקציה כדפדפן

כדי לציין שהאפליקציה היא דפדפן, היא צריכה לכלול מסנן Intent כמו זה שמופיע בהמשך בתוך רכיב <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 OS הם לרוב מכשירים משותפים. כדי לאפשר למשתמשים להגן על מידע אישי רגיש כמו סיסמאות ופרטי תשלום, אסור לדפדפנים שנוצרו עבור Android Automotive OS לשמור סיסמאות או פרטי תשלום או לאפשר גישה אליהם, אלא אם המשתמש יכול לחסום את הגישה לסיסמאות באמצעות נעילת פרופיל. אפשר לבצע אימות באמצעות פרטי הכניסה למכשיר או באמצעות בניית מערכת אימות בתוך האפליקציה.

בנוסף, לפני סנכרון של מידע אישי רגיש, דפדפנים שנוצרו עבור Android Automotive OS צריכים לבקש מהמשתמש לאמת את הזהות שלו ולספק הודעות כדי שהמשתמש יידע שהנתונים שלו מסונכרנים עם הרכב. אם למשתמש לא מוגדרת שיטת אימות, אפשר להציג לו בקשה להגדיר שיטת אימות כשהוא מנסה לסנכרן מידע אישי רגיש, באמצעות אישורי המכשיר או שיטה ספציפית לאפליקציה שלכם.

שימוש באמצעי לאימות במכשיר לצורך אימות

בקטע הזה מוסבר איך להשתמש בפרטי הכניסה למכשיר ובממשקי ה-API לאימות המערכת כדי לעמוד בדרישות בנוגע לנתונים רגישים שפורטו למעלה.

בדיקה אם יש אישורים להזדהות המכשיר

כדי לקבוע אם המשתמש אבטח את המכשיר שלו באמצעות קוד אימות, קו ביטול נעילה או סיסמה, אפשר להשתמש בשיטה KeyguardManager::isDeviceSecure.

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

פתיחת ההגדרות של מסך הנעילה

כדי לצמצם את החיכוך עם המשתמשים במקרה שהם צריכים להגדיר אמצעי זיהוי במכשיר, אפשר לפתוח את מסך האבטחה באפליקציית ההגדרות באמצעות פעולת intent‏ Settings.ACTION_SECURITY_SETTINGS.

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

הצגת בקשה למשתמש לאימות

כדי להציג למשתמש בקשה לאימות, אפשר להשתמש ב-API‏ BiometricPrompt כפי שמתואר במאמר הצגת תיבת דו-שיח לאימות ביומטרי.