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

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

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

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

כדי לציין שהאפליקציה היא דפדפן, צריך לכלול בה מסנן Intent כמו זה שמופיע בהמשך בתוך רכיב <activity> מיוצא:

<activity ...
    android:exported="true">
  ...
  <intent-filter>
    <action android:name="android.intent.action.VIEW"/>
    <category android:name="android.intent.category.DEFAULT"/>
    <category android:name="android.intent.category.BROWSABLE"/>
    <data android:scheme="http"/>
  </intent-filter>
</activity>

המשתמשים יכולים לחסום גישה לנתונים רגישים

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

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

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

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

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

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

Kotlin

val keyguardManager = context.getSystemService(KeyguardManager::class.java)
val isDeviceSecure = keyguardManager.isDeviceSecure()

Java

KeyguardManager keyguardManager = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);
boolean isDeviceSecure = keyguardManager.isDeviceSecure();

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

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

Kotlin

context.startActivity(Intent(Settings.ACTION_SECURITY_SETTINGS))

Java

context.startActivity(new Intent(Settings.ACTION_SECURITY_SETTINGS))

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

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