Dela via


Läge för delad enhet för Android-enheter

Medarbetare i frontlinjen som butiksanställda, flygbesättningsmedlemmar och fältservice arbetare använder ofta en delad mobil enhet för att utföra sitt arbete. Det blir problematiskt när de börjar dela lösenord eller pin-nummer för att få åtkomst till kund- och affärsdata på den delade enheten.

Med läget Delad enhet kan du konfigurera en Android-enhet så att den enkelt kan delas av flera anställda. Anställda kan logga in och komma åt kundinformation snabbt. När de är klara med sitt skift eller sin uppgift kan de logga ut från enheten, och den är omedelbart redo för nästa medarbetare att använda.

Läget för delad enhet ger även Microsoft-identitetsbaserad hantering av enheten.

För att skapa en app för delat enhetsläge arbetar utvecklare och molnenhetsadministratörer tillsammans:

  • Utvecklare skriver en app med ett enda konto (appar med flera konton stöds inte i läget för delad enhet), lägger till "shared_device_mode_supported": true i appens konfiguration och skriver kod för att hantera saker som utloggning av delade enheter.
  • Enhetsadministratörer förbereder enheten som ska delas genom att installera autentiseringsappen och ställa in enheten i delat läge med autentiseringsappen. Endast användare som har rollen Molnenhetsadministratör kan placera en enhet i delat läge med hjälp av Authenticator-appen. Du kan konfigurera medlemskapet för dina organisationsroller i administrationscentret för Microsoft Entra under:

Identitetsroller och administratörsroller>och administratörer Molnenhetsadministratör.>>

Den här artikeln fokuserar främst på vad utvecklare bör tänka på.

Program med ett eller flera konton

Program som skrivits med Microsoft Authentication Library (MSAL) SDK kan hantera ett enda konto eller flera konton. Mer information finns i läget för ett enskilt konto eller läget för flera konton.

De Microsofts identitetsplattform funktioner som är tillgängliga för din app varierar beroende på om programmet körs i läget för ett konto eller flera konton.

Appar för delat enhetsläge fungerar bara i läge med ett enda konto.

Viktigt!

Program som endast stöder läget för flera konton kan inte köras på en delad enhet. Om en anställd läser in en app som inte stöder ett kontoläge körs den inte på den delade enheten.

Appar som skrivits innan MSAL SDK släpptes körs i läget för flera konton och måste uppdateras för att stödja enkontoläge innan de kan köras på en enhet med delat läge.

Stöd för både ett konto och flera konton

Din app kan skapas för att stödja körning på både personliga enheter och delade enheter. Om din app för närvarande har stöd för flera konton och du vill ha stöd för läget för delad enhet lägger du till stöd för ett kontoläge.

Du kan också vilja att appen ändrar sitt beteende beroende på vilken typ av enhet den körs på. Använd ISingleAccountPublicClientApplication.isSharedDevice() för att avgöra när du ska köra i enkontoläge.

Det finns två olika gränssnitt som representerar vilken typ av enhet programmet är på. När du begär en programinstans från MSAL:s programfabrik tillhandahålls rätt programobjekt automatiskt.

Följande objektmodell illustrerar vilken typ av objekt du kan få och vad det innebär i kontexten för en delad enhet:

public client application inheritance model

Du måste göra en typkontroll och casta till rätt gränssnitt när du hämtar objektet PublicClientApplication . Följande kod söker efter flera kontolägen eller enskilda kontolägen och omvandlar programobjektet på rätt sätt:

private IPublicClientApplication mApplication;

        // Running in personal-device mode?
        if (mApplication instanceOf IMultipleAccountPublicClientApplication) {
          IMultipleAccountPublicClientApplication multipleAccountApplication = (IMultipleAccountPublicClientApplication) mApplication;
          ...
        // Running in shared-device mode?
        } else if (mApplication instanceOf ISingleAccountPublicClientApplication) {
           ISingleAccountPublicClientApplication singleAccountApplication = (ISingleAccountPublicClientApplication) mApplication;
            ...
        }

Följande skillnader gäller beroende på om din app körs på en delad eller personlig enhet:

Enhet för delat läge Personlig enhet
Konton Enskilt konto Flera konton
Inloggning Global Global
Logga ut Global Varje program kan styra om utloggningen är lokal för appen.
Kontotyper som stöds Endast arbetskonton Personliga konton och arbetskonton stöds

Därför kanske du bara vill ha stöd för ett kontoläge

Om du skriver en app som endast ska användas för arbetare i frontlinjen med hjälp av en delad enhet rekommenderar vi att du skriver ditt program för att endast stödja läget för ett enda konto. Detta omfattar de flesta program som är uppgiftsfokuserade, till exempel appar för medicinska journaler, fakturaappar och de flesta verksamhetsspecifika appar. Endast stöd för enkontoläge förenklar utvecklingen eftersom du inte behöver implementera de andra funktionerna som ingår i appar med flera konton.

Vad händer när enhetsläget ändras

Om programmet körs i läget för flera konton och en administratör placerar enheten i läget delad enhet rensas alla konton på enheten från programmet och programmet övergår till läget för ett konto.

Microsoft-program som stöder delat enhetsläge

Dessa Microsoft-program stöder microsoft entra-läget för delad enhet:

MdM:er från tredje part som stöder läget för delad enhet

Den här mobila Enhetshantering från tredje part (MDM) som stöder delat Enhetsläge i Microsoft Entra:

Utloggning av delad enhet och den övergripande applivscykeln

När en användare loggar ut måste du vidta åtgärder för att skydda användarens sekretess och data. Om du till exempel skapar en app för medicinska journaler vill du se till att patientjournalerna rensas när användaren loggar ut tidigare. Ditt program måste vara förberett för datasekretess och kontrollera varje gång det går in i förgrunden.

När din app använder MSAL för att logga ut användaren i en app som körs på en enhet som är i delat läge, tas det inloggade kontot och cachelagrade token bort från både appen och enheten.

Följande diagram visar den övergripande applivscykeln och vanliga händelser som kan inträffa när appen körs. Diagrammet omfattar från den tidpunkt då en aktivitet startas, loggar in och loggar ut ett konto och hur händelser som att pausa, återuppta och stoppa aktiviteten passar in.

Shared device app lifecycle

Nästa steg

Mer information om hur du kör en arbetsapp i frontlinjen i ett delat läge på Android-enhet finns i: