Sdílet prostřednictvím


Intune App SDK pro Android – Základy integrace MAM

Sada Microsoft Intune App SDK pro Android umožňuje začlenit zásady ochrany aplikací Intune (označované také jako zásady APP nebo MAM) do nativní aplikace Java/Kotlin pro Android. Aplikace spravovaná v Intune je aplikace integrovaná se sadou Intune App SDK. Správci Intune můžou zásady ochrany aplikací snadno nasadit do aplikace spravované v Intune, když Intune aplikaci aktivně spravuje.

Poznámka

Tato příručka je rozdělená do několika různých fází. Začněte tím, že si projděte fázi 1: Plánování integrace.

Fáze 4: Základy integrace MAM

Cíle fáze

  • Povolte striktní režim MAM.
  • Zaregistrujte si důležitá oznámení ze sady SDK.
  • Implementujte a zaregistrujte zpětné volání ověřování, které poskytne tokeny Microsoft Entra z MSAL do sady SDK.
  • Po ověření v MSAL zaregistrujte nové účty pro správu MAM.
  • Zrušením registrace účtů při odhlášení odeberte podniková data.
  • (Doporučeno) Začleňte do aplikace přihlašování MAM.
  • (Doporučeno) Naučte se používat dialogové okno diagnostiky sady SDK.

Pozadí

Teď, když máte sadu Intune App SDK staženou, integrovanou do sestavení a úspěšně provádíte nahrazení tříd a metod, je čas provést nezbytné změny kódu, abyste mohli začít vynucovat nastavení zásad ochrany aplikací pro účty chráněné mam.

V této fázi se dozvíte, jak se připojit k protokolování sady SDK, vyvolat dialogové okno diagnostiky, povolit striktní režim MAM k identifikaci možných chyb integrace, zaregistrovat oznámení ze sady SDK a co je nejdůležitější, jak zaregistrovat účet pro Intune MAM, aby se začaly přijímat zásady.

Striktní režim MAM

Striktní režim MAM dokáže identifikovat potenciální chyby v integraci vaší aplikace se sadou Intune App SDK. Tyto chyby integrace můžou mít za následek selhání správného použití zásad ochrany aplikací a ponechání podnikových dat bez ochrany. V důsledku toho se vyžaduje použití striktního režimu MAM.

Striktní režim MAM hledá anomálie ve využití rozhraní API MAM a rozhraní API platformy s omezeným přístupem MAM ve vaší aplikaci. Mam Strict Mode, volně podle vzoru Po StrictMode Androidu, spouští předdefinovanou sadu kontrol, které vyvolávají chyby za běhu, když selžou. Striktní režim MAM nemá být povolený v produkčních buildech. místo toho ho použijte v interních vývojových, ladicích a/nebo buildech pro dogfood vaší aplikace.

Pokud chcete povolit striktní režim MAM, zavolejte

MAMStrictMode.enable();

Inicializace aplikace v rané fázi (například Application.onCreate).

Pokud se kontrola striktního režimu MAM nezdaří, zkuste zjistit, jestli se jedná o skutečný problém, který se dá ve vaší aplikaci opravit, nebo jestli se jedná o falešně pozitivní. Pokud se domníváte, že se jedná o falešně pozitivní zprávu nebo si nejste jistí, dejte vědět týmu Intune MAM. To nám umožní zajistit, abychom souhlasili s falešně pozitivním rozhodnutím a pokusili se zlepšit detekci pro budoucí verze. Pokud chcete potlačit falešně pozitivní výsledky, podle následujících pokynů zakažte neúspěšnou kontrolu.

Zpracování porušení

Když kontrola selže, spustí MAMStrictViolationHandler. Výchozí obslužná rutina vyvolá chybu Error, u které se očekává chybové ukončení aplikace. To je proto, aby chyby byly co nejvíce hlučné a odpovídaly záměru, že by v produkčních buildech neměl být povolený striktní režim.

Pokud by vaše aplikace chtěla nakládat s porušeními jinak, může zadat vlastní obslužnou rutinu voláním:

MAMStrictMode.global().setHandler(handler);

Kde handler implementuje MAMStrictViolationHandler.

Potlačení kontrol

Pokud kontrola selže v situaci, kdy vaše aplikace nedělá nic nesprávného, nahlaste to, jak je uvedeno výše. Do té doby může být nutné zakázat kontrolu výskytu falešně pozitivního stavu, a to alespoň při čekání na aktualizovanou sadu SDK. Kontrola, která selhala, se zobrazí v chybě vyvolané výchozí obslužnou rutinou nebo se předá vlastní obslužné rutině, pokud je nastavená.

I když lze potlačení provádět globálně, preferuje se dočasné zakázání jednotlivých vláken na konkrétním webu volání. Následující příklady ukazují různé způsoby, jak zakázat MAMStrictCheck.IDENTITY_NO_SUCH_FILE (vyvolány, pokud se pokusíte chránit soubor, který neexistuje).

dočasné potlačení Per-Thread

Toto je upřednostňovaný mechanismus potlačení.

try (StrictScopedDisable disable = MAMStrictMode.thread().disableScoped(MAMStrictCheck.IDENTITY_NO_SUCH_FILE)) {
    // Perform the operation which raised a violation here
}
// The check is no longer disabled once the block exits

Per-Thread trvalé potlačení

MAMStrictMode.thread().disable(MAMStrictCheck.IDENTITY_NO_SUCH_FILE);

Globální (celoprocesové) potlačení

MAMStrictMode.global().disable(MAMStrictCheck.IDENTITY_NO_SUCH_FILE);

Registrace oznámení ze sady SDK

Intune App SDK vydává mnoho různých typů oznámení, aby aplikace informovaly o operacích správy citlivých na čas. Vaše aplikace se může zaregistrovat a při přijímání těchto oznámení provádět akce.

Když například správce IT vydá příkaz k selektivnímu vymazání zařízení, služba Intune odešle do sady SDK oznámení, které se předá vaší aplikaci jako WIPE_USER_DATA. Vaše aplikace může naslouchat tomuto oznámení a řídit, jaká data se vymažou. nebo se může spolehnout na výchozí chování sady SDK při vymazání.

Mnoho oznámení je nepovinných. V závislosti na funkcích sady SDK, které vaše aplikace používá, se můžou vyžadovat některá oznámení. Podrobnosti o tom, jak se zaregistrovat k oznámením, která sada SDK doručuje a jak zpracovávat konkrétní typy oznámení, najdete v tématu Registrace oznámení ze sady SDK ve fázi 7: Funkce účasti aplikací.

Registrace zásad ochrany aplikací

Když správci vytvářejí zásady ochrany aplikací, cílí tyto zásady na konkrétní účty ve své organizaci. V klientovi potřebuje sada SDK vědět, který účet aplikaci používá, aby načetla zásady daného účtu a vynucovat příslušná nastavení. Vaše aplikace zodpovídá za poskytování informací o tomto účtu sadě SDK. Tento proces se nazývá registrace.

Pokaždé, když vaše aplikace přidá nový účet, musí ho zaregistrovat v sadě SDK, i když už jsou zaregistrované jiné účty. Vaše aplikace může registrovat více účtů. V současné době je ale možné zaregistrovat jenom jeden účet nebo použít zásady ochrany aplikací. V Androidu platí toto omezení pro jeden spravovaný účet pro celé zařízení.

Registrace vs. registrace

Registrace je proces, při kterém vaše aplikace informuje sadu SDK o tom, že se používá nový účet. Sada SDK obsahuje funkce, které vaše aplikace musí volat pro registraci a zrušení registrace účtů.

Registrace je proces, při kterém sada SDK zaznamenává zaregistrovaný účet ve službě Intune, aby mohl použít zásady účtu. Vaše aplikace nemusí volat žádné funkce pro registraci. Sada SDK plně zpracovává registraci po registraci účtu.

Pokud už je jeden účet zaregistrovaný pro vaši aplikaci, když zaregistruje jiný účet, i když je tento účet cílený na zásady ochrany aplikací, tento druhý účet se nezaregistruje a zásady se nepoužijí.

Poznámka

Termín "registrace" může také odkazovat na registraci MDM pro celé zařízení. Další informace najdete v dodatku k mdm a registraci MAM.

Implementace registrace

Upozornění

Pokud vaše aplikace nástroj MSAL neintegruje (důrazně doporučujeme), přečtěte si místo pokračování v této části část Výchozí registrace v příloze .

Vaše aplikace musí provést tři změny kódu, aby úspěšně zaregistrovala účet:

  1. Aplikace musí implementovat a zaregistrovat instanci rozhraní MAMServiceAuthenticationCallback . Instance zpětného volání musí být registrována onCreate() v metodě (nebo onMAMCreate()) podtřídy Application.

  2. Když se účet vytvoří a uživatel se úspěšně přihlásí pomocí MSAL, aplikace musí volat registerAccountForMAM.

  3. Když se účet odebere, měla by aplikace volat unregisterAccountForMAM , aby se účet odebral ze správy Intune.

    Upozornění

    Volání může zahájit vymazání, které úplně odebere podniková data pro účet.

Všechna potřebná rozhraní API pro ověřování a registraci najdete v rozhraní MAMEnrollmentManager . Odkaz na MAMEnrollmentManager objekt lze získat následujícím způsobem:

MAMEnrollmentManager mgr = MAMComponents.get(MAMEnrollmentManager.class);

// make use of mgr

Je zaručeno, že vrácená MAMEnrollmentManager instance nebude mít hodnotu null. Metody rozhraní API spadají do dvou kategorií: ověřování a registrace účtu.

MAMEnrollmentManager a ověřování

Sada SDK často komunikuje se službou Intune: při registraci registrovaných účtů, při získávání aktualizací nastavení zásad ochrany aplikací a při získávání čekajících akcí správce, jako je selektivní vymazání chráněných dat v aplikaci. Pro úspěšnou komunikaci se službou Intune vyžaduje sada SDK nové přístupové tokeny z aplikací, které mají integrovanou knihovnu MSAL.

Pokud sada SDK nemůže načíst nový token, nebude moct komunikovat se službou Intune, což může zpozdit načtení a vynucování nových nastavení zásad nebo akcí správce. Je důležité, aby vaše aplikace tyto kroky dokončila, aby se zajistilo bezproblémové vynucování zásad.

Ve fázi 2 jste do své aplikace integrují knihovnu MSAL za účelem ověřování a získávání přístupových tokenů. Tady implementujete zpětné volání ověřování, které umožní sadě SDK vyžadovat potřebné tokeny.

MAMEnrollmentManager má následující metody ověřování:

interface MAMServiceAuthenticationCallback {
    String acquireToken(String upn, String aadId, String resourceId);
}
interface MAMServiceAuthenticationCallbackExtended extends MAMServiceAuthenticationCallback {
    String acquireToken(String upn, String aadId, String tenantId, String authority, String resourceId);
}
void registerAuthenticationCallback(MAMServiceAuthenticationCallback callback);
void updateToken(String upn, String aadId, String resourceId, String token);
  1. Aplikace musí implementovat rozhraní MAMServiceAuthenticationCallback nebo MAMServiceAuthenticationCallbackExtended rozhraní, aby mohla sada SDK požadovat token Microsoft Entra pro daný účet a ID prostředku. Instance zpětného volání musí být poskytována MAMEnrollmentManager voláním metody registerAuthenticationCallback . Token může být potřeba na začátku životního cyklu aplikace pro opakování registrace nebo obnovení zásad ochrany aplikací, takže zpětné volání musí být zaregistrované v onCreate() metodě (nebo onMAMCreate()) podtřídy aplikace Application .

  2. Metoda acquireToken by měla získat přístupový token pro požadované ID prostředku pro daný účet. Pokud nemůže získat požadovaný token, měl by vrátit hodnotu null.

    Tip

    Ujistěte se, že vaše aplikace využívá resourceId parametry a aadId předané do acquireToken() , aby se získal správný token. Hodnota resourceId by se měla použít ke generování správných oborů a aadId měla by se použít k předání správného účtu. Pokud vaše aplikace potřebuje ke správnému získání tokenu autoritu Microsoft Entra, implementujte MAMServiceAuthenticationCallbackExtended rozhraní.

    class MAMAuthCallback implements MAMServiceAuthenticationCallback {
        public String acquireToken(String upn, String aadId, String resourceId) {
            final String[] scopes = {resourceId + "/.default"};
    
            final IAccount account = getAccount(aadId);
            if (account == null) {
                callback.onError(
                        new MsalUiRequiredException(MsalUiRequiredException.NO_ACCOUNT_FOUND, "no account found for " + aadId));
                return;
            }
    
            AcquireTokenSilentParameters params =
                new AcquireTokenSilentParameters.Builder()
                        .forAccount(account)
                        .fromAuthority(account.getAuthority())
                        .withScopes(Arrays.asList(scopes))
                        .withCallback(callback)
                        .build();
    
            return mMsalClientApplication.acquireTokenSilent(params);
        }
    
        private static IAccount getAccount(String aadId) throws InterruptedException, MsalException {
          IAccount account = null;
    
          if (mMsalClientApplication instanceof IMultipleAccountPublicClientApplication) {
              IMultipleAccountPublicClientApplication multiAccountPCA =
                      (IMultipleAccountPublicClientApplication) mMsalClientApplication;
    
              account = multiAccountPCA.getAccount(aadId);
          } else {
              ISingleAccountPublicClientApplication singleAccountPCA =
                      (ISingleAccountPublicClientApplication) mMsalClientApplication;
    
              ICurrentAccountResult accountResult = singleAccountPCA.getCurrentAccount();
              if (accountResult != null) {
                  account = accountResult.getCurrentAccount();
                  // make sure this is the correct user
                  if (account != null && !account.getId().equals(aadId))
                      account = null;
              }
          }
          return account;
      }
    }
    
  3. V případě, že aplikace nemůže poskytnout token, když volá acquireToken() sada SDK ( například pokud se nezdaří tiché ověřování a je nevhodná doba na zobrazení uživatelského rozhraní ), aplikace může token poskytnout později voláním metody updateToken . Stejný hlavní název uživatele (UPN), ID Microsoft Entra a ID prostředku, které byly požadovány předchozím voláním , acquireToken() musí být předány do updateToken()souboru společně s tokenem, který byl nakonec získán. Aplikace by měla tuto metodu volat co nejdříve po vrácení hodnoty null ze zadaného zpětného volání.

    Upozornění

    Nevolejte updateToken() z vaší implementace acquireToken(). updateToken() by se měla použít v případě, že acquireToken() nelze získat token.

    Poznámka

    Sada SDK bude pravidelně volat acquireToken() token, takže volání updateToken() není nezbytně nutné. Důrazně se ale doporučuje, protože může pomoct včas dokončit registrace a ohlášení zásad ochrany aplikací.

Poznámky k implementaci ověřování

  • Aplikacím se doporučuje získat tokeny Microsoft Entra před volánímregisterAccountForMAM. Po registraci účtu aplikace obdrží zpětné volání metody registrovaného MAMServiceAuthenticationCallbackacquireToken() uživatele v jiném vlákně. Poskytnutí platného tokenu v daném zpětném volání umožňuje pokračovat v registraci. Aplikace získá výsledek registrace prostřednictvím oznámení.

  • Pokud aplikace nevrátí platný token Microsoft Entra, konečný výsledek pokusu o registraci bude AUTHORIZATION_NEEDED. Pokud aplikace obdrží tento výsledek prostřednictvím oznámení, doporučuje se urychlit proces registrace získáním tokenu pro účet a prostředek, o který se dříve požádalo acquireToken , a voláním metody updateToken znovu zahájit proces registrace.

  • Aplikace zaregistrovaná MAMServiceAuthenticationCallback bude také volána, aby získala token pro pravidelné vracení se změnami aktualizací zásad ochrany aplikací. Pokud aplikace nemůže na vyžádání poskytnout token, nedostane oznámení, ale měla by se pokusit token získat a volat updateToken() v nejbližší vhodný čas, aby urychlila proces ohlášení. Pokud token není k dispozici, může se zpětné volání přesto volat při dalším pokusu o vrácení se změnami.

  • Podpora suverénních cloudů vyžaduje poskytnutí autority.

  • Pokud MAMServiceAuthenticationCallbackExtended je implementované rozhraní, není nutné implementovat zděděnou acquireToken() metodu MAMServiceAuthenticationCallbackExtended zMAMServiceAuthenticationCallback, protože rozhraní poskytuje výchozí implementaci.

MAMEnrollmentManager a registrace

Pokaždé, když aplikace přidá účet, musí ho zaregistrovat v sadě SDK. Stejně tak pokaždé, když aplikace odebere účet, měla by zrušit registraci účtu, aby bylo jasné, že aplikace už by pro tento účet neměla uplatňovat zásady. Pokud byl účet zaregistrovaný ve službě MAM, jeho registrace se zruší a aplikace se vymaže.

MAMEnrollmentManager má následující metody registrace účtu:

void registerAccountForMAM(String upn, String aadId, String tenantId);
void registerAccountForMAM(String upn, String aadId, String tenantId, String authority);
void unregisterAccountForMAM(String upn, String aadId);
Result getRegisteredAccountStatus(String upn, String aadId);
  1. Pokud chcete zaregistrovat účet pro správu, měla by aplikace volat registerAccountForMAM(). Účet je identifikovaný podle hlavního názvu uživatele (UPN) i id uživatele Microsoft Entra. ID tenanta se také vyžaduje k přidružení registračních dat k tenantovi Microsoft Entra účtu. Může být také poskytnuta autorita účtu, která umožňuje registraci do konkrétních suverénních cloudů. Další informace najdete v tématu Registrace suverénního cloudu. Sada SDK se může pokusit zaregistrovat aplikaci pro daný účet ve službě MAM. Pokud se registrace nezdaří, bude se pravidelně opakovat, dokud nebude registrace úspěšná nebo dokud se účet neregistruje. Doba opakování je obvykle 12 až 24 hodin. Sada SDK poskytuje stav pokusů o registraci asynchronně prostřednictvím oznámení.

  2. Nejlepší doba volání registerAccountForMAM je, když se uživatel přihlásí k aplikaci a úspěšně se ověří pomocí MSAL. ID uživatele Microsoft Entra a ID tenanta účtu se vrátí z volání ověřování MSAL jako součást souvisejícího IAccount s IAuthenticationResult.

    • Účet pochází z IAuthenticationResult.getAccount() metody a obsahuje příslušné informace o účtu.
    • ID AAD pochází z IAccount.getId() metody .
    • ID tenanta pochází z IAccount.getTenantId() metody .
    • Autorita pochází z IAccount.getAuthority() metody .
  3. Pokud chcete zrušit registraci účtu ve správě Intune, měla by aplikace volat unregisterAccountForMAM(). Pokud byl účet úspěšně zaregistrován a je spravovaný, sada SDK zruší registraci účtu a vymaže jeho data. Pravidelné pokusy o registraci účtu se zastaví. Sada SDK poskytuje stav žádostí o zrušení registrace asynchronně prostřednictvím oznámení.

Poznámky k implementaci registrace

  • Metody registrace jsou idempotentní. Například registerAccountForMAM zaregistruje účet a pokusí se zaregistrovat aplikaci jenom v případě, že účet ještě není zaregistrovaný, a zrušení registraceAccountForMAM zruší registraci účtu jenom v případě, že je aktuálně zaregistrovaný. Následná volání jsou no-ops, takže není na škodu volání těchto metod více než jednou.

  • Není zaručeno, že každý hovor registrace nebo zrušení registrace bude mít odpovídající oznámení o výsledku. Pokud registerAccountForMAM() je například volána pro účet, který je již zaregistrovaný, nemusí být oznámení pro tuto identitu odesláno znovu. Sada SDK může také odesílat oznámení, i když vaše aplikace tyto metody nevolala, protože sada SDK se může pravidelně pokoušet o registraci na pozadí a zrušení registrace se může aktivovat žádostmi o vymazání přijatými ze služby Intune.

  • Metody registrace je možné volat pro libovolný počet různých účtů, ale v současné době je možné úspěšně zaregistrovat pouze jeden účet. Pokud je ve stejnou dobu zaregistrovaných více účtů licencovaných pro Intune a určených zásadami ochrany aplikací, není zaručeno, který z nich závod vyhraje.

  • Pomocí metody getRegisteredAccountStatus můžete zjistit, jestli je určitý účet zaregistrovaný, a zjistit jeho aktuální stav pomocí dotazu MAMEnrollmentManager. Pokud zadaný účet není zaregistrovaný, vrátí tato metoda hodnotu null. Pokud je účet zaregistrovaný, tato metoda vrátí stav účtu jako jeden ze členů výčtu MAMEnrollmentManager.Result .

Registrace suverénního cloudu

Azure podporuje několik fyzicky izolovaných cloudů, označovaných jako suverénní nebo národní cloudy. Pokud vaše aplikace podporuje suverénní cloud, musí poskytnout authority parametr pro registerAccountForMAM().

Doprovodné materiály k MSAL

V případě knihovny MSAL nastavte multiple_clouds_supported v konfiguračním souboru MSAL na true .

{
  "multiple_clouds_supported": true,
}

Kódy výsledků registrace a stavové kódy

Když se účet poprvé zaregistruje, začne ve PENDING stavu, který značí, že počáteční pokus o registraci služby MAM je neúplný. Po dokončení pokusu o registraci se odešle oznámení s jedním z kódů výsledků v následující tabulce. Kromě toho metoda getRegisteredAccountStatus vrátí stav účtu, aby aplikace vždy zjistila, jestli má tento účet vynucované zásady ochrany aplikací. Pokud se pokus o registraci nezdaří, stav účtu se může v průběhu času měnit, protože sada SDK opakuje registraci na pozadí.

Kód výsledku Vysvětlení
AUTHORIZATION_NEEDED Tento výsledek značí, že token neposkytla zaregistrovaná instance MAMServiceAuthenticationCallback aplikace nebo že zadaný token byl neplatný. Aplikace by měla získat platný token a pokud je to možné, volat updateToken .
NOT_LICENSED Účet není licencovaný pro Intune nebo pokus o kontaktování služby Intune MAM selhal. Aplikace by měla pokračovat v nespravovaném (normálním) stavu a uživatel by neměl být blokovaný. Registrace se budou pravidelně opakovat, pokud se účet v budoucnu licencuje.
ENROLLMENT_SUCCEEDED Pokus o registraci byl úspěšný nebo je účet již zaregistrovaný. V případě úspěšné registrace se před tímto oznámením odešle oznámení o aktualizaci zásad. Přístup k podnikovým datům by měl být povolený.
ENROLLMENT_FAILED Pokus o registraci se nezdařil. Další podrobnosti najdete v protokolech zařízení. Aplikace by v tomto stavu neměla povolovat přístup k podnikovým datům, protože se dříve zjistilo, že účet je licencovaný pro Intune. Všechny aplikace by měly zajistit neoprávněný přístup k podnikovým datům, dokud ENROLLMENT_SUCCEEDED ho aplikace nezískáte.
WRONG_USER Aplikaci ve službě MAM může zaregistrovat jenom jeden účet na každé zařízení. Tento výsledek znamená, že na účet, pro který byl tento výsledek doručen (druhý účet), cílí zásady MAM, ale už je zaregistrovaný jiný účet. Vzhledem k tomu, že zásady MAM nelze vynutit pro druhý účet, nesmí vaše aplikace povolit přístup k datům tohoto účtu (případně odebráním účtu z aplikace), pokud nebo dokud registrace tohoto účtu nebude později úspěšná. Současně s doručením tohoto WRONG_USER výsledku mam zobrazí výzvu k odebrání existujícího účtu. Pokud uživatel odpoví kladně, bude skutečně možné zaregistrovat druhý účet o chvíli později. Dokud zůstane zaregistrovaný druhý účet, MAM pravidelně opakuje registraci.
UNENROLLMENT_SUCCEEDED Zrušení registrace proběhlo úspěšně.
UNENROLLMENT_FAILED Žádost o zrušení registrace se nezdařila. Další podrobnosti najdete v protokolech zařízení. Obecně platí, že k tomu nedojde, pokud aplikace předá platný hlavní název uživatele (ani jeho hodnotu null, ani prázdný). Aplikace nemůže provést žádnou přímou a spolehlivou nápravu. Pokud se tato hodnota obdrží při zrušení registrace platného hlavního názvu uživatele (UPN), nahlaste to týmu Intune MAM jako chybu.
PENDING Probíhá počáteční pokus o registraci účtu. Aplikace může blokovat přístup k podnikovým datům, dokud nebude znám výsledek registrace, ale není k tomu nutná.
COMPANY_PORTAL_REQUIRED Účet je licencovaný pro Intune, ale aplikaci nebude možné zaregistrovat, dokud se na zařízení nenainstaluje aplikace Portál společnosti. Intune App SDK se pokusí zablokovat přístup k aplikaci pro daný účet a nasměrovat je k instalaci aplikace Portál společnosti. Při odesílání tohoto oznámení do aplikace zobrazí sada Intune App SDK nad aktuální aktivitou neodblokující uživatelské rozhraní, pokud je aktivita aktuálně viditelná pro uživatele nebo při onResume příštím volání. Pokud uživatel zruší toto odblokovací uživatelské rozhraní, sada Intune App SDK zobrazí blokující uživatelské rozhraní při onCreate příštím volání aktivity a spraví se aktuální identita (podrobnosti o řešení potíží najdete níže).

Protokolování by se mělo inicializovat co nejdříve, aby se z zaprotokolovaných dat získala maximální hodnota. Application.onMAMCreate() obvykle je nejlepším místem pro inicializaci protokolování.

Pokud chcete ve své aplikaci přijímat protokoly MAM, vytvořte obslužnou rutinu Java a přidejte ji do souboru MAMLogHandlerWrapper. To vyvolá obslužnou publish() rutinu aplikace pro každou zprávu protokolu.

/**
 * Global log handler that enables fine grained PII filtering within MAM logs.  
 * To start using this you should build your own log handler and add it via
 * MAMComponents.get(MAMLogHandlerWrapper.class).addHandler(myHandler, false);  
 * You may also remove the handler entirely via
 * MAMComponents.get(MAMLogHandlerWrapper.class).removeHandler(myHandler);
 */
public interface MAMLogHandlerWrapper {
    /**
     * Add a handler, PII can be toggled.
     * @param handler handler to add.
     * @param wantsPII if PII is desired in the logs.    
     */
    void addHandler(final Handler handler, final boolean wantsPII);

    /**
     * Remove a handler.
     * @param handler handler to remove.
     */
    void removeHandler(final Handler handler);
}

Poznámka

PII je zkratka pro "identifikovatelné osobní údaje" a mohou zahrnovat data, jako jsou uživatelská jména a hlavní názvy uživatele(UPN). Důrazně doporučujeme takové osobní údaje vyloučit ze svých vlastních produkčních protokolů. Další podrobnosti najdete v zásadách ochrany osobních údajů společnosti Microsoft .

Aplikace Portál společnosti Intune nabízí několik možností pro shromažďování diagnostických informací. Portál společnosti obsahuje uživatelské rozhraní, které:

  • Umožňuje koncovým uživatelům shromažďovat protokoly portálu společnosti.
  • Zobrazí metadata zařízení a účtu.
  • Obsahuje informace o aktuálních zásadách MAM pro jednotlivé aplikace.

Diagnostické uživatelské rozhraní Intune Informace o aplikaci Intune

Podrobné vysvětlení dat obsažených v protokolech portálu společnosti a v diagnostickém uživatelském rozhraní najdete v části Principy protokolů portálu společnosti v příloze.

Tip

Pokud testujete s účtem, který by měl mít zásady MAM, ale diagnostika nezobrazuje žádné zásady pro název balíčku vaší aplikace, přečtěte si část Řešení potíží níže.

Aplikace můžou spustit toto diagnostické uživatelské rozhraní voláním MAMPolicyManager.showDiagnostics(context). Koncoví uživatelé můžou také spustit diagnostickou konzolu Portálu společnosti prostřednictvím Microsoft Edge zadáním about:intunehelp do adresního řádku. Jedná se o volitelnou funkci, která může pomoct s laděním.

Tyto diagnostické informace jsou dostupné jenom v případě, že je portál společnosti nainstalovaný na zařízení. Dialogové okno s upozorněním se zobrazí vždy, když showDiagnostics se zavolá bez nainstalovaného Portálu společnosti.

Kritéria ukončení

V tomto okamžiku integrace teď vaše aplikace může přijímat a vynucovat zásady ochrany aplikací. Provedením následujících testů ověřte integraci.

První test aplikace zásad

Nejprve spusťte následující test, abyste se seznámili s úplným prostředím koncového uživatele aplikace zásad v rámci vaší aplikace:

  1. V Centru pro správu Microsoft Intune vytvořte zásady ochrany aplikací pro Android (podrobnosti najdete v tématu Vytvoření testovacích zásad ochrany aplikací pro Android ve fázi 1). Pro účely tohoto testu nakonfigurujte zásadu:
    • V části Ochrana dat nastavte "Snímek obrazovky a Google Assistant" na "Blokovat".
    • V části Požadavky na přístup ponechte výchozí nastavení. Konkrétně by "PIN pro Access" měl být "Vyžadovat".
  2. Ujistěte se, že zásady ochrany aplikací cílí na vaši aplikaci. Název balíčku budete pravděpodobně muset přidat ručně v průvodci vytvořením zásad.
  3. Přiřaďte zásady ochrany aplikací skupině uživatelů obsahující váš testovací účet.
  4. Na testovacím zařízení s Androidem odinstalujte další aplikace integrované se sadou SDK, jako jsou Microsoft Outlook, Teams, OneDrive a Office. Odinstalujte také aplikaci Portál společnosti Intune a aplikaci Microsoft Authenticator.
    • Tip

      Odinstalace jiných aplikací integrovaných se sadou SDK vám pomůže zajistit, že výhradně testujete integraci vlastní aplikace.

  5. Nainstalujte aplikaci.
  6. Přihlaste se k aplikaci pomocí svého testovacího účtu, na který cílí zásady ochrany aplikací.
  7. Potvrďte, že jste vyzváni k instalaci Portálu společnosti Intune z Google Play.
    • Poznámka

      Pokud vaše testovací zařízení nemá aplikaci Google Play Store, ověřte, že jste vyzváni k instalaci Portálu společnosti Intune z jiného obchodu s aplikacemi nebo z webu Microsoftu.

  8. Nainstalujte Portál společnosti. Nemusíte spouštět Portál společnosti ani se k portálu společnosti přihlašovat.
  9. Vraťte se do aplikace a v případě potřeby se znovu přihlaste.
  10. Potvrďte, že se zobrazí výzva k zobrazení obrazovky Získat přístup. To znamená, že sada SDK úspěšně načetla zásady pro tento účet.
  11. Měli byste být vyzváni k nastavení PIN kódu aplikace. Vytvořte PIN kód.
  12. Procházejte aplikaci a pokuste se pořídit snímky obrazovky. Vzhledem k tomu, že sada SDK má zásady, mělo by být trvale blokováno na jakékoli obrazovce.
  13. Odhlaste spravovaný účet z aplikace.
  14. Pokud je to možné bez přihlášení, procházejte aplikaci a pokuste se pořídit snímky obrazovky. Teď, když je účet odebraný, by se nemělo blokovat.

Toto je minimální test, který potvrzuje, že vaše aplikace správně zaregistrovala účet, zaregistrovala zpětné volání ověřování a zrušila registraci účtu. Provedením následujících testů důkladněji ověřte, jak ostatní nastavení zásad ochrany aplikací mění chování vaší aplikace.

Testy ochrany dat

Následující testy se týkají konkrétních nastavení ochrany dat nakonfigurovaných v rámci zásad ochrany aplikací. Když změníte nastavení zásad ochrany aplikací v Centru pro správu Microsoft Intune, klient se okamžitě neaktualizuje. Tipy k urychlení testování najdete v tématu Rychlé testování se změnou zásad .

Pro tyto testy:

  1. Nainstalujte si aplikaci.
  2. Nainstalujte Portál společnosti Intune.
  3. Nainstalujte jinou spravovanou aplikaci, která bude cílit na stejné zásady jako vaše aplikace, která může kopírovat a vkládat data (například Microsoft Office).
  4. Nainstalujte (nebo znovu použijte) libovolnou nespravovanou aplikaci, která může kopírovat a vkládat data.
  5. Přihlaste se k aplikaci pomocí testovacího spravovaného účtu.
  6. Přihlaste se k druhé spravované aplikaci pomocí spravovaného testovacího účtu.
Scénář Nastavení zásad ochrany aplikací Testovací kroky
Snímek obrazovky "Snímek obrazovky a Google Assistant" nastavený na "Blokovat" 1. Přejděte na všechny stránky v aplikaci.
2. Pokuste se pořídit snímek obrazovky na každé stránce.
3. Ověřte, že jsou snímky obrazovky blokované nebo že je uložený obrázek zcela prázdný.
Kopírování textu Možnost Omezit vyjmutí, kopírování a vkládání mezi jinými aplikacemi je nastavená na aplikace spravované podle zásad. 0. Pokud vaše aplikace nemá žádný text ke zkopírování, přeskočte.
1. Přejděte na všechny stránky v aplikaci, které mají kopírovatelný text.
2. Zkopírujte text.
3. Přepněte do nespravované aplikace.
4. Pokuste se vložit do nespravované aplikace.
5. Ověřte, že je vložení zablokované.
6. Přejděte na druhou spravovanou aplikaci.
7. Pokuste se vložit spravovanou aplikaci.
8. Potvrďte, že je vkládání povolené.
Vložit text Možnost Omezit vyjmutí, kopírování a vkládání mezi jinými aplikacemi je nastavená na aplikace spravované podle zásad. 0. Pokud vaše aplikace nemá žádné textové vstupy, které by bylo potřeba vložit, přeskočte.
1. Přepněte na nespravovanou aplikaci.
2. Zkopírujte text z nespravované aplikace.
3. Přejděte na všechny stránky v aplikaci, které mají textové vstupy.
5. Pokuste se o vložení z nespravované aplikace.
5. Ověřte, že je vložení zablokované.
6. Přepněte na druhou spravovanou aplikaci.
7. Zkopírujte text z druhé spravované aplikace.
7. Přejděte na všechny stránky v aplikaci, které mají textové vstupy.
8. Pokuste se o vložení z druhé spravované aplikace.
9. Potvrďte, že je vkládání povolené.
Polygrafie "Tisk dat organizace" nastavený na "Blokovat" 0. Pokud vaše aplikace nemá žádné stránky nebo dokumenty, které by bylo možné vytisknout, přeskočte.
1. Přejděte na všechny stránky v aplikaci, které volají funkci tisku Androidu.
2. Pokuste se tisknout z každé stránky.
3. Ověřte, že je tisk blokovaný.
Spravovaný prohlížeč Možnost Omezit přenos webového obsahu s jinými aplikacemi je nastavená na Microsoft Edge. 0. Pokud vaše aplikace nevykreslí webové odkazy, přeskočte.
1. Přejděte na všechny stránky v aplikaci, které můžou zobrazovat webové odkazy nebo obsahují textové zadání, které se vykresluje do webových odkazů, na které můžete kliknout.
2. Pro každou stránku vyberte webový odkaz.
3. Ověřte, že jste vyzváni k instalaci microsoftu Edge a že se webový odkaz neotevře v jiném prohlížeči.
Omezená klávesnice "Schválené klávesnice" nastavené na "Povinné"
Možnost "Vybrat klávesnice ke schválení" nastavená jenom na balíček klávesnice, který vaše zařízení momentálně nemá nainstalované
0. Pokud vaše aplikace nemá žádné textové vstupy, přeskočte.
1. Přejděte na všechny stránky v aplikaci, které mají textové vstupy.
2. Výběrem textového vstupu otevřete klávesnici zařízení.
3. Ověřte, že jste vyzváni k instalaci nakonfigurované schválené klávesnice a že se neotevře aktuální klávesnice zařízení.

Testy přenosu dat

Nastavení přenosu dat jsou podmnožinou funkcí ochrany dat v zásadách ochrany aplikací, které řídí vstup a ukončování spravovaných aplikací. Většina aplikací, které podporují odesílání nebo příjem dat z jiných aplikací, má také možnost ukládat data do místního nebo cloudového úložiště a otevírat je z místního nebo cloudového úložiště. Pokud má vaše aplikace tyto možnosti, budete muset implementovat další podporu. Podrobnosti najdete v tématu Zásady týkající se omezení přenosu dat mezi aplikacemi a umístěním zařízení nebo cloudového úložiště .

Vaše aplikace může aktivně importovat data z jiných aplikací, jako je Microsoft Outlook, který připojuje soubor z Microsoft OneDrivu. Vaše aplikace může také pasivně přijímat data z jiných aplikací, jako je microsoft Office, který otevírá dokument z přílohy Microsoft Outlooku. Nastavení zásad ochrany přijatých aplikací se vztahuje na oba scénáře.

Pro tyto testy:

  1. Nainstalujte si aplikaci.
  2. Nainstalujte Portál společnosti Intune.
  3. Nainstalujte jinou spravovanou aplikaci, která bude cílit na stejné zásady jako vaše aplikace a která může odesílat a přijímat data (jako je Microsoft Outlook).
  4. Nainstalujte (nebo znovu použijte) libovolnou nespravovanou aplikaci, která může odesílat a přijímat data.
  5. Přihlaste se k aplikaci pomocí testovacího spravovaného účtu.
  6. Přihlaste se k druhé spravované aplikaci pomocí spravovaného testovacího účtu.
Scénář Nastavení zásad ochrany aplikací Testovací kroky
Odesílání dat do jiných aplikací Možnost Odesílat data organizace do jiných aplikací nastavená na aplikace spravované zásadami 0. Pokud vaše aplikace nemůže odesílat data do jiných aplikací, přeskočte.
1. Přejděte na místo, kam může vaše aplikace odesílat data.
2. Pokus o odeslání dat.
3. Ověřte, že jste omezeni na odesílání dat jenom do jiných spravovaných aplikací. Měl by se zobrazit výběr aplikací jenom se spravovanými aplikacemi.
Import dat z jiných aplikací Možnost "Přijímat data z jiných aplikací" nastavená na "Aplikace spravované zásadami" 0. Pokud vaše aplikace nemůže importovat data z jiných aplikací, přeskočte.
1. Přejděte na místo, kam může aplikace importovat data z jiných aplikací.
2. Pokuste se importovat data.
3. Ověřte, že jste omezeni na import dat jenom z jiných spravovaných aplikací. Měl by se zobrazit výběr aplikací jenom se spravovanými aplikacemi.
Příjem dat z nespravované aplikace Možnost "Přijímat data z jiných aplikací" nastavená na "Aplikace spravované zásadami" 0. Pokud vaše aplikace nemůže přijímat data z jiných aplikací, přeskočte.
1. Přepněte na nespravovanou aplikaci.
2. Přejděte na místo, kam může odesílat data.
3. Pokuste se odeslat data z nespravované aplikace do aplikace.
4. Ověřte, že vaše aplikace nemůže přijímat data z nespravované aplikace.
Příjem dat ze spravované aplikace Možnost "Přijímat data z jiných aplikací" nastavená na "Aplikace spravované zásadami" 0. Pokud vaše aplikace nemůže přijímat data z jiných aplikací, přeskočte.
1. Přepněte na druhou spravovanou aplikaci.
2. Přejděte na místo, kam může odesílat data.
3. Pokuste se odeslat data z druhé spravované aplikace do vaší aplikace.
4. Ověřte, že vaše aplikace může přijímat data z druhé spravované aplikace.

Další nastavení ochrany dat

Následující nastavení ochrany dat se nevynutí, dokud aplikace neprojde dalšími změnami. V této fázi tato nastavení nemusíte testovat. Další podrobnosti najdete v části Fáze 7: Funkce účasti v aplikacích .

Scénář Nastavení zásad ochrany aplikací Je nutné implementovat podporu, pokud...
Ukládání kopií dat Uložení kopií dat organizace Aplikace může ukládat data do místního nebo cloudového úložiště.
Otevírání dat z úložiště Otevření dat v dokumentech organizace Vaše aplikace může otevírat data z místního nebo cloudového úložiště.
Spravovaný obsah oznámení Oznámení o datech organizace Vaše aplikace zahrnuje uživatelská data v oznámeních.
Zálohování a obnovení Zálohování dat organizace do zálohovací služby androidu Vaše aplikace sdílí data uživatelů s funkcí zálohování Androidu.

Testy podmíněného spuštění

Nastavení podmíněného spouštění je podmnožinou funkcí zásad ochrany aplikací, které omezují přístup k vaší aplikaci na základě konfigurovatelných kritérií pro celé zařízení nebo pro konkrétní aplikaci. Tato nastavení zahrnují podmínky (například "minimální verze operačního systému") i akce (například "blokovat přístup"). Akce podmíněného spuštění můžou být:

  • Upozornit: Koncovému uživateli se zobrazí dialogové okno upozornění, když jeho zařízení nebo aplikace kritéria nesplní. I tak budou mít přístup ke všem datům aplikace.
  • Blokovat přístup: Koncovému uživateli se zobrazí dialogové okno upozornění, když jeho zařízení nebo aplikace nesplní kritéria. Nebudou moct zadávat aplikaci a přistupovat k datům aplikace, dokud nesplní kritéria nebo z aplikace neodebere spravovaný účet.
  • Vymazání dat: Všechna podniková data přidružená ke spravovanému účtu se vymažou, když zařízení nebo aplikace nesplní kritéria. Uživatel nebude mít možnost splnit kritéria před odebráním dat.

Některá nastavení podmíněného spouštění je možné nakonfigurovat s více hodnotami a akcemi. Příklady:

  • Minimální verze operačního systému, hodnota "10.0", akce nastavená na "Upozornit".
  • Minimální verze operačního systému, hodnota 9.0, akce nastavená na Blokovat přístup
  • Minimální verze operačního systému, hodnota "8.0", akce nastavená na "Vymazat data".

Po dokončení kroků integrace v této fázi teď vaše aplikace podporuje všechny funkce podmíněného spouštění. Seznamte se s funkcemi podmíněného spuštění změnou položek zásad tak, aby vaše testovací zařízení:

  • Předá všechna nakonfigurovaná nastavení podmíněného spuštění.
  • Selže nakonfigurované nastavení podmíněného spuštění nastavené na akci Upozornit.
  • Selže nakonfigurované nastavení podmíněného spuštění nastavené na akci Blokovat přístup.
  • Selže nakonfigurované nastavení podmíněného spuštění nastavené na akci Vymazat data.

Řešení problémů

Řešení potíží s prvním testem aplikace zásad

Po prvním postupu testování aplikace zásad výše můžete narazit na následující neočekávané chování:

Po přihlášení pomocí spravovaného účtu se nezobrazuje výzva k instalaci Portálu společnosti (krok 7)

Nejprve přejděte do Centra pro správu Intune a pečlivě zkontrolujte, jestli zásady ochrany aplikací cílí na váš testovací účet.

Za druhé, pečlivě zkontrolujte zdrojový kód volání registerAccountForMAM a implementace MAMServiceAuthenticationCallback. Pokud se první z nich nezavolá ve správný čas nebo pokud druhá nezadala správně platný token, nezobrazí se výzva k portálu společnosti.

Nakonec buď v protokolech (nebo ladění) vyhledejte kód výsledku registrace, nebo explicitně zavolejte getRegisteredAccountStatus účet. Kódy jako NOT_LICENSED můžou značit problémy s konfigurací testovacího účtu.

Po přihlášení se mi nezobrazuje obrazovka Získat přístup (krok 10)

Pokud portál společnosti nebyl dříve nainstalovaný, možná budete muset aplikaci obnovit nebo úplně restartovat, aby se zobrazila obrazovka Získat přístup a zásady byly správně vynucovány. Jedná se o očekávaný výsledek založený na tom, jak aplikace integrované se sadou SDK využívají kód v aplikaci Portál společnosti.

Pokud se obrazovka Získat přístup stále nezobrazuje, ani po restartování aplikace a opětovném přihlášení se sadě SDK nemusí podařit registrace účtu nebo načtení zásad pro tento účet. Pečlivě zkontrolujte implementaci zdrojového MAMServiceAuthenticationCallbackkódu .

Po přihlášení se mi nezobrazuje obrazovka pro nastavení nebo zadání PIN kódu aplikace (krok 11)

Jsou na vašem testovacím zařízení jiné aplikace integrované se sadou SDK? PIN kód aplikace se sdílí mezi všemi spravovanými aplikacemi a sada SDK má globální časovač, který brání koncovým uživatelům v zobrazení výzvy k zadání PIN kódu při každém spuštění nebo obnovení spravované aplikace.

V opačném případě přejděte do Centra pro správu Intune a pečlivě zkontrolujte, že zásady ochrany aplikací mají povolený PIN kód aplikace a že cílí na váš testovací účet.

V krajním případě se při restartování zařízení časovač PIN resetuje. Pokud se obrazovka PIN kódu po restartování zařízení nezobrazí, pravděpodobně není správně nakonfigurovaný v zásadách.

Zobrazila se mi obrazovka Získat přístup, ale snímky obrazovky jsou stále povolené (krok 12)

Během načítání zásad se používají nesprávné zásady. Nejprve přejděte do Centra pro správu Intune a pečlivě zkontrolujte, že zásady ochrany aplikací nezakazují snímky obrazovky a že cílí na váš testovací účet. Potom pomocí diagnostické konzoly (popsané výše) zkontrolujte zásady, které se pro vaši aplikaci stáhly. Pokud obě zásady potvrdí, že by se snímky obrazovky měly blokovat, zkontrolujte konfiguraci modulu plug-in buildu Gradle a ujistěte se, že probíhá nahrazování MAM.

Po odhlášení se zdá, že aplikace selhala nebo se zavřela (krok 13)

Když zrušíte registraci účtu, který byl dříve zaregistrovaný a měl vynucované zásady, sada SDK vymaže data přidružená k ho účtu. Očekává se ukončení procesu aplikace.

Snímky obrazovky jsou stále blokované i po odhlášení (krok 14)

Pečlivě zkontrolujte ve zdrojovém kódu volání .unregisterAccountForMAM() Pokud se zásady stále vynucují i po odhlášení, je pravděpodobné, že účet nebyl správně zrušený a neregistrovaný.

Řešení potíží s testem ochrany dat

Po provedení výše uvedených kroků testů ochrany dat můžete narazit na následující neočekávané chování:

Moje aplikace nepřijímá ani nevynucuje žádné zásady

Nejprve ověřte, že zásady ochrany aplikací cílí na skupinu obsahující váš testovací účet. Podrobnosti najdete v tématu Ověření nastavení zásad ochrany aplikací v Microsoft Intune .

Potom zkontrolujte diagnostické informace klienta a ověřte, že sada SDK přijala nakonfigurované zásady. Pokud ne, zkontrolujte implementaci MAMServiceAuthenticationCallback a volání registerAccountForMAMvaší aplikace . Zkontrolujte také protokoly nebo ladění a ověřte .MAMEnrollmentManager.Result

Moje aplikace může sdílet data s nespravovanou aplikací

Potvrďte, že možnost Odesílat data organizace do jiných aplikací je nastavená na "Aplikace spravované zásadami". V Centru pro správu Microsoft Intune zkontrolujte, jestli jsou zásady správně nakonfigurované a cílené. Zkontrolujte diagnostické informace klienta a ověřte, že sada SDK přijala nakonfigurované zásady.

Pokud jsou zásady nakonfigurované a načtené správně, zkontrolujte, jestli se nevynucují nějaké zásady: [Moje aplikace nepřijímá ani nevynucuje žádné zásady].

Moje aplikace nemůže sdílet data s jinou spravovanou aplikací

Potvrďte nastavení zásad ochrany aplikací, které cílí na vaši aplikaci i na druhou spravovanou aplikaci. Doporučuje se mít stejné zásady, které cílí na obě aplikace. Zásady, které cílí na vaši aplikaci, by měly mít možnost "Odesílat data organizace do jiných aplikací" nastavenou na "Aplikace spravované zásadami". Zkontrolujte zásady, které cílí na druhou aplikaci. Pokud je možnost Přijímat data z jiných aplikací nastavená na Žádné, je toto chování očekávané.

Moje aplikace může přijímat data z nespravované aplikace

Potvrďte, že možnost Přijímat data z jiných aplikací je nastavená na Aplikace spravované podle zásad. V Centru pro správu Microsoft Intune zkontrolujte, jestli jsou zásady správně nakonfigurované a cílené. Zkontrolujte diagnostické informace klienta a ověřte, že sada SDK přijala nakonfigurované zásady.

Pokud jsou zásady nakonfigurované a načtené správně, zkontrolujte, jestli se nevynucují nějaké zásady: [Moje aplikace nepřijímá ani nevynucuje žádné zásady].

Moje aplikace nemůže přijímat data z jiné spravované aplikace

Potvrďte nastavení zásad ochrany aplikací, které cílí na vaši aplikaci i na druhou spravovanou aplikaci. Doporučuje se mít stejné zásady, které cílí na obě aplikace. Zásady, které cílí na vaši aplikaci, by měly mít možnost Přijímat data z jiných aplikací nastavenou na "Aplikace spravované zásadami". Zkontrolujte zásady, které cílí na druhou aplikaci. Pokud je možnost Odesílat data organizace do jiných aplikací nastavená na Žádné, je toto chování očekávané.

Další kroky

Po dokončení všech výše uvedených kritérií ukončení se teď vaše aplikace úspěšně integruje jako jedna identita a může vynutit všechny základní zásady ochrany aplikací. Následující části, Fáze 5: Více identit, Fáze 6: Konfigurace aplikace a Fáze 7: Účast aplikací Funkce můžou nebo nemusí být vyžadovány v závislosti na požadované podpoře zásad ochrany aplikací vaší aplikace. Pokud si nejste jistí, jestli se některá z těchto částí týká vaší aplikace, projděte si klíčová rozhodnutí o integraci sady SDK.