Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zestaw SDK aplikacji usługi Microsoft Intune dla systemu iOS umożliwia dołączanie zasad ochrony aplikacji usługi Intune (znanych również jako zasady APP lub MAM) do natywnej aplikacji systemu iOS. Aplikacja zarządzana przez usługę Intune to aplikacja zintegrowana z zestawem SDK aplikacji usługi Intune. Administratorzy usługi Intune mogą łatwo wdrażać zasady ochrony aplikacji w aplikacji zarządzanej przez usługę Intune, gdy usługa Intune aktywnie zarządza tą aplikacją.
Uwaga
Ten przewodnik jest podzielony na kilka odrębnych etapów. Zacznij od przejrzenia Planowanie integracji.
Etap 4. Funkcje uczestnictwa w aplikacji
Cele etapu
- Dowiedz się więcej na temat funkcji uczestnictwa w aplikacjach oferowanych przez zestaw SDK aplikacji usługi Intune.
- Integrowanie funkcji uczestnictwa w aplikacji istotnych dla Twojej aplikacji i użytkowników.
- Przetestuj integrację tych funkcji.
Co to są "funkcje uczestnictwa w aplikacji"?
Ten proces integracji zestawu SDK próbuje zminimalizować ilość kodu specyficznego dla aplikacji, który deweloperzy muszą napisać. Po pomyślnym ukończeniu poprzednich etapów integracji z zestawem SDK aplikacja może teraz wymuszać większość ustawień zasad ochrony aplikacji, takich jak szyfrowanie plików, ograniczenia kopiowania i wklejania, blokowanie zrzutów ekranu i ograniczenia transferu danych.
Istnieją jednak ustawienia, które wymagają prawidłowego wymuszenia kodu specyficznego dla aplikacji. Są to tak zwane funkcje uczestnictwa w aplikacji. Zazwyczaj zestaw SDK nie ma wystarczającego kontekstu dotyczącego kodu aplikacji lub scenariusza użytkownika końcowego, aby automatycznie wymusić te ustawienia, dlatego polega na deweloperach, aby odpowiednio wywołać interfejsy API zestawu SDK.
Funkcje uczestnictwa w aplikacji nie muszą być opcjonalne. W zależności od istniejących funkcji aplikacji te funkcje mogą być wymagane.
W kolejnych etapach tego przewodnika opisano kilka ważnych funkcji uczestnictwa w aplikacji:
- Wielotożsamość opisana w Etapie 5: Wielotożsamość.
- Urząd certyfikacji ochrony aplikacji zgodnie z opisem w etapie 6: obsługa dostępu warunkowego ochrony aplikacji
- Funkcje specyficzne dla widoku sieci Web omówione w etapie 7: Funkcje widoku sieci Web
W pozostałej części tego przewodnika opisano pozostały zestaw funkcji uczestnictwa w aplikacji:
- Implementowanie dozwolonych kont
- Wymagane zaimplementowanie szyfrowania plików
- Implementowanie kontrolek Zapisz jako i Otwórz z
- Udostępnianie danych za pomocą UIActivityViewController
- Włącz konfigurację kierowaną (konfigurację aplikacji/MAM) dla aplikacji systemu iOS
- Telemetria
- Intencje Siri
- Wycinki aplikacji
- Drukowanie
- Powiadomienia
- Skrypt po kompilacji
Dostosowywanie zachowania aplikacji za pomocą interfejsów API
Zestaw SDK aplikacji usługi Intune ma kilka interfejsów API, które można wywołać w celu uzyskania informacji o zasadach ochrony aplikacji usługi Intune wdrożonych w aplikacji. Możesz użyć tych danych, aby dostosować zachowanie aplikacji. Poniższa tabela zawiera informacje na temat niektórych podstawowych klas usługi Intune, których używasz.
| Zajęcia | Opis |
|---|---|
| IntuneMAMPolicyManager.h | Klasa IntuneMAMPolicyManager uwidacznia zasady ochrony aplikacji usługi Intune wdrożone w aplikacji. W szczególności uwidacznia interfejsy API, które są przydatne do włączania wielu tożsamości. |
| IntuneMAMPolicy.h | Klasa IntuneMAMPolicy uwidacznia niektóre ustawienia zasad zarządzania aplikacjami mobilnymi, które mają zastosowanie do aplikacji. Większość z tych ustawień zasad jest udostępnianych, aby aplikacja mogła dostosować swój interfejs użytkownika. Większość ustawień zasad jest wymuszana przez zestaw SDK, a nie aplikację. Istnieją jednak pewne wyjątki. Deweloperzy aplikacji powinni zapoznać się z komentarzami w tym nagłówku, aby określić, które interfejsy API mają zastosowanie do scenariuszy ich aplikacji. |
| IntuneMAMFileProtectionManager.h | Klasa IntuneMAMFileProtectionManager ujawnia interfejsy API, których aplikacja może użyć do jawnego zabezpieczenia plików i katalogów na podstawie podanej tożsamości. Tożsamością może zarządzać usługa Intune lub niezarządzana, a zestaw SDK zastosuje odpowiednie zasady zarządzania aplikacjami mobilnymi. Korzystanie z tej klasy jest opcjonalne. |
| IntuneMAMDataProtectionManager.h | Klasa IntuneMAMDataProtectionManager ujawnia interfejsy API, których aplikacja może użyć do zabezpieczenia buforów danych przy podanej tożsamości. Tożsamością może zarządzać usługa Intune lub niezarządzana, a zestaw SDK odpowiednio zastosuje szyfrowanie. |
Implementowanie dozwolonych kont
Usługa Intune pozwala administratorom IT określić, do których kont mogą być zalogowani użytkownicy. Aplikacje mogą wysyłać zapytania do zestawu SDK aplikacji usługi Intune dotyczące określonej listy dozwolonych kont, a następnie zapewniać, że tylko dozwolone konta są zalogowane na urządzeniu.
Aby wysłać zapytanie o dozwolone konta, aplikacja powinna sprawdzić właściwość allowedAccounts w .IntuneMAMEnrollmentManager Właściwość allowedAccounts jest albo tablicą zawierającą dozwolone konta, albo wartością nil. Jeśli właściwość jest równa zero, nie określono żadnych dozwolonych kont. Aplikacje obsługujące MSAL/OneAuth powinny używać allowedAccountIds właściwości wystąpienia IntuneMAMEnrollmentManager do wysyłania zapytań o identyfikator obiektu usługi Entra.
Aplikacje mogą również reagować na zmiany allowedAccounts właściwości, obserwując IntuneMAMAllowedAccountsDidChangeNotification powiadomienia. Powiadomienie jest publikowane za każdym razem, allowedAccounts gdy wartość nieruchomości ulegnie zmianie.
W przypadku korzystania z interfejsów API dla dozwolonych kont wymagane są następujące wymagania:
- Podczas porównywania tożsamości w przypadku nazw UPN i OID musi być nierozróżniana wielkość liter.
- Porównanie tożsamości musi obsługiwać zarówno główną nazwę użytkownika, jak i identyfikator OID.
- Aplikacja musi mieć rejestrowanie, aby zdiagnozować wszelkie niezgodności między kontem określonym przez administratora a kontem wprowadzonym przez użytkownika.
Wymagane zaimplementowanie szyfrowania plików
Interfejs isFileEncryptionRequired API zdefiniowany w IntuneMAMPolicy.h informuje aplikacje, kiedy administrator IT wymaga, aby aplikacje używały szyfrowania usługi Intune w odniesieniu do wszystkich plików zapisywanych na dysku. Jeśli isFileEncryptionRequired to prawda, to aplikacja jest odpowiedzialna za zapewnienie, że wszystkie pliki zapisywane na dysku przez aplikację są szyfrowane przy użyciu interfejsów API w IntuneMAMFile.h, IntuneMAMFileProtectionManager.h, i IntuneMAMFDataProtectionManager.h.
Aplikacje mogą reagować na zmiany w tych zasadach, przestrzegając IntuneMAMDataProtectionDidChangeNotification powiadomień zdefiniowanych w IntuneMAMFDataProtectionManager.h.
Implementowanie kontrolek Zapisz jako i Otwórz z
Usługa Intune pozwala administratorom IT wybrać lokalizacje przechowywania, w których zarządzana aplikacja może zapisywać dane lub z których mogą otwierać dane. Aplikacje mogą wysyłać zapytania do zestawu SDK zarządzania aplikacjami mobilnymi usługi Intune dotyczące dozwolonych lokalizacji przechowywania zapisów przy użyciu isSaveToAllowedForLocation:withAccountId: interfejsu API zdefiniowanego w IntuneMAMPolicy.h. Aplikacje mogą również wysyłać zapytania do zestawu SDK dotyczące dozwolonych lokalizacji przechowywania otwartych z przy użyciu isOpenFromAllowedForLocation:withAccountId: interfejsu API, również zdefiniowanego w IntuneMAMPolicy.h.
Ponadto aplikacje mogą sprawdzić, czy dane przychodzące z rozszerzenia udostępniania są dozwolone, badając canReceiveSharedItemProvider: interfejs API zdefiniowany w IntuneMAMPolicy.h. Aplikacje mogą również wysyłać zapytania do canReceiveSharedFile: interfejsu API w celu weryfikacji plików przychodzących z wywołania openURL, również zdefiniowanego w IntuneMAMPolicy.h
Uwaga
Od wersji 15.1.0 zestawu SDK zarządzania aplikacjami mobilnymi wprowadzono zmiany w zachowaniu wewnętrznym.
- Konto nie będzie już traktowane
niljako bieżące konto dla lokalizacji LocalDrive/LocalStorage. Przekazanienilkonta spowoduje, że będzie ono traktowane jako konto niezarządzane. Ponieważ aplikacje mogą kontrolować sposób obsługi magazynu w piaskownicy, tożsamość może i powinna być skojarzona z tymi lokalizacjami. - Konto
nilnie będzie już traktowane jako bieżące konto dla aplikacji z pojedynczą tożsamością. Przekazywanienilkonta w aplikacji z jedną tożsamością będzie teraz traktowane dokładnie tak samo, jak gdyby zostało przekazane do aplikacji z wieloma tożsamościami. Jeśli tworzysz aplikację z pojedynczą tożsamością, użyjIntuneMAMPolicyznaków 'sprimaryUser, aby odwołać się do bieżącego konta, jeśli jest zarządzane, lubnildo bieżącego konta, jeśli nie jest zarządzane.
Obsługa scenariuszy zapisywania w
Przed przeniesieniem danych do nowego magazynu w chmurze lub do lokalizacji lokalnej aplikacja musi sprawdzić w interfejsie isSaveToAllowedForLocation:withAccountId: API, czy administrator IT zezwolił na transfer danych. Ta metoda jest wywoływana IntuneMAMPolicy na obiekcie. Za pomocą tego interfejsu API nie trzeba sprawdzać danych edytowanych i zapisywanych w miejscu.
Uwaga
Obiekt IntuneMAMPolicy powinien reprezentować zasady właściciela zapisywanych danych. Aby uzyskać IntuneMAMPolicy obiekt określonej tożsamości, wywołaj IntuneMAMPolicyManagermetodę 's policyForAccountId: . Jeśli właścicielem jest konto niezarządzane bez tożsamości, nil mogą zostać przekazane do policyForAccountId:. Nawet jeśli zapisywane dane nie są danymi organizacyjnymi, isSaveToAllowedForLocation:withAccountId: nadal powinny być wywoływane. Konto będące właścicielem lokalizacji docelowej może nadal mieć zasady ograniczające przychodzące dane niezarządzane.
Metoda isSaveToAllowedForLocation:withAccountId: przyjmuje dwa argumenty. Pierwszy argument jest wartością wyliczeniową typu IntuneMAMSaveLocation zdefiniowanego w IntuneMAMPolicy.h. Drugi argument to główna nazwa użytkownika tożsamości, która jest właścicielem lokalizacji. Jeśli właściciel nie jest znany, nil można użyć zamiast niego.
Obsługiwane lokalizacje zapisu
Zestaw SDK zarządzania aplikacjami mobilnymi usługi Intune zapewnia obsługę następujących lokalizacji zapisu zdefiniowanych w IntuneMAMPolicy.h:
-
IntuneMAMSaveLocationOneDriveForBusiness— Ta lokalizacja reprezentuje lokalizacje usługi OneDrive dla Firm. Tożsamość skojarzona z kontem usługi OneDrive powinna zostać przekazana jako drugi argument. -
IntuneMAMSaveLocationSharePoint— Ta lokalizacja reprezentuje zarówno lokalizacje lokalne programu SharePoint online, jak i usługi Microsoft Entra Hybrid Modern Auth programu SharePoint. Jako drugi argument należy przekazać tożsamość skojarzoną z kontem programu SharePoint. -
IntuneMAMSaveLocationLocalDrive— Ta lokalizacja reprezentuje magazyn piaskownicy aplikacji, do którego dostęp może uzyskać tylko aplikacja. Ta lokalizacja nie powinna być używana do zapisywania za pomocą selektora plików ani do zapisywania w plikach za pośrednictwem rozszerzenia udziału. Jeśli tożsamość może być skojarzona z magazynem piaskownicy aplikacji, powinna zostać przekazana jako drugi argument. Jeśli nie ma tożsamości,nilzamiast tego należy przekazać tożsamość. Na przykład aplikacja może używać oddzielnych kontenerów magazynu w piaskownicy aplikacji dla różnych kont. W takim przypadku konto, które jest właścicielem kontenera, do którego uzyskiwany jest dostęp, powinno być używane jako drugi argument. -
IntuneMAMSaveLocationCameraRoll- Ta lokalizacja reprezentuje bibliotekę zdjęć systemu iOS. Ponieważ nie ma konta skojarzonego z biblioteką zdjęć systemu iOS, tylkonilpowinien być przekazywany jako drugi argument, gdy ta lokalizacja jest używana. -
IntuneMAMSaveLocationAccountDocument- Ta lokalizacja reprezentuje dowolną lokalizację organizacji, która nie została wcześniej wymieniona, a którą można powiązać z kontem zarządzanym. Jako drugi argument należy podać konto organizacji skojarzone z lokalizacją. Na przykład przekazanie zdjęcia do usługi w chmurze biznesowej organizacji, które jest powiązane z kontem organizacji. -
IntuneMAMSaveLocationOther— Ta lokalizacja reprezentuje dowolną lokalizację nieorganizacyjną, niewymienioną wcześniej na liście lub dowolną nieznaną lokalizację. Jeśli konto jest skojarzone z lokalizacją, powinno zostać przekazane jako drugi argument. W przeciwnym razienilnależy użyć zamiast niego.
Szczególne uwarunkowania dotyczące lokalizacji zapisywania
Lokalizacja IntuneMAMSaveLocationLocalDrive powinna być używana tylko do przechowywania w piaskownicy aplikacji, do którego dostęp może uzyskać tylko aplikacja. Do sprawdzenia, czy plik można zapisać w pamięci urządzenia z systemem iOS za pomocą selektora plików lub innej metody, IntuneMAMSaveLocationOther w której dane będą dostępne w aplikacji Files, należy użyć.
Jeśli na liście nie ma lokalizacji docelowej, wybierz jedną z nich IntuneMAMSaveLocationAccountDocument lub IntuneMAMSaveLocationOther należy jej użyć. Jeśli lokalizacja zawiera dane organizacyjne, do których dostęp uzyskuje się za pomocą konta zarządzanego (np. usługi LOB w chmurze do przechowywania danych IntuneMAMSaveLocationAccountDocument organizacyjnych). Jeśli lokalizacja nie zawiera danych organizacyjnych, należy IntuneMAMSaveLocationOther użyć tej lokalizacji.
Obsługa scenariuszy Otwórz odObsługa scenariuszy Otwórz od
Przed zaimportowaniem danych z nowego magazynu w chmurze lub lokalizacji lokalnej aplikacja musi sprawdzić w interfejsie isOpenFromAllowedForLocation:withAccountId: API, czy administrator IT zezwolił na transfer danych. Ta metoda jest wywoływana IntuneMAMPolicy na obiekcie. Za pomocą tego interfejsu API nie trzeba sprawdzać danych otwieranych w miejscu.
Uwaga
Obiekt IntuneMAMPolicy powinien reprezentować zasady tożsamości odbierającej dane. Aby uzyskać IntuneMAMPolicy obiekt określonej tożsamości, wywołaj IntuneMAMPolicyManagermetodę 's policyForAccountId: . Jeśli konto odbierające jest kontem niezarządzanym bez tożsamości, nil może zostać przekazane do policyForAccountId:. Nawet jeśli odbierane dane nie są danymi organizacyjnymi, isOpenFromAllowedForLocation:withAccountId: nadal powinny zostać wywołane. Konto, które jest właścicielem danych, może nadal mieć zasady ograniczające miejsca docelowe wychodzących transferów danych.
Metoda isOpenFromAllowedForLocation:withAccountId: przyjmuje dwa argumenty. Pierwszy argument jest wartością wyliczeniową typu IntuneMAMOpenLocation zdefiniowanego w IntuneMAMPolicy.h. Drugi argument to główna nazwa użytkownika tożsamości, która jest właścicielem lokalizacji. Jeśli właściciel nie jest znany, nil można użyć zamiast niego.
Obsługiwane otwarte lokalizacje
Zestaw SDK zarządzania aplikacjami mobilnymi usługi Intune zapewnia obsługę następujących otwartych lokalizacji zdefiniowanych w IntuneMAMPolicy.h:
-
IntuneMAMOpenLocationOneDriveForBusiness— Ta lokalizacja reprezentuje lokalizacje usługi OneDrive dla Firm. Tożsamość skojarzona z kontem usługi OneDrive powinna zostać przekazana jako drugi argument. -
IntuneMAMOpenLocationSharePoint— Ta lokalizacja reprezentuje zarówno lokalizacje lokalne programu SharePoint online, jak i usługi Microsoft Entra Hybrid Modern Auth programu SharePoint. Jako drugi argument należy przekazać tożsamość skojarzoną z kontem programu SharePoint. -
IntuneMAMOpenLocationCamera- Ta lokalizacja reprezentuje tylko nowe zdjęcia wykonane aparatem. Ponieważ nie ma konta skojarzonego z kamerą systemu iOS, tylkonilpowinien być przekazywany jako drugi argument, gdy ta lokalizacja jest używana. Aby otworzyć dane z biblioteki zdjęć systemu iOS, użyj .IntuneMAMOpenLocationPhotos -
IntuneMAMOpenLocationPhotos- Ta lokalizacja reprezentuje tylko istniejące obrazy w bibliotece zdjęć systemu iOS. Ponieważ nie ma konta skojarzonego z biblioteką zdjęć systemu iOS, tylkonilpowinien być przekazywany jako drugi argument, gdy ta lokalizacja jest używana. Aby otworzyć obrazy wykonane bezpośrednio z aparatu w systemie iOS, użyj .IntuneMAMOpenLocationCamera -
IntuneMAMOpenLocationLocalStorage— Ta lokalizacja reprezentuje magazyn piaskownicy aplikacji, do którego dostęp może uzyskać tylko aplikacja. Ta lokalizacja nie powinna być używana do otwierania plików z selektora plików ani obsługi plików przychodzących z openURL. Jeśli tożsamość może być skojarzona z magazynem piaskownicy aplikacji, powinna zostać przekazana jako drugi argument. Jeśli nie ma tożsamości,nilzamiast tego należy przekazać tożsamość. Na przykład aplikacja może używać oddzielnych kontenerów magazynu w piaskownicy aplikacji dla różnych kont. W takim przypadku konto, które jest właścicielem kontenera, do którego uzyskiwany jest dostęp, powinno być używane jako drugi argument. -
IntuneMAMOpenLocationAccountDocument- Ta lokalizacja reprezentuje dowolną lokalizację organizacji, która nie została wcześniej wymieniona, a którą można powiązać z kontem zarządzanym. Jako drugi argument należy podać konto organizacji skojarzone z lokalizacją. Może to być na przykład pobranie zdjęcia z usługi chmurowej aplikacji biznesowej organizacji, która jest powiązany z kontem organizacji. -
IntuneMAMOpenLocationOther— Ta lokalizacja reprezentuje dowolną lokalizację nieorganizacyjną, która nie została wcześniej wymieniona, lub dowolną nieznaną lokalizację. Jeśli konto jest skojarzone z lokalizacją, powinno zostać przekazane jako drugi argument. W przeciwnym razienilnależy użyć zamiast niego.
Szczególne uwarunkowania dotyczące otwartych lokalizacji
Lokalizacja IntuneMAMOpenLocationLocalStorage powinna być używana tylko do przechowywania w piaskownicy aplikacji, do którego aplikacja może uzyskać dostęp. Do sprawdzenia, czy plik można otworzyć z pamięci urządzenia z systemem iOS za pomocą selektora plików lub innej metody, IntuneMAMOpenLocationOther w której dane są również dostępne w aplikacji Files, należy użyć.
Jeśli na liście nie ma lokalizacji docelowej, wybierz jedną z nich IntuneMAMOpenLocationAccountDocument lub IntuneMAMOpenLocationOther należy jej użyć. Jeśli lokalizacja zawiera dane organizacyjne, do których dostęp uzyskuje się za pomocą zarządzanego konta. Na przykład należy używać usługi LOB w chmurze do przechowywania danych IntuneMAMOpenLocationAccountDocument organizacji. Jeśli lokalizacja nie zawiera danych organizacyjnych, należy IntuneMAMSaveLocationOther użyć tej lokalizacji.
Obsługa przychodzących NSItemProviders i Files
Do obsługi NSItemProviders otrzymanych z rozszerzenia udziału, IntuneMAMPolicymetoda 's canReceiveSharedItemProvider: może być użyta zamiast isOpenFromAllowedForLocation:withAccountId:. Metoda canReceiveSharedItemProvider: przyjmuje NSItemProvider i zwraca informację, czy administrator IT zezwala na otwarcie na IntuneMAMPolicy koncie obiektu. Element musi zostać załadowany przed wywołaniem tej metody. Na przykład wywołując loadItemForTypeIdentifier:options:completionHandler. Tę metodę można również wywołać z programu obsługi uzupełniania przekazywanego do wywołania ładowania NSItemProvider .
Do obsługi przychodzących canReceiveSharedFile: plików IntuneMAMPolicyzamiast isOpenFromAllowedForLocation:withAccountId:. Metoda canReceiveSharedFile: przyjmuje ścieżkę NSString i zwraca informację, czy administrator IT zezwala na jej otwarcie na IntuneMAMPolicy koncie obiektu.
Alert o zablokowaniu udostępniania
Funkcji pomocnika interfejsu użytkownika można użyć, gdy isSaveToAllowedForLocation:withAccountId: interfejs API lub isOpenFromAllowedForLocation:withAccountId: jest wywoływany i znajdowany w celu zablokowania akcji zapisywania/otwierania. Jeśli aplikacja chce powiadomić użytkownika o zablokowaniu akcji, może wywołać showSharingBlockedMessage interfejs API zdefiniowany w IntuneMAMUIHelper.h , aby przedstawić widok alertu z komunikatem ogólnym.
Udostępnianie danych za pomocą UIActivityViewController
Począwszy od wersji 8.0.2, zestaw SDK aplikacji usługi Intune może filtrować UIActivityViewController akcje, dzięki czemu do wyboru dostępne są tylko zarządzane lokalizacje udziałów usługi Intune. To zachowanie będzie kontrolowane przez zasady transferu danych aplikacji.
Akcje "Kopiuj do"
Podczas udostępniania dokumentów za pośrednictwem i UIActivityViewControllerUIDocumentInteractionControllersystem iOS wyświetla akcje "Kopiuj do" dla każdej aplikacji, która obsługuje otwieranie udostępnianego dokumentu. Aplikacje deklarują typy dokumentów, które obsługują, za CFBundleDocumentTypes pomocą ustawienia w pliku Info.plist. Ten typ udostępniania nie będzie już dostępny, jeśli zasady zabraniają udostępniania aplikacjom niezarządzanym. W zamian użytkownik będzie musiał dodać rozszerzenie akcji inne niż UI do swojej aplikacji i połączyć je z zestawem SDK aplikacji usługi Intune. Rozszerzenie Action jest tylko zalążkiem. Zestaw SDK implementuje zachowanie udostępniania plików. Wykonaj następujące czynności:
Aplikacja musi mieć co najmniej jeden element schemeURL zdefiniowany w elemencie Info.plist
CFBundleURLTypeswraz z jego-intunemamodpowiednikiem. Przykład:<key>CFBundleURLSchemes</key> <array> <string>launch-com.contoso.myapp</string> <string>launch-com.contoso.myapp-intunemam</string> </array>Zarówno aplikacja, jak i rozszerzenie akcji muszą współużytkować co najmniej jedną grupę aplikacji, a grupa aplikacji musi być wymieniona w tablicy
AppGroupIdentifierspod słownikami IntuneMAMSettings aplikacji i rozszerzenia.Zarówno aplikacja, jak i rozszerzenie akcji, muszą mieć funkcję Udostępnianie pęku kluczy i wspólną grupę pęku kluczy
com.microsoft.intune.mam.Nazwij rozszerzenie akcji "Otwórz w", a po nim nazwę aplikacji. Zlokalizuj plik Info.plist zgodnie z potrzebami.
Podaj ikonę szablonu dla rozszerzenia zgodnie z opisem w dokumentacji dla programistów firmy Apple. Alternatywnie można użyć narzędzia IntuneMAMConfigurator do generowania tych obrazów z katalogu .app aplikacji. Aby to zrobić, uruchom polecenie:
IntuneMAMConfigurator -generateOpenInIcons /path/to/app.app -o /path/to/output/directoryW obszarze IntuneMAMSettings w rozszerzeniu Info.plist dodaj ustawienie logiczne o nazwie
OpenInActionExtensionz wartością YES.Skonfiguruj obsługę
NSExtensionActivationRulepojedynczego pliku i wszystkich typów z prefiksemCFBundleDocumentTypesaplikacji .com.microsoft.intune.mamJeśli na przykład aplikacja obsługuje elementy public.text i public.image, reguła aktywacji będzie następująca:SUBQUERY ( extensionItems, $extensionItem, SUBQUERY ( $extensionItem.attachments, $attachment, ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "com.microsoft.intune.mam.public.text" || ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "com.microsoft.intune.mam.public.image").@count == 1 ).@count == 1
Aktualizowanie istniejących rozszerzeń udostępniania i akcji
Jeśli Twoja aplikacja zawiera już rozszerzenia akcji lub udziału, należy je NSExtensionActivationRule zmodyfikować, aby umożliwić typy usługi Intune. Dla każdego typu obsługiwanego przez rozszerzenie dodaj dodatkowy typ poprzedzony prefiksem com.microsoft.intune.mam. Jeśli na przykład istniejąca reguła aktywacji to:
SUBQUERY (
extensionItems,
$extensionItem,
SUBQUERY (
$extensionItem.attachments,
$attachment,
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.url" ||
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.plain-text" ||
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.image" ||
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.data"
).@count > 0
).@count > 0
Należy go zmienić na:
SUBQUERY (
extensionItems,
$extensionItem,
SUBQUERY (
$extensionItem.attachments,
$attachment,
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.url" ||
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.plain-text" ||
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.image" ||
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.data" ||
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "com.microsoft.intune.mam.public.url" ||
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "com.microsoft.intune.mam.public.plain-text" ||
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "com.microsoft.intune.mam.public.image" ||
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "com.microsoft.intune.mam.public.data"
).@count > 0
).@count > 0
Uwaga
Narzędzie IntuneMAMConfigurator umożliwia dodawanie typów usługi Intune do reguły aktywacji. Jeśli istniejąca reguła aktywacji używa wstępnie zdefiniowanych stałych ciągów. Na przykład NSExtensionActivationSupportsFileWithMaxCount, NSExtensionActivationSupportsText itp., składnia predykatu może być dość złożona. Narzędzia IntuneMAMConfigurator można również użyć do konwersji reguły aktywacji ze stałych ciągu na ciąg predykatów podczas dodawania typów usługi Intune.
Jak powinien wyglądać interfejs użytkownika
Stary interfejs użytkownika:
Nowy interfejs użytkownika:
Włączanie konfiguracji aplikacji docelowej dla aplikacji systemu iOS
Ukierunkowana konfiguracja zarządzania aplikacjami mobilnymi (znana również jako konfiguracja aplikacji MAM) umożliwia aplikacji odbieranie danych konfiguracji za pośrednictwem zestawu SDK usługi Intune. Format i warianty tych danych muszą zostać zdefiniowane i przekazane klientom usługi Intune przez właściciela/dewelopera aplikacji.
Administratorzy Intune mogą rozmieszczać docelowe i wdrażać dane konfiguracji za pośrednictwem centrum administracyjnego Microsoft Intune i Intune interfejs interfejs Graph API. Od wersji 7.0.1 zestawu SDK aplikacji usługi Intune dla systemu iOS aplikacje uczestniczące w docelowej konfiguracji zarządzania aplikacjami mobilnymi mogą otrzymywać dane docelowej konfiguracji zarządzania aplikacjami mobilnymi za pośrednictwem usługi MAM. Dane konfiguracyjne aplikacji są wypychane za pośrednictwem naszej usługi zarządzania aplikacjami mobilnymi bezpośrednio do aplikacji, a nie przez kanał MDM. Zestaw SDK aplikacji usługi Intune udostępnia klasę umożliwiającą dostęp do danych pobranych z tych konsol. Poniższe elementy są wymaganiami wstępnymi:
Aplikacja musi być zarejestrowana w usłudze Intune MAM, aby można było uzyskać dostęp do interfejsu konfiguracji docelowej funkcji MAM. Aby uzyskać więcej informacji, zobacz Odbieranie zasad ochrony aplikacji.
Umieść
IntuneMAMAppConfigManager.hw pliku źródłowym aplikacji.Wywołaj
[[IntuneMAMAppConfigManager instance] appConfigForAccountId:], aby pobrać obiekt konfiguracji aplikacji.Wywołaj odpowiedni selektor obiektu
IntuneMAMAppConfig. Na przykład, jeśli klucz aplikacji jest ciągiem, warto użyćstringValueForKeyluballStringsForKey. ZapoznajIntuneMAMAppConfig.hsię ze szczegółowym opisem zwracanych wartości i warunków błędu.
Aby uzyskać więcej informacji o możliwościach interfejsu Interfejs interfejs Graph API, zobacz Opis interfejsu interfejs Graph API.
Aby uzyskać więcej informacji na temat tworzenia zasad konfiguracji aplikacji docelowej zarządzania aplikacjami mobilnymi w systemie iOS, zobacz sekcję dotyczącą konfiguracji aplikacji docelowej zarządzania aplikacjami mobilnymi w Jak używać zasad konfiguracji aplikacji usługi Microsoft Intune dla systemu iOS/iPadOS.
Telemetria
Domyślnie zestaw SDK aplikacji usługi Intune dla systemu iOS zbiera dane telemetryczne na temat następujących typów zdarzeń:
Uruchamianie aplikacji: aby ułatwić usłudze Microsoft Intune uzyskiwanie informacji o użyciu aplikacji obsługujących zarządzanie aplikacjami mobilnymi według typu zarządzania (zarządzanie aplikacjami mobilnymi z zarządzaniem urządzeniami przenośnymi według typu zarządzania aplikacjami mobilnymi z usługą MDM, zarządzanie aplikacjami mobilnymi bez rejestracji w usłudze MDM itd.).
Wywołania rejestracji: aby ułatwić usłudze Microsoft Intune poznanie współczynnika powodzenia i innych metryk wydajności wywołań rejestracji zainicjowanych po stronie klienta.
Akcje usługi Intune: Aby pomóc w diagnozowaniu problemów i zapewnić funkcjonalność usługi Intune, zbieramy informacje o akcjach zestawu SDK usługi Intune.
Uwaga
Jeśli zdecydujesz się nie wysyłać danych telemetrycznych zestawu SDK aplikacji usługi Intune do usługi Microsoft Intune z aplikacji mobilnej, musisz wyłączyć przechwytywanie danych telemetrycznych zestawu SDK aplikacji usługi Intune. Ustaw właściwość MAMTelemetryDisabled na YES w słowniku IntuneMAMSettings.
Intencje Siri
Jeśli Twoja aplikacja jest zintegrowana z intencjami Siri lub przekazuje darowizny Siri, przeczytaj komentarze do areSiriIntentsAllowed in IntuneMAMPolicy.h , aby uzyskać instrukcje dotyczące obsługi tego scenariusza.
Uwaga
W systemie iOS 16 i nowszych dostępna jest nowa struktura systemowa intencji aplikacji do tworzenia intencji aplikacji Swift. Aplikacje, które implementują intencję aplikacji, powinny najpierw sprawdzić areSiriIntentsAllowed właściwość obiektu IntuneMAMPolicy dla użytkownika.
Wycinki aplikacji
Jeśli aplikacja zawiera miejsce docelowe wycinka aplikacji, upewnij się, że klip aplikacji nie zawiera żadnych danych zarządzanych. Wycinek aplikacji należy uznać za lokalizację niezarządzaną. Integracja SDK z funkcją Wycinki aplikacji nie jest obecnie obsługiwana.
Drukowanie
Jeśli w aplikacji zaimplementowano drukowanie i udostępniono niestandardową akcję drukowania w menu niestandardowym, należy określić, UIPrintInteractionController.isPrintingAvailable() czy należy dodać akcję drukowania do menu niestandardowego.
Blokowanie przechwytywania ekranu
W przypadku aplikacji, które zostały zaktualizowane do wersji 19.7.6 lub nowszej dla środowiska Xcode 15 i wersji 20.2.1 lub nowszej dla programu Xcode 16 zestawu SDK, blokada przechwytywania ekranu zostanie zastosowana, jeśli skonfigurowano Send Org data to other apps wartość inną niż "Wszystkie aplikacje". Możesz skonfigurować ustawienie zasad konfiguracji aplikacji "com.microsoft.intune.mam.screencapturecontrol = Wyłączone", jeśli chcesz zezwolić na przechwytywanie ekranu na urządzeniach z systemem iOS.
Powiadomienia
Jeśli Twoja aplikacja otrzymuje powiadomienia, przeczytaj komentarze do notificationPolicy instrukcji IntuneMAMPolicy.h dotyczących obsługi tego scenariusza. Zaleca się, aby aplikacje zarejestrowały się w IntuneMAMPolicyDidChangeNotificationIntuneMAMPolicyManager.hartykule i przekazały tę wartość za UNNotificationServiceExtension pośrednictwem pęku kluczy.
Rozszerzenia przeglądarki Safari
Jeśli aplikacja ma rozszerzenie przeglądarki Safari i obsługuje przesyłanie danych między rozszerzeniem a aplikacją nadrzędną, w niektórych scenariuszach może być konieczne blokowanie danych. Aby zablokować dane, w aplikacji nadrzędnej wywołaj isAppSharingAllowed interfejs API w IntuneMAMPolicy.h, a następnie zablokuj rozszerzenie sieci Web.
Skrypt po kompilacji
Narzędzia wiersza polecenia IntuneMAMFrameworkPatcher nie trzeba już uruchamiać jako ostatniego kroku procesu kompilacji aplikacji. Jednak to narzędzie jest dostępne jako część zestawu SDK aplikacji usługi Intune dla systemu iOS w witrynie GitHub.
Ważna
Od wersji 17.7.1 zestawu SDK zarządzania aplikacjami mobilnymi usługi Intune ten krok nie jest już wymagany. Nie trzeba już uruchamiać narzędzia wiersza polecenia IntuneMAMFrameworkPatcher .
Użycie wiersza polecenia
IntuneMAMFrameworkPatcher -i /path/to/directory_or_binary [-resign] [-verbose]
Parametry:
-
i,r,v: Ten parametr umożliwia wybór instalacji, usunięcia lub weryfikacji poprawki struktury zarządzania aplikacjami mobilnymi usługi Intune dla procesu kompilacji aplikacji. -
path: powinienpathto być katalog główny katalogu .app aplikacji. -
resign: Taresignopcja instruuje narzędzie, aby zrezygnowało z plików binarnych, które miały prawidłowy podpis przed wprowadzeniem poprawek do pliku binarnego. Ta opcja powinna być używana, jeśli projekt zawiera zależności struktury lub wtyczki z opcją Osadź i podpisz , nawet jeśli jest uruchamiany przed ostatecznym podpisaniem aplikacji lub jeśli narzędzie jest uruchamiane po końcowym podpisaniu aplikacji. -
verbose: Opcjaverbosespowoduje, że narzędzie wypisze informacje o każdym pliku binarnym, który został poprawiony.
Inne zastosowania:
Usuń łatkę:
IntuneMAMFrameworkPatcher -r /path/to/directory_or_binary [-resign] [-verbose]Sprawdź poprawkę:
IntuneMAMFrameworkPatcher -v /path/to/directory_or_binary [-verbose]
Przykładowy skrypt:
IntuneMAMFrameworkPatcher -i $BUILT_PRODUCTS_DIR/$EXECUTABLE_FOLDER_PATH -resign -verbose
Aby uzyskać więcej informacji na temat rozpoczynania pracy i pobierania zestawu SDK, zobacz Wprowadzenie do zestawu SDK aplikacji usługi Microsoft Intune.
Kryteria zakończenia
Weryfikowanie ograniczeń dotyczących zapisywania w/otwierania z
Pomiń, jeśli nie Zaimplementowano kontrolek Zapisz jako i Otwórz od.
Zapoznaj się ponownie z każdym scenariuszem, w którym aplikacja może zapisywać dane w magazynach w chmurze lub lokalizacjach lokalnych oraz otwierać dane z magazynów w chmurze lub lokalizacji lokalnych.
Dla uproszczenia te testy przyjmą, że aplikacja obejmuje tylko obsługę zapisywania i otwierania danych z usługi OneDrive dla Firm z jednej lokalizacji w aplikacji. Należy jednak zweryfikować każdą kombinację: każdą obsługiwaną lokalizację zapisu dla każdego miejsca, w którym aplikacja zezwala na zapisywanie danych, oraz każdą obsługiwaną otwartą lokalizację względem każdego miejsca, w którym aplikacja umożliwia otwieranie danych.
Na potrzeby tych testów zainstaluj aplikację, zintegruj ją z zestawem SDK i zaloguj się przy użyciu konta zarządzanego przed rozpoczęciem testu.
Dodatkowo:
- Ustaw zasady konta zarządzanego jako:
- "Wyślij dane organizacji do innych aplikacji" na wartość "Aplikacje zarządzane przez zasady".
- "Odbieraj dane z innych aplikacji" na wartość "Aplikacje zarządzane przez zasady".
| Scenariusz | Warunki wstępne | Kroki |
|---|---|---|
| Zapisywanie, w pełni dozwolone | Zasada "Zapisuj kopie danych organizacji" ustawiona na wartość "Zezwalaj" | - Przejdź do lokalizacji, w której aplikacja może zapisywać dane w usłudze OneDrive dla Firm. - Spróbuj zapisać dokument w usłudze OneDrive dla Firm, na tym samym zarządzanym koncie zalogowanym do aplikacji. - Upewnij się, że zapis jest dozwolony. |
| Zapisz w, wykluczone | - Zasady "Zapisuj kopie danych organizacji" ustawione na wartość "Blokuj" - Zasady "Zezwalaj użytkownikowi na zapisywanie kopii wybranych usług" ustawione tylko na "OneDrive dla Firm" |
- Przejdź do lokalizacji, w której aplikacja może zapisywać dane w usłudze OneDrive dla Firm. - Spróbuj zapisać dokument w usłudze OneDrive dla Firm, na tym samym zarządzanym koncie zalogowanym do aplikacji. - Upewnij się, że zapis jest dozwolony. - Jeśli aplikacja na to zezwala, spróbuj zapisać plik w innej lokalizacji przechowywania w chmurze i potwierdź, że jest zablokowany. |
| Zapisywanie w, zablokowane | Zasady "Zapisuj kopie danych organizacji" ustawione na wartość "Blokuj" | - Przejdź do lokalizacji, w której aplikacja może zapisywać dane w usłudze OneDrive dla Firm. - Spróbuj zapisać dokument w usłudze OneDrive dla Firm, na tym samym zarządzanym koncie zalogowanym do aplikacji. - Upewnij się, że zapisywanie jest zablokowane. - Jeśli aplikacja na to zezwala, spróbuj zapisać plik w innej lokalizacji przechowywania w chmurze i potwierdź, że jest zablokowany. |
| Otwarty od, w pełni dozwolony | Zasada "Otwieranie danych w dokumentach organizacji" ustawiona na wartość "Zezwalaj" | - Przejdź do lokalizacji, w której aplikacja może otwierać dane z usługi OneDrive dla Firm. - Spróbuj otworzyć dokument z usługi OneDrive dla Firm, z tego samego zarządzanego konta zalogowanego do magazynu aplikacji. - Upewnij się, że otwieranie jest dozwolone. |
| Otwarte od, wyłączone | - Zasady "Otwieranie danych w dokumentach organizacji" ustawione na wartość "Blokuj" - Zasady "Zezwalaj użytkownikom na otwieranie danych z wybranych usług" ustawione tylko na "OneDrive dla Firm" |
- Przejdź do lokalizacji, w której aplikacja może otwierać dane z usługi OneDrive dla Firm. - Spróbuj otworzyć dokument z usługi OneDrive dla Firm, z tego samego zarządzanego konta zalogowanego do magazynu aplikacji. - Upewnij się, że otwieranie jest dozwolone. - Jeśli aplikacja na to pozwala, spróbuj otworzyć inny plik z innej lokalizacji przechowywania w chmurze i potwierdź, że jest zablokowany. |
| Otwarty od, zablokowany | Zasady "Otwieranie danych w dokumentach organizacji" ustawione na wartość "Blokuj" | - Przejdź do lokalizacji, w której aplikacja może otwierać dane z usługi OneDrive dla Firm. - Spróbuj otworzyć dokument z usługi OneDrive dla Firm, z tego samego zarządzanego konta zalogowanego do magazynu aplikacji. - Upewnij się, że otwarcie jest zablokowane. - Jeśli aplikacja na to pozwala, spróbuj otworzyć inny plik z innej lokalizacji przechowywania w chmurze i potwierdź, że jest zablokowany. |
Sprawdzanie poprawności akcji "Kopiuj do"
Pomiń, jeśli nie zaimplementowano akcji "Kopiuj do".
Dla uproszczenia te testy przyjmą, że aplikacja obsługuje tylko kopiowanie danych do aplikacji pakietu Microsoft Office, takich jak Microsoft Word, Excel itp. Należy jednak zweryfikować każdą kombinację: każdą obsługiwaną lokalizację kopiowania względem każdego miejsca, do którego aplikacja zezwala na kopiowanie danych.
Na potrzeby tych testów zainstaluj aplikację, zintegruj ją z zestawem SDK i zaloguj się przy użyciu konta zarządzanego przed rozpoczęciem testu.
Dodatkowo:
- Ukończono wszystkie kroki integracji z akcji "Kopiuj do" za pomocą rozszerzenia akcji dla programu Microsoft Word, a następnie pomyślnie skompilowano i uruchomiono aplikację.
- Ustaw zasady konta zarządzanego jako:
- "Wyślij dane organizacji do innych aplikacji" na wartość "Aplikacje zarządzane przez zasady".
| Scenariusz | Warunki wstępne | Kroki |
|---|---|---|
| Wybierz aplikacje do wykluczenia, brak | Zasada "Wysyłaj dane organizacji do innych aplikacji" ustawiona na wartość "Aplikacje zarządzane przez zasady" | - Przejdź do miejsca, w którym aplikacja może skopiować dane do programu Microsoft Word i uruchom opcję udostępniania tych danych. - Potwierdź, zamiast widzieć opcję "Kopiuj do programu Word", możesz zobaczyć "Otwórz w programie Word". - Naciśnij "Otwórz w programie Word" i potwierdź, że dokument został pomyślnie skopiowany i wyświetlony, biorąc pod uwagę, że program Word jest również zalogowany przy użyciu tego samego zarządzanego konta. |
Sprawdzanie poprawności akcji drukowania
Pomiń, jeśli nie zaimplementowano drukowania.
Na potrzeby tego testu zainstaluj aplikację, zintegruj ją z zestawem SDK i zaloguj się przy użyciu konta zarządzanego przed rozpoczęciem testu.
Dodatkowo:
- Ukończono wszystkie kroki integracji z drukowania oraz pomyślnie skompilowano i uruchomiono aplikację.
- Twoja aplikacja już implementuje alerty/czynności do wykonania w sytuacji, gdy drukowanie nie jest dozwolone przez administratora IT aplikacji. W tym teście założono, że aplikacja będzie wyświetlać użytkownikom końcowym alert o zablokowaniu drukowania.
| Scenariusz | Kroki |
|---|---|
| Drukowanie danych organizacji, blok | - Przejdź do miejsca, w którym aplikacja może wyświetlać dane i uruchom opcję udostępniania tych danych. - Naciśnij "Drukuj". - Potwierdź, że pojawia się ostrzeżenie o bloku i że drukowanie jest niedozwolone. |
| Drukowanie danych organizacji, Zezwalaj | - Przejdź do miejsca, w którym aplikacja może wyświetlać dane i uruchom opcję udostępniania tych danych. - Naciśnij "Drukuj". - Potwierdź, że pojawi się widok "Drukuj" i czy można wybrać drukarkę i pomyślnie wykonać operację. |
Weryfikowanie odbieranych konfiguracji aplikacji
Pomiń, jeśli nie włączono docelowej konfiguracji aplikacji dla aplikacji systemu iOS.
Usługa Intune jest odpowiedzialna za dostarczenie wartości zasad konfiguracji aplikacji do aplikacji; później aplikacja jest odpowiedzialna za użycie tych wartości do zmiany zachowania lub interfejsu użytkownika wewnątrz aplikacji. Oba składniki powinny być poddawane dokładnym, kompleksowym testom.
Aby sprawdzić, czy usługa Intune prawidłowo dostarcza zasady konfiguracji aplikacji:
- Skonfiguruj zasady konfiguracji aplikacji przeznaczone dla Twojej aplikacji i wdrożone na koncie testowym.
- Jeśli aplikacja obsługuje konfigurację aplikacji dla urządzeń zarządzanych, zobacz zasady konfiguracji aplikacji dla zarządzanych urządzeń z systemem iOS Enterprise.
- Jeśli aplikacja obsługuje konfigurację aplikacji dla aplikacji zarządzanych, zobacz zasady konfiguracji aplikacji dla aplikacji zarządzanych.
- Jeśli aplikacja obsługuje oba typy konfiguracji aplikacji, utwórz oba typy zasad na potrzeby testowania.
- Zaloguj się do aplikacji za pomocą konta testowego.
- Poruszaj się po aplikacji, aby przećwiczyć każdą ścieżkę kodu, która wywołuje
IntuneMAMAppConfigManagerappConfigForIdentity.- Rejestrowanie wyników wywołań to
appConfigForIdentityprosty sposób sprawdzenia, które ustawienia zostały dostarczone. Ponieważ jednak administratorzy mogą wprowadzać dowolne dane w ustawieniach konfiguracji aplikacji, uważaj, aby nie rejestrować żadnych prywatnych danych użytkownika.
- Rejestrowanie wyników wywołań to
- Zobacz Weryfikowanie zastosowanych zasad konfiguracji aplikacji.
Ponieważ konfiguracje aplikacji są specyficzne dla aplikacji, tylko Ty wiesz, jak sprawdzić, jak aplikacja powinna zmienić zachowanie lub interfejs użytkownika dla każdego ustawienia konfiguracji aplikacji.
Podczas testowania należy wziąć pod uwagę następujące kwestie:
- Zapewnienie, że wszystkie scenariusze są objęte tworzeniem różnych zasad konfiguracji aplikacji testowej z każdą wartością obsługiwaną przez aplikację.
- Sprawdzanie logiki rozwiązywania konfliktów aplikacji przez utworzenie wielu zasad konfiguracji aplikacji testowej z różnymi wartościami dla każdego ustawienia.
Następne kroki
Jeśli wykonano procedury opisane w tym przewodniku po kolei i spełniono wszystkie powyższe kryteria wyjścia, gratulacje! Twoja aplikacja jest teraz w pełni zintegrowana z zestawem SDK aplikacji usługi Intune i może wymuszać zasady ochrony aplikacji! Zapoznaj się z innymi ważnymi funkcjami uczestnictwa w aplikacjach, takimi jak etap 5: Wiele tożsamości, etap 6: obsługa dostępu warunkowego ochrony aplikacji i etap 7: funkcje widoku sieci Web, aby zintegrować je z aplikacją.
Ochrona aplikacji jest teraz podstawowym scenariuszem aplikacji. Kontynuuj pracę nad aplikacją zgodnie z tym przewodnikiem i dodatkiem .