Przewodnik dla programistów

Funkcje Androida dla firm zapewniają organizacjom ujednolicona platforma mobilności Androida – łączy urządzenia, aplikacje i zarządzaniem. Aplikacje na Androida są zgodne z funkcjami biznesowymi Androida domyślnie. Istnieją jednak dodatkowe funkcje, za pomocą których można aplikacje działają najlepiej na zarządzanych urządzeniach z Androidem:

  • Zgodność profilu służbowego – modyfikowanie Androida aby działała jak najlepiej na urządzeniu zarządzanym.
  • Konfiguracje zarządzane – zmodyfikuj. w aplikacji, aby umożliwić administratorom IT opcję ustawienia swoich aplikacji.
  • Urządzenia dedykowane – zoptymalizuj Dzięki temu można ją wdrożyć w trybie kiosku na urządzeniu z Androidem.
  • Logowanie jednokrotne – upraszcza proces logowania. dla użytkowników logujących się w różnych aplikacjach na zarządzanych urządzeniach z Androidem.

Wymagania wstępne

  1. Udało Ci się utworzyć aplikację na Androida.
  2. Chcesz zmodyfikować aplikację, aby działała najlepiej w organizacjach.
  3. Minimalna wersja: zalecana wersja Androida 5.0 Lollipop: Android 6.0 Marshmallow i nowsze wersje.

Uwaga: funkcje biznesowe Androida są wbudowane urządzeń z Androidem 5.0; jednak Android 6.0 i nowsze dodatkowych funkcji, zwłaszcza w urządzeniach specjalnych.

Profile służbowe

Firmowymi bazami danych i aplikacjami użytkownika możesz zarządzać za pomocą profil służbowy. Profil służbowy to zarządzany profil firmowy powiązane z głównym kontem użytkownika na urządzeniu z Androidem. O profil służbowy bezpiecznie odizoluje aplikacje i dane służbowe od aplikacji osobistych i danych. Ten profil służbowy znajduje się w kontenerze innym niż który jest zarządzany przez użytkowników. Te osobne profile pozwalają organizacjom zarządzać danymi biznesowymi, na których im zależy. pozostawiać wszystko inne na urządzeniu użytkownika pod jego kontrolą Szczegółowy opis sprawdzonych metod znajdziesz tutaj: Profile służbowe Google. Poniżej znajduje się omówienie tych sprawdzonych metod.

Najważniejsze funkcje profilu służbowego

  • Oddzielny i bezpieczny profil
  • Zarządzany Sklep Google Play na potrzeby rozpowszechniania aplikacji
  • Oddzielne aplikacje służbowe z plakietką
  • Funkcje zarządzania tylko profilem kontrolowane przez administratora

Zalety profilu służbowego na urządzeniach z Androidem 5.0 lub nowszym

  • Pełne szyfrowanie urządzenia
  • Jeden pakiet aplikacji na Androida (APK) dla obu profili, na urządzeniu są profile osobisty i służbowy,
  • Kontroler zasad urządzeń (DPC) jest ograniczony do profilu służbowego
  • Administracja urządzeniem przez Klasa DevicePolicyManager

Uwagi dotyczące profili służbowych

Zapobiegaj awarii intencji między profilami

Trudno powiedzieć, które intencje mogą występować między profilami, które są zablokowane. Jedynym sposobem na sprawdzenie tej wiedzy jest przetestowanie jej. Zanim aplikacja rozpocznie aktywność, sprawdź, czy jest rozpatrywane przez wywołanie Intent.resolveActivity()

  • Jeśli zwraca wartość null, żądanie nie jest rozpatrywane.
  • Jeśli coś zwróci, oznacza to, że intencja minęła, Możesz też bezpiecznie przesłać intencję.

Uwaga: szczegółowe instrukcje testowania znajdziesz tutaj: Zapobiegaj nieudanym intencjom.

Udostępniaj pliki w różnych profilach

Niektórzy deweloperzy używają identyfikatorów URI do oznaczania ścieżek do plików na Androidzie. Pamiętaj jednak: Ponieważ istnieją oddzielne systemy plików profilu służbowego, Rekomendacja:

Przeznaczenie:
Identyfikatory URI treści
  • Identyfikatory URI treści zawierają informacje o urzędzie, ścieżce i identyfikatorze z konkretnego pliku. Możesz go wygenerować za pomocą Podklasa FileProvider. Więcej informacji
  • Udostępniaj i przyznawaj uprawnienia dostępu do identyfikatora URI treści za pomocą intencja. Uprawnienia mogą być przekazywane tylko w całym profilu za pomocą intencji. Jeśli przyznasz innej aplikacji uprawnienia dostępu do pliku za pomocą Context.grantUriPermission(), jest przyznawany tylko w przypadku w tym samym profilu.
Nie używaj:
Identyfikator URI pliku
  • Zawiera ścieżkę bezwzględną do pliku na urządzeniu pamięci masowej.
  • Identyfikator URI ścieżki pliku prawidłowy w jednym profilu jest nieprawidłowy w z drugiej strony.
  • Jeśli dołączysz do intencji identyfikator URI pliku, moduł obsługi nie będzie mógł aby uzyskać dostęp do pliku w innym profilu.

Dalsze kroki: gdy Twoja aplikacja zacznie obsługiwać zarządzane sprawdzić w profilu służbowym. Zobacz Testowanie aplikacji.

Wdrażanie konfiguracji zarządzanych

Konfiguracje zarządzane to zestaw instrukcji, które administratorzy IT mogą stosować mogą zarządzać urządzeniami mobilnymi użytkowników w określony sposób. Te instrukcje są uniwersalne i dotyczą każdego dostawcy usług EMM, co pozwala na zdalnego konfigurowania aplikacji u użytkowników telefonów.

Jeśli tworzysz aplikacje dla firm lub instytucji państwowych, aby spełnić wymagania Twojej branży. Zastosowanie konfiguracji zarządzanych, administrator IT może zdalnie określić konfigurować i egzekwować zasady w przypadku aplikacji na Androida użytkowników; w przypadku przykład:

  • Określ, czy aplikacja może synchronizować dane przez sieć komórkową/3G czy tylko przez Wi-Fi
  • Zezwalanie na adresy URL i blokowanie ich w przeglądarce
  • Konfigurowanie ustawień poczty e-mail w aplikacji
  • Włączanie i wyłączanie drukowania
  • Zarządzaj zakładkami

Sprawdzone metody implementacji konfiguracji zarządzanych

Za pomocą karty Skonfiguruj konfiguracje zarządzane Przewodnik jest kluczowym źródłem informacji na temat konfiguracje zarządzane. Po zapoznaniu się z tą dokumentacją zapoznaj się z artykułem znajdziesz poniżej dodatkowe zalecenia.

Przy pierwszym uruchomieniu aplikacji

Zaraz po uruchomieniu aplikacji można sprawdzić, czy aplikacja została zarządzana Są już ustawione konfiguracje dla tej aplikacji w: onStart() lub onResume() Możesz też sprawdzić, czy Twój aplikacja jest zarządzana lub niezarządzana. Na przykład, jeśli getApplicationRestrictions() zwraca:

  • Zestaw ograniczeń dotyczących aplikacji – możesz mogą dyskretnie skonfigurować konfiguracje zarządzane (bez dane wejściowe użytkownika).
  • Pusty pakiet – aplikacja działa jak nie jest zarządzana (np. jak aplikacja zachowuje się w aplikacji profilu).
  • Pakiet z jedną parą klucz-wartość z Parametr KEY_RESTRICTIONS_PENDING ma wartość true (prawda) – aplikacja jest zarządzana, ale DPC nie jest skonfigurowany . Zablokuj temu użytkownikowi dostęp do aplikacji i skieruj mu przekaż je swojemu administratorowi IT.

Wykrywaj zmiany w konfiguracjach zarządzanych

Administratorzy IT mogą zmieniać konfiguracje zarządzane i inne ustawienia zasady, które chcą wdrożyć w dowolnym momencie na kontach użytkowników. Z powodu zalecamy upewnić się, że będzie ona przyjmowała nowe następujące ograniczenia konfiguracji zarządzanej:

  • Ograniczenia pobierania przy uruchamianiu – aplikacja powinna zadzwoń do: getApplicationRestrictions() w: onStart() i onResume(), oraz porównać ze starymi ograniczeniami aby sprawdzić, czy są wymagane zmiany.
  • Słuchaj podczas biegu – rejestruj dynamicznie, ACTION_APPLICATION_RESTRICTIONS_CHANGED w aktywności lub usług związanych z bieganiem po sprawdzeniu nowych ograniczeń. Intencja ta jest wysyłana tylko do detektorów, którzy zarejestrowanych dynamicznie, a nie detektorów zadeklarowanych w aplikacji. pliku manifestu.
  • Wyrejestruj, gdy nie działa – w onPause(), należy się wyrejestrować, aby obejrzeć transmisję ACTION_APPLICATION_RESTRICTIONS_CHANGED

Urządzenia specjalne

Urządzenia specjalne to używane kioski w jednym celu, np. wyświetlanie treści informacyjno-reklamowych, sprzedaż biletów kioski drukarskie czy rejestry płatności.

Jeśli urządzenie z Androidem jest skonfigurowane jako urządzenie specjalne, użytkownik widzi aplikacja zablokowana na ekranie, bez opcji ekranu głównego lub ostatnich aplikacji; przyciski ucieczki z aplikacji. Urządzenia specjalne można też skonfigurować tak, aby wyświetlały zestaw różnych aplikacji, takich jak biblioteka z aplikacją z katalogu i przeglądarką.

Instrukcje znajdziesz w materiałach na temat Urządzenie specjalne.

Konfigurowanie logowania jednokrotnego z użyciem kart niestandardowych Chrome

Przedsiębiorcy często mają na urządzeniach wiele aplikacji i chcą logować się raz, aby uzyskać dostęp do wszystkich swoich aplikacji służbowych. Użytkownicy zwykle logują się za pomocą WebView; jednak jest kilka powodów, dla których nie jest to idealne rozwiązanie:

  1. Użytkownicy często muszą logować się kilka razy, podając to samo dane logowania. Rozwiązanie WebView nie jest jednoznaczną logowania jednokrotnego.
  2. Występują zagrożenia dla bezpieczeństwa, w tym szkodliwe aplikacje sprawdzania plików cookie czy wstrzykiwania JavaScript®, aby uzyskać dostęp do dane logowania. Nawet zaufani deweloperzy są narażeni na ryzyko, jeśli polegają na potencjalnie szkodliwe pakiety SDK innych firm.

Rozwiązaniem obu problemów jest uwierzytelnienie użytkowników za pomocą przeglądarki Karty niestandardowe zamiast WebView. Dzięki temu uwierzytelnianie:

  • Występuje w bezpiecznym kontekście (przeglądarka systemowa), w której aplikacja hostująca nie może sprawdzać treści.
  • ma stan „udostępniony plik cookie”, dzięki czemu użytkownik musi się tylko zalogować. raz.

Wymagania

Karty niestandardowe są obsługiwane do poziomu interfejsu API 15 (Android 4.0.3). Aby korzystać z kart niestandardowych, musisz mieć obsługiwaną przeglądarkę, np. Chrome. Chrome 45 i nowsze wersje implementują tę funkcję jako Karty niestandardowe Chrome

Jak wdrożyć logowanie jednokrotne przy użyciu kart niestandardowych?

Google udostępnia bibliotekę klienta OAuth na zasadach open source i przekazuje ją grupie roboczej OpenID Connect OpenID Foundation. Aby skonfigurować karty niestandardowe na potrzeby logowania jednokrotnego za pomocą AppAuth, dokumentacja i przykładowy kod w GitHubie.

Testowanie aplikacji

Po utworzeniu aplikacji warto ją przetestować – zarówno w profilu służbowym, jak i na urządzeniu zarządzanym. Instrukcje znajdziesz poniżej.

Przetestuj aplikację na Androida za pomocą Testu DPC

Oferujemy aplikację Test DPC, która pomaga deweloperom aplikacji na Androida testować aplikacje w firmie dla środowiska. Korzystając z Testowej DPC, możesz ustawić zasady EMM lub wartości konfiguracji zarządzanej w tak jak w sytuacji, gdy organizacja zarządzała urządzeniem przy użyciu usług EMM. Aby zainstalować Testowy DPC na urządzeniu: wybierz jedną z tych metod:

Więcej informacji o konfigurowaniu testowej DPC znajdziesz w instrukcjach poniżej i Testowy użytkownik DPC Przewodnik.

Udostępnianie profilu służbowego

Aby przetestować aplikację w profilu służbowym, musisz najpierw udostępnić profil służbowy na urządzeniu za pomocą Przetestuj aplikację DPC w ten sposób:

  1. Zainstaluj Testową wersję DPC na urządzeniu.
  2. W Menu z aplikacjami na Androidzie kliknij ikonę aplikacji Set up Test DPC (Skonfiguruj Test DPC).
  3. Postępuj zgodnie z instrukcjami na ekranie.
  4. Zainstaluj aplikację na urządzeniu i przetestuj ją, aby zobaczyć, jak działa w profilu służbowym.

Android tworzy profil służbowy i instaluje kopię testowego DPC w profilu służbowym. Używasz tego instancja Test DPC z plakietką pracą pozwalająca ustawiać zasady i konfiguracje zarządzane w profilu służbowym. Do więcej informacji o konfigurowaniu profilu służbowego na potrzeby programowania znajdziesz w przewodniku dla programistów Profile służbowe

Udostępnianie w pełni zarządzanego urządzenia

Organizacje używają w pełni zarządzanych urządzeń, ponieważ mogą wdrożyć pełny zakres funkcji zarządzania. zasad na danym urządzeniu. Aby udostępnić w pełni zarządzane urządzenie, wykonaj te czynności:

  1. Zainstaluj Testową wersję DPC na urządzeniu.
  2. Upewnij się, że na urządzeniu nie ma innych użytkowników ani profilu służbowego.
  3. Sprawdź, czy na urządzeniu nie ma żadnych kont.
  4. Uruchom to polecenie Android Debug Bridge (adb) w terminal:
    adb shell dpm set-device-owner com.afwsamples.testdpc/.DeviceAdminReceiver
  5. Po zakończeniu obsługi administracyjnej właściciela urządzenia możesz przetestować aplikację na tym urządzeniu. Ty powinni przetestować, jak konfiguracje zarządzane oraz intents – na tym urządzeniu.

Możesz też użyć innych metod obsługi administracyjnej – zobacz Przewodnik użytkownika testowania DPC. Aby dowiedzieć się, jak IT administratorzy zwykle rejestrują i obsługują urządzenia z systemem Android, przeczytaj artykuł Udostępnij urządzenia.

Kompleksowe testowanie

Gdy zakończysz testowanie aplikacji w tych środowiskach, warto przetestować aplikację w kompleksowej wersji produkcyjnej dla środowiska. Ten proces obejmuje kroki, które musi wykonać klient mogą wdrożyć aplikację w organizacji, w tym:

  • Rozpowszechnianie aplikacji w Google Play
  • Konfiguracja zarządzana po stronie serwera
  • Kontrola zasad profilu po stronie serwera

Aby to zrobić, musisz uzyskać dostęp do konsoli EMM. i testowania. Najłatwiejszym sposobem na jego uzyskanie jest wysłanie prośby o konsolę testową z dostawcy usług EMM. Po uzyskaniu dostępu wykonaj te czynności:

  1. Utwórz testową wersję aplikacji za pomocą new ApplicationId.
  2. Zarezerwuj zarządzaną domenę Google i powiąż ją z usługą EMM. Jeśli masz już domenę testową, która jest powiązana z dostawcą usług EMM, może być konieczne aby usunąć jego powiązanie i przetestować ją z wybranym dostawcą usług EMM. Zapoznaj się ze swoim usług EMM na potrzeby poszczególnych kroków usuwania powiązania.
  3. Opublikuj aplikację na kanale prywatnym, aby zarządzaną domeną Google.
  4. W konsoli EMM i aplikacji EMM możesz wykonywać te czynności:
    1. Skonfiguruj urządzenia służbowe.
    2. Rozpowszechniaj swoją aplikację.
    3. Ustaw konfigurację zarządzaną.
    4. Konfigurowanie zasad dotyczących urządzeń.

Ten proces może się różnić w zależności od dostawcy usług EMM. Zapoznaj się ze swoim Więcej informacji znajdziesz w dokumentacji usług EMM. Gratulacje! Ukończono tych czynności i upewniliśmy się, że aplikacja dobrze działa w przypadku użytkowników firmowych.