Perakende demo modu

Android 7.1.1, müşterilerin cihazları perakende mağazalarında çalışırken inceleyebilmesi için perakende demo modu için sistem düzeyinde destek sunuyor. Cihaz kullanımının yalnızca belirli demo modu uygulamalarıyla sınırlandırılmasını sağlamak için cihazlar, bir cihaz sahibi uygulaması kullanılarak perakende satış demosu için ayarlanmıştır. Son kullanıcılar, bir perakende satış demo cihazına kişisel hesap ekleyememelidir. Android 8.1, DevicePolicyManager createAndManageUser API aracılığıyla demo kullanıcıları oluşturmak için bu desteği revize eder. Bu, demo cihazda kullanıcı yönetimi ve cihaz politikası yönetimi açısından standart perakende moduna çok daha fazla OEM özelleştirmesine izin verir.

DevicePolicyManager API'leri Android 8.1'den önceki sürümlerde kullanılabilirken, demo türü kullanıcılar ( DevicePolicyManager.MAKE_USER_DEMO ) 8.0 ve önceki sürümlerde createAndManageUser API ile oluşturulamaz.

Android 8.1 ve sonrasında uygulama

Bu bölüm, platform geliştirmelerini vurgular ve Android 8.1 ve sonraki sürümlerindeki perakende demo uygulamasını açıklar.

Platform değişiklikleri

DEVICE_DEMO_MODE ayarla

Bir cihaz sahibi tabanlı perakende demo modu uygulayan cihazların, cihazın perakende demo modu için hazırlandığını belirtmek üzere, temel hazırlıktan önce Settings.Global.DEVICE_DEMO_MODE değerini 1 olarak ayarlaması gerekir. SystemServer , güç profili ve SystemUI gibi perakende modunun özelliklerini yönetmek için bu bayrağı kullanır.

RetailDemoModeService etkinleştirin

Perakende demo modu uygulayan cihazlarda kurulum sihirbazı, cihazın perakende moduna girdiğini belirtmek için Global.DEVICE_DEMO_MODE genel ayarını true olarak ayarlar. Bu ayarı gördükten sonra, RetailDemoModeService bir demo kullanıcı oluşturur ve kullanıcı 0 başlatıldığında ona geçer, bir kaplama kaynağında belirtilen özel başlatıcıyı etkinleştirir ve SUW'yi devre dışı bırakır. System Server ve SystemUI ayrıca perakende modunun özelliklerini yönetmek için bu bayrağı kullanır.

Özel başlatıcı veya video oynatıcı ayarlayın

Cihaz üreticileri, config.xml dosyasında belirtilen çerçeve kaynağı config_demoModeLauncherComponent aşağıdaki gibi geçersiz kılarak özel bir başlatıcı belirtebilir.

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

/packages/apps/RetailDemo konumunda bulunan perakende demosu DemoPlayer uygulaması, Android Açık Kaynak Projesi'ndeki (AOSP) varsayılan özel başlatıcıdır. Uygulama, /data/preloads/demo/retail_demo.mp4 gibi bir cihaz bölümünde video arar ve onu bir döngüde oynatır. Kullanıcı ekrana dokunduğunda, özel başlatıcı, varsayılan sistem başlatıcının başlamasına neden olan etkinlik bileşenini devre dışı bırakır.

Demo dışı senaryolarda görünmemesi için özel başlatıcının özel bileşeninin varsayılan olarak devre dışı olarak işaretlenmiş olması gerekir. Demo senaryosunda System Server, yeni bir demo oturumu başlatırken belirtilen config_demoModeLauncherComponent etkinleştirir.

Kurulum sihirbazı ayrıca, perakende satış moduna girme olanağı sağlamak için daha önce bahsedilen videoyu da arar. SUW, video demo'nun bir parçası değilse, perakende satış modunun desteklendiğine dair OEM'e özgü başka bir işaret aramak için değiştirilebilir. Sistem A/B bölümleri varsa, sistem B bölümü /preloads/demo adresindeki demo videoyu içermelidir. Bu, ilk açılışta /data/preloads/demo dizinine kopyalanır.

Perakende demo modu için önceden yüklenmiş uygulamaları özelleştirin

Önceden yüklenmiş uygulamalar, uygulamanın bir demo ortamında başlatılıp başlatılmadığını görmek için UserManager.isDemoUser() API'sini çağırarak deneyimlerini perakende demo modu için özelleştirebilir.

Uygulamaların ve kullanıcıların belirli işlemleri gerçekleştirmesini engelleyen yönetilen cihaz veya profil politikalarına benzer şekilde, demo kullanıcısında belirli kısıtlamalar belirlenir. Bu kısıtlamalardan biri DISALLOW_MODIFY_ACCOUNTS . Bu kısıtlama ile Hesap Yöneticisi ve Ayarlar , hesapların eklenmesine izin vermez. Bazı Google uygulamaları bu kısıtlamaya tepki verir ve bir hata mesajı gösterir ve diğerleri (YouTube ve Fotoğraflar gibi) hesap istemez. OEM uygulamalarının ayrıca DISALLOW_MODIFY_ACCOUNTS ayarlanıp ayarlanmadığını kontrol etmesini ve senaryoyu buna göre işlemesini öneririz.

Sistem güncellemeleri

Varsayılan olarak, perakende modu etkinleştirildiğinde, cihaz politikası otomatik olarak kablosuz (OTA) güncellemeye ayarlanır. Perakende satış cihazları, kullanıcı etkileşimi olmadan güncellemeyi indirecek, yeniden başlatacak ve yükleyecektir (pil eşiklerine saygı duyarak).

Perakende demo uygulaması

Cihaz sahibi tabanlı perakende demo modu uygulaması, cihaz sahibi olarak bir Device Policy Controller uygulamasının ayarlanmasını gerektirir. AOSP, /packages/apps/RetailDemo içinde bir referans RetailDemo uygulama uygulaması içerir.

Cihaz sahibi uygulamaları, sistem görüntüsünde yükseltilmiş ayrıcalıklara veya ön yüklemeye ihtiyaç duymaz ve kurulum veya sağlama işlemi sırasında indirilebilir. Aşağıdaki farklarla çoğunlukla geleneksel uygulamalar gibi uygulanırlar:

DevicePolicyManager sınıfındaki API'ler, Cihaz Sahibinin (DO) ve Profil Sahibinin (PO) çeşitli cihaz politikalarını zorlamasını sağlar. Perakende demo modu için geçerli DevicePolicyManager işlevlerinden bazıları aşağıda listelenmiştir.

  • Kullanıcıları oluşturun ve yönetin.

  • Cihazı yeniden başlat.

  • LockTask izin verilen paketleri ayarlayın.

  • Paketleri PackageInstaller aracılığıyla kurun.

  • Paketlerin kaldırılmasını engelleyin.

  • Otomatik sistem güncellemelerini etkinleştirin. Cihazlar, OTA güncellemelerini otomatik olarak indirecek ve uygulayacaktır.

  • Tuş kilidini devre dışı bırakın.

  • Parola veya parmak izi ayarlamayı önleyin.

  • İzin verilenler listesine alınmış bir Settings.Global , Settings.Secure ve Settings.System ayarları ayarlayın.

  • İzin politikasını, tüm çalışma zamanı izinlerini otomatik olarak veren PERMISSION_POLICY_AUTO_GRANT olarak ayarlayın. İzinler daha dar bir şekilde de verilebilir: tek bir uygulamaya tek bir izin. Bu, kullanıcıların yine de kullanıcı başına, uygulama başına temelinde vermesi gereken uygulama işlemleri izinleri için geçerli değildir.

  • UserManager'da tanımlandığı gibi perakende moduyla ilgili kullanıcı kısıtlamalarını aşağıdaki gibi ayarlayın.

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

Web'i kullanarak demo videoyu güncelleyin

/packages/apps/RetailDemo içindeki RetailDemo uygulaması, ağ bağlantısı varsa demo videoyu güncelleme yeteneğine sahiptir. Videonun indirileceği URL, RetailDemo uygulamasında aşağıdaki dize değeri geçersiz kılınarak yapılandırılabilir.

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

Farklı bölgelerde farklı videoların kullanılması gerekiyorsa res/values-*/strings.xml dosyasındaki yerel ayara özgü dize kaynakları kullanılarak farklı indirme URL'leri yapılandırılabilir. Örneğin, Amerika Birleşik Devletleri ve Büyük Britanya'da farklı videoların kullanılması gerekiyorsa ilgili indirme URL'leri res/values-en-rUS/strings.xml ve res/values-en-rGB/strings.xml içine yerleştirilebilir. , sırasıyla aşağıdaki şekilde gösterilmiştir.

  • res/values-en-rUS/strings.xml dosyasında:

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

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

Bu video, her cihaz yeniden başlatmasında en fazla bir kez indirilir. Cihazdaki video oynatılırken, RetailDemo uygulaması arka planda indirme URL'sinin sağlanıp sağlanmadığını ve URL'deki videonun oynatılmakta olandan daha yeni olup olmadığını kontrol eder.

Öyleyse, RetailDemo uygulaması videoyu indirir ve oynatmaya başlar. Video indirildikten sonra, ileriye dönük tüm demo oturumlarında oynatmak için kullanılır. Bir sonraki yeniden başlatmaya kadar kontrollerin hiçbiri tekrar olmaz.

Demo video yönergeleri

Tanıtım videoları dikey düzende veya tablet ise cihazın doğal yönünde olmalıdır ve beş saniyeden uzun herhangi bir uzunlukta olabilir. İçerik, görüntülendiğinde sürekli olarak oynatılacağı için yanma ile sonuçlanmamalıdır.

Daha fazla bilgi için kullanıcıların, profillerin ve hesapların Android Geliştirici tanımlarına , Device Policy Manager API belgelerine ve Örnek Cihaz Sahibi uygulamasına bakın.

Doğrulama

CTS, isteğe bağlı bir özellik olduğu için perakende demo modunu kapsamaz. Test, manuel olarak veya demo uygulaması için birim testleriyle yapılmalıdır.

Demo oturumu

Demo oturumunun kurulumu

Fabrikadan demo modu için yapılandırılmışsa perakende demo cihazları perakende demo modunda önyüklenebilir. Alternatif olarak, perakende çalışanları perakende modunu doğrudan kurulum sihirbazından etkinleştirebilir.

Retail demo mode

Şekil 2. Perakende tanıtım modu

Demo oturumunu göster

Cihaz perakende moduna girdiğinde, yeni bir demo kullanıcısına geçer ve Uygulama bölümünde açıklandığı gibi bindirme kaynağında belirtilen özel başlatıcıyı otomatik olarak başlatır. Varsayılan olarak, bu özel başlatıcı, kullanıcı bir demo kullanıcı oturumu başlatmak için ekrana dokunana kadar demo videosunu tekrar tekrar oynatır. Bu sırada özel başlatıcı, sistem başlatıcıyı başlatır ve sonra çıkar. OEM'ler, çıkışta ek olarak başka bir hizmet veya etkinlik başlatmak için özel başlatıcıyı değiştirebilir.

Perakende modunun bütünlüğünü korumak için, tuş kilidi devre dışı bırakılır ve aşağıdakiler de dahil olmak üzere, perakende modunu olumsuz etkileyebilecek bazı Hızlı Ayarlar eylemlerine de izin verilmez.

  • Uçak modu geçişi.
  • Wi-Fi erişim noktalarını kaldırma veya değiştirme (Ayarlar).
  • Taşıyıcıyı değiştirme (Ayarlar).
  • Hotspot'u yapılandırma (Ayarlar).
  • Kullanıcı değiştirme.

Ayrıca, aşağıdakiler devre dışı bırakılarak perakende satış modunu etkileyebilecek bazı genel ayarlara erişim de engellenir:

  • Kablosuz bağlantı ayarları.
  • Hücresel ağ yapılandırma seçenekleri, özellikle sıcak noktalar.
  • Bluetooth yapılandırması.
  • Yedekleme ve Sıfırlama, Tarih ve Saat ve Mobil Ağlar (hiç görünmezler).

Kullanıcı bir süre boşta kalırsa (varsayılan olarak 90 saniye), perakende modu, kullanıcıdan oturumdan çıkmasını veya devam etmesini isteyen bir sistem iletişim kutusu gösterir. Kullanıcı çıkmayı seçerse veya beş saniye boyunca yanıt gelmezse perakende modu mevcut demo kullanıcısını kaldırır, yeni bir demo kullanıcısına geçer ve orijinal videoda yeniden döngüye girer. Güç düğmesi kullanılarak ekran kapatılırsa, birkaç saniye sonra otomatik olarak tekrar açılır.

Bir demo oturumundan çıktıktan sonra, cihazlar kendilerini sessize alır ve aşağıdakiler de dahil olmak üzere bazı genel ayarları sıfırlar:

  • Parlaklık
  • Otomatik döndürme
  • El feneri
  • Dil
  • Ulaşılabilirlik

Perakende demo modundan çık

Perakende modundan çıkmak için perakende çalışanları, demo aygıtının aygıt yönetimi altında kayıtlı olmadığından emin olmalı ve aygıtı önyükleyiciden fabrika ayarlarına sıfırlamalıdır.