Tryb demo dla sklepów

W Androidzie 7.1.1 wprowadzono obsługę trybu demo dla sklepów, klienci mogą obejrzeć urządzenia w sklepach detalicznych. Urządzenia zostały skonfigurowane w wersji demonstracyjnej dla sklepów. Użyj aplikacji właściciela urządzenia, aby upewnić się, że korzystanie z urządzenia tylko w niektórych aplikacjach w trybie demonstracyjnym. Użytkownicy nie mogą mieć możliwości dodania konta osobistego na urządzeniu trybu demo dla sklepów. Android 8.1 zmienia to wsparcie na utwórz zaprezentować użytkowników za pomocą DevicePolicyManagera. createAndManageUser API. Zapewnia to dużo większe możliwości dostosowywania OEM do standardowego trybu dla sklepów. zarządzania użytkownikami i zasadami dotyczącymi urządzeń na urządzeniu w wersji demonstracyjnej.

Podczas gdy program DevicePolicyManager interfejsów API można używać w wersjach starszych niż Android 8.1, Nie można utworzyć użytkowników typu demo-type (DevicePolicyManager.MAKE_USER_DEMO) za pomocą polecenia createAndManageUser API w wersji 8.0 i starszych.

Implementacja na Androidzie 8.1 i nowszych

W tej sekcji przedstawiamy ulepszenia platformy i opisujemy wersję demonstracyjną w Androidzie 8.1 i nowszych.

Zmiany platform

Ustaw DEVICE_DEMO_MODE

Na urządzeniach z wdrożonym trybem demo dla sklepów musi być włączony tryb demo dla każdego właściciela urządzenia Settings.Global.DEVICE_DEMO_MODE na 1 przed udostępnianie sygnalizujące, że urządzenie jest udostępniane w trybie demo dla sklepów i trybu uzyskiwania zgody. Serwer systemu używa tej flagi do zarządzania aspektami trybu dla sklepów, takimi jak profil zasilania Interfejs SystemUI.

Włącz RetailDemoModeService

Na urządzeniach z włączonym trybem demo dla sklepów kreator konfiguracji ustawia globalny ustawienie Global.DEVICE_DEMO_MODE do true, aby wskazać, że urządzenie przeszło w tryb sklepu. W dniu jeśli zobaczy to ustawienie, RetailDemoModeService tworzy użytkownika demonstracyjnego i przełącza się na niego po uruchomieniu użytkownika 0, co włącza niestandardowy program uruchamiający określony w zasobie nakładki i wyłącza SUW. Systemowy Serwer i interfejs SystemUI używają też tej flagi do zarządzania aspektami trybu handlu detalicznego.

Ustaw niestandardowy program uruchamiający lub odtwarzacz wideo

Producenci urządzeń mogą określić niestandardowy program uruchamiający, zastępując platformę zasób config_demoModeLauncherComponent określony w pliku config.xml w następujący sposób.

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

Wersja demo dla sklepów, dostępna na stronie /pakiety/aplikacje/RetailDemo to domyślny niestandardowy program uruchamiający w projekcie Android Open Source Project (AOSP). aplikacja szuka filmu na partycji urządzenia, np. /data/preloads/demo/retail_demo.mp4 i odtwarza je w pętli. Gdy użytkownik dotyka ekranu, niestandardowy program uruchamiający wyłącza komponent aktywności, przez co domyślny program uruchamiający po uruchomieniu przeglądarki.

Niestandardowy komponent uruchamiający musi mieć domyślnie oznaczony komponent niestandardowy jako wyłączony aby nie pojawiała się w scenariuszach niedemograficznych. W scenariuszu demonstracyjnym System Serwer włącza określoną właściwość config_demoModeLauncherComponent podczas uruchamiania nowej sesji demonstracyjnej.

Kreator konfiguracji szuka także wcześniej wspomnianego filmu, aby zapewnić wejścia w tryb sprzedaży detalicznej. SUW można zmodyfikować, aby wyszukać inne Znak charakterystyczny dla OEM, że tryb sklepu jest obsługiwany, jeśli film nie jest częścią wersji demonstracyjnej. Jeśli istnieją partycje systemowe A/B, systemowa partycja B musi zawiera film demonstracyjny na stronie /preloads/demo. Będą one kopiowane do: /data/preloads/demo przy pierwszym uruchomieniu.

Dostosowywanie wstępnie załadowanych aplikacji w trybie demo dla sklepów

Wstępnie załadowane aplikacje można dostosować do trybu demo dla sklepów, dzwoniąc do UserManager.isDemoUser() API do sprawdzania, czy aplikacja została uruchomiona w środowisku demonstracyjnym.

W wersji demonstracyjnej są ustawione pewne ograniczenia, podobnie jak na urządzeniach zarządzanych zasad profilu, które uniemożliwiają aplikacjom i użytkownikom wykonywanie określonych operacji. Jedno z tych ograniczeń to DISALLOW_MODIFY_ACCOUNTS. Z tym ograniczeniem AccountManager i Ustawienia nie zezwalają na dodawanie kont. Niektóre aplikacje Google reagują na to ograniczenie i wyświetli się komunikat o błędzie, a inne osoby nie będą prosić o podanie konta (np. YouTube i Zdjęcia). Zalecamy, aby aplikacje OEM również sprawdzały, Skonfigurowano zasób DISALLOW_MODIFY_ACCOUNTS i odpowiednio obsługuje scenariusz.

Aktualizacje systemu

Gdy włączony jest tryb sklepu, domyślnie zasady dotyczące urządzeń są ustawione na połączenia bezprzewodowe (OTA) aktualizują się automatycznie. Urządzenia w handlu detalicznym zostaną pobrane, zrestartowane i zainstalowane (z zachowaniem progów baterii) bez interakcji ze strony użytkownika.

Aplikacja demo dla sklepów

Implementacja trybu demonstracyjnego dla właściciela urządzenia wymaga Kontroler zasad dotyczących urządzeń ustawić aplikację jako właściciela urządzenia. AOSP zawiera referencyjną aplikację RetailDemo w /packages/apps/RetailDemo.

Aplikacje właściciela urządzenia nie wymagają podwyższonych uprawnień ani wstępnej instalacji i można go pobrać podczas konfiguracji lub obsługi administracyjnej. Są one głównie zaimplementowane tak jak tradycyjne aplikacje, a dodatkowo: różnice:

Interfejsy API w usłudze DevicePolicyManager włącz funkcję właściciela urządzenia (DO) i właściciela profilu (PO), aby wymusić stosowanie różnych urządzeń na różnych urządzeniach. . Niektóre z DevicePolicyManager funkcje dostępne w trybie demo dla sklepów są podane poniżej.

  • Tworzenie kont użytkowników i zarządzanie nimi.

  • Zrestartuj urządzenie.

  • Ustaw pakiety dozwolone przez LockTask.

  • Zainstaluj pakiety za pomocą narzędzia PackageInstaller.

  • Blokuj odinstalowanie pakietów.

  • Włącz automatyczne aktualizacje systemu. Urządzenia będą automatycznie pobierać i stosować aktualizacje OTA.

  • Wyłącz ekran blokady.

  • Uniemożliwia ustawianie haseł i odcisków palców.

  • Ustaw na liście dozwolonych zestaw ustawień Settings.Global, Settings.Secure, i Settings.System (Ustawienia.System) ustawieniach.

  • Ustaw zasadę uprawnień na PERMISSION_POLICY_AUTO_GRANT, która automatycznie przyznaje wszystkie uprawnienia czasu działania. Można również przyznawać uprawnienia czyli jedno uprawnienie do pojedynczej aplikacji. Nie dotyczy uprawnień do operacji aplikacji, które użytkownicy muszą nadal przyznawać poszczególnym użytkownikom w ramach poszczególnych aplikacji.

  • Ustaw ograniczenia dotyczące użytkowników dotyczące trybu sklepu zgodnie z definicją w Menedżer użytkowników w następujący sposób.

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

Zaktualizuj film demonstracyjny w internecie

aplikacja RetailDemo w /packages/apps/RetailDemo istnieje możliwość aktualizacji filmu demonstracyjnego, jeśli urządzenie ma połączenie z siecią. Adres URL pobierania filmu można skonfigurować, zastępując fragment poniżej w aplikacji RetailDemo.

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

Jeśli różne filmy muszą być używane w różnych regionach, adresy URL pobierania można skonfigurować za pomocą zasobów ciągów tekstowych specyficznych dla języka w pliku res/values-*/strings.xml. Na przykład, jeśli w USA mają być używane różne filmy, a Wielkiej Brytanii, odpowiednie adresy URL pobierania można umieścić w res/values-en-rUS/strings.xml i res/values-en-rGB/strings.xml) w następujący sposób.

  • W pliku res/values-en-rUS/strings.xml:

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

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

Ten film jest pobierany najwyżej raz przy każdym ponownym uruchomieniu urządzenia. Gdy film na urządzeniu jest odtwarzany, aplikacja RetailDemo sprawdza w tle jeśli podany jest URL pobierania, a film pod tym adresem jest nowszy od w danej grze.

Jeśli tak, aplikacja RetailDemo pobierze i rozpocznie odtwarzanie filmu. Gdy film będzie już dostępny zostanie pobrany, ale będzie używany do grania we wszystkich sesjach demonstracyjnych od tego momentu. Brak testów ma miejsce po ponownym uruchomieniu urządzenia.

Wytyczne dotyczące filmu demonstracyjnego

Filmy demonstracyjne muszą być w układzie pionowym lub, w przypadku tabletów, w w orientacji naturalnej i może mieć dowolną długość większą niż pięć sekund. Content (sieć partnerska), nie może powodować wypalenia ekranu, ponieważ jest odtwarzany w sposób ciągły na wyświetlaczu.

Zobacz definicje dla deweloperów aplikacji na Androida użytkowników, profili i kont, dokumentacja interfejsu Device Policy Manager API i Przykładowa aplikacja właściciela urządzenia .

Weryfikacja

CTS nie obejmuje trybu demo dla sklepów, ponieważ jest to funkcja opcjonalna. Testowanie należy przeprowadzać ręcznie lub za pomocą testów jednostkowych aplikacji w wersji demonstracyjnej.

Sesja demonstracyjna

Konfiguracja sesji demonstracyjnej

Urządzenia w trybie demo dla sklepów mogą uruchamiać się w trybie demo dla sklepów, jeśli są skonfigurowane w tym trybie z fabryki. Pracownicy sklepów mogą również włączyć tryb sklepu bezpośrednio w kreatorze konfiguracji.

Tryb demo dla sklepów

Rysunek 2. Tryb demonstracyjny dla sklepów

Wyświetl sesję demonstracyjną

Gdy urządzenie przejdzie w tryb sprzedaży detalicznej, przełączy się na nowego użytkownika demonstracyjnego, automatycznie uruchamia niestandardowy program uruchamiający określony w zasobie nakładki jak opisano w artykule Implementacja. Domyślnie Niestandardowy program uruchamiający wielokrotnie odtwarza film demonstracyjny, dopóki użytkownik nie dotknie przycisku ekranu, aby rozpocząć sesję użytkownika demonstracyjnego. Zostanie wtedy uruchomiony niestandardowy program uruchamiający. program uruchamiający system, a następnie zostanie zamknięty. OEM może zmienić niestandardowy program uruchamiający na dodatkowo uruchamiać inną usługę lub inne działanie przy zamykaniu.

Aby zachować integralność trybu sklepu, blokada klawiszy jest wyłączona, a niektóre działania w Szybkich ustawieniach, które mogą niekorzystnie wpływać na tryb sklepu, również niedozwolone, w tym następujące.

  • Przełącznik trybu samolotowego.
  • Usunięcie lub zmodyfikowanie punktów dostępu Wi-Fi (Ustawienia).
  • Zmiana operatora (Ustawienia).
  • Konfiguruję hotspot (Ustawienia).
  • Przełączanie użytkowników.

Dodatkowo zablokowany jest też dostęp do niektórych ustawień globalnych, które mogą mieć wpływ trybu sklepu, wyłączając te opcje:

  • Ustawienia Wi-Fi.
  • Opcje konfiguracji sieci komórkowej, w szczególności hotspotów.
  • Konfiguracja Bluetooth.
  • Kopia zapasowa i Resetuj, data Czas oraz Sieci komórkowe (w ogóle nie są wyświetlane).

Gdy użytkownik jest nieaktywny przez pewien czas (domyślnie 90 sekund), tryb sklepu wyświetla okno systemowe z prośbą o zakończenie sesji lub kontynuowanie. Jeśli użytkownik zdecyduje się wyjść lub nie odpowie przez 5 sekund, usuwa bieżącego użytkownika demonstracyjnego, przełącza się na nowego odtwarza nagranie oryginalnego filmu w pętli. Jeśli ekran jest wyłączony za pomocą przycisk zasilania włącza się automatycznie po kilku sekundach.

Po zakończeniu sesji demonstracyjnej urządzenia wyciszają się i resetują niektóre ustawienia globalne. takich jak:

  • Jasność
  • Autoobracanie
  • Latarka
  • Język
  • Ułatwienia dostępu

Zamknij tryb demo dla sklepów

Aby wyjść z trybu dla sklepów, pracownicy sklepu muszą sprawdzić, czy urządzenie demonstracyjne nie jest zarejestrowane w funkcji zarządzania urządzeniem i przywróć je do ustawień fabrycznych na programu rozruchowego.