מצב הדגמה קמעונאי

אנדרואיד 7.1.1 הציגה תמיכה ברמת המערכת במצב הדגמה קמעונאית כך שלקוחות יוכלו לבחון את המכשירים בפעולה בחנויות קמעונאיות. מכשירים מוגדרים להדגמה קמעונאית באמצעות אפליקציית בעלי מכשיר כדי להבטיח שהשימוש במכשיר מוגבל לאפליקציות מסוימות במצב הדגמה בלבד. אסור שמשתמשי קצה יוכלו להוסיף חשבון אישי במכשיר הדגמה קמעונאי. אנדרואיד 8.1 משנה את התמיכה הזו כדי ליצור משתמשי הדגמה באמצעות ה-DevicePolicyManager createAndManageUser API. זה מאפשר התאמה אישית גדולה יותר של OEM למצב הקמעונאי הסטנדרטי במונחים של ניהול משתמשים וניהול מדיניות מכשירים במכשיר ההדגמה.

בעוד שניתן להשתמש בממשקי API של DevicePolicyManager בגרסאות שקדמו ל-Android 8.1, לא ניתן ליצור משתמשים מסוג הדגמה ( DevicePolicyManager.MAKE_USER_DEMO ) עם ה-API של createAndManageUser בגירסאות 8.0 ואילך.

הטמעה באנדרואיד 8.1 ואילך

סעיף זה מדגיש את שיפורי הפלטפורמה ומתאר את אפליקציית ההדגמה הקמעונאית באנדרואיד 8.1 ואילך.

שינויים בפלטפורמה

הגדר את DEVICE_DEMO_MODE

מכשירים המיישמים מצב הדגמה קמעונאי מבוסס בעל מכשיר חייבים להגדיר את Settings.Global.DEVICE_DEMO_MODE ל-1 לפני ההקצאה כדי לציין שהמכשיר מוקצה למצב הדגמה קמעונאי. SystemServer משתמש בדגל זה כדי לנהל היבטים של מצב קמעונאות, כגון פרופיל כוח ו-SystemUI.

הפעל את RetailDemoModeService

במכשירים המיישמים מצב הדגמה קמעונאי, אשף ההגדרה מגדיר הגדרה גלובלית Global.DEVICE_DEMO_MODE ל- true כדי לציין שהמכשיר נכנס למצב קמעונאי. עם ראיית ההגדרה הזו, RetailDemoModeService יוצר משתמש הדגמה ועובר אליו כאשר משתמש 0 מופעל, מפעיל את המשגר ​​המותאם אישית שצוין במשאב שכבת-על ומשבית את SUW. System Server ו-SystemUI משתמשים גם בדגל זה כדי לנהל היבטים של מצב קמעונאות.

הגדר משגר מותאם אישית או נגן וידאו

יצרני התקנים יכולים לציין משגר מותאם אישית על ידי דריסת משאב המסגרת config_demoModeLauncherComponent שצוין בקובץ config.xml כדלקמן.

<!-- Component that is the default launcher when Retail Mode is enabled. -->
<string name="config_demoModeLauncherComponent">com.android.retaildemo/.DemoPlayer</string>

אפליקציית ההדגמה הקמעונאית DemoPlayer הממוקמת בכתובת /packages/apps/RetailDemo היא משגר ברירת המחדל המותאם אישית בפרויקט הקוד הפתוח של Android (AOSP). האפליקציה מחפשת סרטון במחיצת מכשיר כגון /data/preloads/demo/retail_demo.mp4 ומפעילה אותו בלולאה. כאשר המשתמש נוגע במסך, המשגר ​​המותאם אישית משבית את רכיב הפעילות שלו, מה שגורם להפעלת ברירת המחדל של משגר המערכת.

המפעיל המותאם אישית חייב לסמן את הרכיב המותאם אישית שלו כברירת מחדל, כך שהוא לא יופיע בתרחישים שאינם הדגמה. בתרחיש ההדגמה, שרת המערכת מאפשר את ה- config_demoModeLauncherComponent שצוין בעת ​​תחילת הפעלת הדגמה חדשה.

אשף ההגדרה גם מחפש את הסרטון שהוזכר קודם כדי לספק תקציב להיכנס למצב קמעונאי. ניתן לשנות את SUW כדי לחפש סימן אחר ספציפי ל-OEM שמצב הקמעונאות נתמך אם הסרטון אינו חלק מההדגמה. אם יש מחיצות מערכת A/B, מחיצת מערכת B חייבת להכיל את סרטון ההדגמה בכתובת /preloads/demo. זה מועתק אל /data/preloads/demo באתחול הראשון.

התאם אישית אפליקציות טעונות מראש למצב הדגמה קמעונאי

אפליקציות שנטענו מראש יכולות להתאים אישית את החוויה שלהן למצב הדגמה קמעונאית על ידי קריאה ל- UserManager.isDemoUser() API כדי לראות אם האפליקציה מופעלת בסביבת הדגמה.

הגבלות מסוימות מוגדרות במשתמש ההדגמה, בדומה למדיניות של מכשירים או פרופילים מנוהלים שמונעות מאפליקציות ומשתמשים לבצע פעולות מסוימות. אחת ההגבלות הללו היא DISALLOW_MODIFY_ACCOUNTS . עם הגבלה זו, מנהל החשבונות וההגדרות אינם מאפשרים הוספת חשבונות. חלק מהאפליקציות של Google מגיבות להגבלה זו ומציגות הודעת שגיאה, ואחרות לא יבקשו חשבון (כגון YouTube ותמונות). אנו ממליצים ליישומי OEM לבדוק גם אם DISALLOW_MODIFY_ACCOUNTS מוגדר ולטפל בתרחיש בהתאם.

עדכוני מערכת

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

אפליקציית הדגמה קמעונאית

יישום מצב הדגמה קמעונאי מבוסס בעלי מכשיר מחייב להגדיר אפליקציית Device Policy Controller כבעל המכשיר. ה-AOSP מכיל הפניה למימוש אפליקציית RetailDemo ב- /packages/apps/RetailDemo .

אפליקציות בעלי מכשיר אינן זקוקות להרשאות מוגברות או להתקנה מראש בתמונת המערכת וניתן להוריד אותן במהלך תהליך ההגדרה או ההקצאה. הם מיושמים לרוב כמו אפליקציות מסורתיות, עם ההבדלים הבאים:

ממשקי API במחלקת DevicePolicyManager מאפשרים לבעלי מכשיר (DO) ולבעלים של פרופיל (PO) לאכוף מדיניות מכשיר שונה. חלק מהפונקציות של DevicePolicyManager החלות על מצב הדגמה קמעונאי מפורטות כדלקמן.

  • צור ונהל משתמשים.

  • הפעל מחדש את המכשיר.

  • הגדר חבילות מותרות של LockTask.

  • התקן חבילות דרך PackageInstaller .

  • חסום את הסרת ההתקנה של חבילות.

  • הפעל עדכוני מערכת אוטומטיים. מכשירים יורידו ויחילו באופן אוטומטי עדכוני OTA.

  • השבת את מגן המקשים.

  • מנע הגדרת סיסמאות או טביעות אצבע.

  • הגדר קבוצה של הגדרות.גלובליות , הגדרות.מאבטח והגדרות.הגדרות מערכת .

  • הגדר את מדיניות ההרשאות ל- PERMISSION_POLICY_AUTO_GRANT , מה שמעניק אוטומטית את כל הרשאות זמן הריצה. ניתן להעניק הרשאות גם בצורה צרה יותר: הרשאה יחידה לאפליקציה בודדת. זה לא חל על הרשאות הפעלה של אפליקציות, שמשתמשים עדיין חייבים להעניק על בסיס לכל משתמש, לכל אפליקציה.

  • הגדר הגבלות משתמש הרלוונטיות למצב הקמעונאי כפי שהוגדר ב- UserManager כדלקמן.

    • DISALLOW_MODIFY_ACCOUNTS
    • DISALLOW_USB_FILE_TRANSFER
    • DISALLOW_DEBUGGING_FEATURES
    • DISALLOW_CONFIG_WIFI
    • DISALLOW_CONFIG_BLUETOOTH
    • DISALLOW_INSTALL_UNKNOWN_SOURCES
    • DISALLOW_CONFIG_MOBILE_NETWORKS

עדכן סרטון הדגמה באמצעות האינטרנט

לאפליקציית RetailDemo ב- /packages/apps/RetailDemo יש את היכולת לעדכן את סרטון ההדגמה אם יש קישוריות לרשת. ניתן להגדיר את כתובת ה-URL להורדת הסרטון על ידי ביטול ערך המחרוזת הבא באפליקציית RetailDemo.

<!-- URL where the retail demo video can be downloaded from. -->
<string name="retail_demo_video_download_url"></string>

אם יש צורך להשתמש בסרטונים שונים באזורים שונים, ניתן להגדיר כתובות URL שונות להורדה על ידי שימוש במשאבי מחרוזת ספציפיים לאזור ב- res/values-*/strings.xml . לדוגמה, אם יש צורך להשתמש בסרטונים שונים בארצות הברית ובבריטניה, ניתן למקם את כתובות האתרים המתאימות להורדה ב-res/values-en-rUS/strings.xml ו-res/values-en-rGB/strings.xml , בהתאמה, מוצג כדלקמן.

  • ב-res/values-en-rUS/strings.xml:

    <string name="retail_demo_video_download_url">download URL for US video goes here</string>
    
  • ב-res/values-en-rGB/strings.xml:

    <string name="retail_demo_video_download_url">download URL for UK video goes here</string>
    

הסרטון הזה יורדת לכל היותר פעם אחת בכל אתחול מחדש של מכשיר. כאשר הסרטון במכשיר מופעל, אפליקציית RetailDemo בודקת ברקע אם כתובת האתר להורדה מסופקת והסרטון בכתובת ה-URL חדש יותר מזה המושמע.

אם כן, אפליקציית RetailDemo מורידה ומתחילה להפעיל את הסרטון. לאחר הורדת הסרטון, הוא משמש להפעלה בכל הפעלות ההדגמה קדימה. אף אחת מהבדיקות לא מתרחשת שוב עד לאחר האתחול הבא.

הנחיות לסרטוני הדגמה

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

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

מַתַן תוֹקֵף

CTS אינו מכסה את מצב הדגמה קמעונאי מכיוון שהוא תכונה אופציונלית. הבדיקה חייבת להתבצע באופן ידני או עם בדיקות יחידה עבור אפליקציית ההדגמה.

סשן הדגמה

הגדרת סשן הדגמה

התקני הדגמה קמעונאיים עשויים לאתחל למצב הדגמה קמעונאית אם מוגדרים למצב הדגמה מהמפעל. לחלופין, עובדים קמעונאיים עשויים להפעיל מצב קמעונאי ישירות מאשף ההגדרה.

Retail demo mode

איור 2. מצב הדגמה קמעונאי

הצגת הפעלת הדגמה

כאשר המכשיר נכנס למצב קמעונאי, הוא עובר למשתמש הדגמה חדש ומתחיל אוטומטית את המשגר ​​המותאם אישית שצוין במשאב השכבה כפי שמתואר ביישום . כברירת מחדל, משגר מותאם אישית זה מנגן את סרטון ההדגמה על חזרה עד שהמשתמש נוגע במסך כדי להתחיל הפעלת משתמש הדגמה. באותו זמן, המשגר ​​המותאם אישית מפעיל את משגר המערכת ואז יוצא. יצרני OEM יכולים לשנות את המשגר ​​המותאם אישית כדי להפעיל בנוסף שירות או פעילות נוספת ביציאה.

על מנת לשמור על שלמות מצב הקמעונאות, מגן המקשים מושבת ופעולות מסוימות מהגדרות מהירות שעלולות להשפיע לרעה על מצב הקמעונאות אסורות גם הן, כולל הפעולות הבאות.

  • החלפת מצב טיסה.
  • הסרה או שינוי של נקודות גישה ל-Wi-Fi (הגדרות).
  • החלפת ספק (הגדרות).
  • הגדרת נקודה חמה (הגדרות).
  • החלפת משתמש.

בנוסף, הגישה חסומה גם לכמה הגדרות גלובליות שיכולות להשפיע על מצב הקמעונאות על ידי השבתת הדברים הבאים:

  • הגדרות אינטרנט אלחוטי.
  • אפשרויות תצורת רשת סלולרית, במיוחד נקודות חמות.
  • תצורת בלוטות'.
  • גיבוי ואיפוס, תאריך ושעה ורשתות ניידות (הם לא מופיעים בכלל).

אם המשתמש לא פעיל למשך פרק זמן מסוים (90 שניות כברירת מחדל), מצב הקמעונאות מציג תיבת דו-שיח של מערכת כדי לבקש מהמשתמש לצאת מההפעלה או להמשיך. אם המשתמש בוחר לצאת או אם אין תגובה במשך חמש שניות, מצב הקמעונאות מסיר את משתמש ההדגמה הנוכחי, עובר למשתמש הדגמה חדש ועובר שוב בסרטון המקורי. אם המסך כבוי באמצעות לחצן ההפעלה, הוא חוזר לפעול באופן אוטומטי לאחר מספר שניות.

לאחר יציאה מהפעלת הדגמה, המכשירים משתיקים את עצמם ומאפסים כמה הגדרות גלובליות, כולל הבאות:

  • בְּהִירוּת
  • סיבוב אוטומטי
  • פנס
  • שפה
  • נְגִישׁוּת

צא ממצב הדגמה קמעונאית

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