Microsoft Intune App SDK Xamarin BindingsMicrosoft Intune App SDK Xamarin Bindings

Megjegyzés

Először célszerű elolvasnia az Intune App SDK használatának első lépései című cikket, amely bemutatja az integráció előkészítését a támogatott platformokon.You may wish to first read the Get Started with Intune App SDK article, which explains how to prepare for integration on each supported platform.

ÁttekintésOverview

Az Intune App SDK Xamarin Bindings lehetővé teszi az Intune alkalmazásvédelmi szabályzatok használatát a Xamarinnal készített iOS- és Android-alkalmazásokban.The Intune App SDK Xamarin Bindings enable Intune app protection policy in iOS and Android apps built with Xamarin. A kötések lehetővé teszik a fejlesztők számára, hogy Intune alkalmazásvédelmi funkciókat építsenek be a Xamarin-alapú alkalmazásaikba.The bindings allow developers to easily build in Intune app protection features into their Xamarin-based app.

A Microsoft Intune App SDK Xamarin Bindings lehetővé teszi, hogy Intune alkalmazásvédelmi szabályzatokat (vagy más néven alkalmazás- vagy MAM-szabályzatokat) építsen be a Xamarinnal fejlesztett alkalmazásokba.The Microsoft Intune App SDK Xamarin Bindings let you incorporate Intune app protection policies (also known as APP or MAM policies) into your apps developed with Xamarin. A MAM-kompatibilis alkalmazás az, amelyik integrálva van az Intune App SDK-val.A MAM-enabled application is one that is integrated with the Intune App SDK. Mindez lehetővé teszi a rendszergazdáknak, hogy alkalmazásvédelmi szabályzatokat telepítsenek a mobilalkalmazásra vonatkozóan, ha az Intune aktívan felügyeli az alkalmazást.IT administrators can deploy app protection policies to your mobile app when Intune actively manages the app.

Támogatott források és műveletekWhat's supported?

Fejlesztői gépekDeveloper machines

  • Windows (Visual Studio version 15.7+)Windows (Visual Studio version 15.7+)
  • macOSmacOS

Mobilalkalmazás-platformokMobile app platforms

  • AndroidAndroid
  • iOSiOS

Intune mobilalkalmazás-kezelési helyzetekIntune Mobile Application Management scenarios

  • Intune APP-WE (eszközregisztráció nélkül)Intune APP-WE (without device enrollment)
  • Intune MDM által regisztrált eszközökIntune MDM-enrolled devices
  • Külső EMM által regisztrált eszközökThird-party EMM-enrolled devices

Az Intune App SDK Xamarin Bindingsszal létrehozott Xamarin-alkalmazásokra mostantól alkalmazhatók az Intune alkalmazásvédelmi szabályzatai az Intune mobileszköz-felügyeletében (MDM) regisztrált eszközökön és a nem regisztrált eszközökön is.Xamarin apps built with the Intune App SDK Xamarin Bindings can now receive Intune app protection policies on both Intune mobile device management (MDM) enrolled devices and unenrolled devices.

ElőfeltételekPrerequisites

  • [Csak az Android esetében] Az eszközön a legújabb Microsoft Intune Céges portál alkalmazást kell telepíteni.[Android only] The latest Microsoft Intune Company Portal app must be installed on the device.

Első lépésekGet started

  1. Olvassa el Microsoft Intune MAM Xamarin összetevő licencfeltételeit.Read the license terms for the Microsoft Intune MAM Xamarin Component.

  2. Töltse le az Intune App SDK Xamarin Component mappát a GitHubról vagy a Nuget.orgról, és csomagolja ki.Download the Intune App SDK Xamarin Component folder from GitHub or Nuget.org and extract it. Az 1. és a 3. lépésben letöltött fájlnak ugyanazon a könyvtárszinten kell lennie.Both files downloaded from step 1 and step 3 should be in the same directory level.

  3. Futtassa rendszergazdaként a következő parancsot a parancssorban: Xamarin.Component.exe install <.xam> file.In the command line as an administrator, run Xamarin.Component.exe install <.xam> file.

  4. A Visual Studióban kattintson a jobb gombbal a korábban létrehozott Xamarin-projektben a components (összetevők) elemre.In Visual Studio, right-click components in your previously created Xamarin project.

  5. Válassza az Edit Components (Összetevők szerkesztése) lehetőséget, és vegye fel az Intune App SDK összetevőt, amelyet helyileg töltött le a számítógépére.Select Edit Components and add the Intune App SDK component you’ve downloaded locally to your computer.

A licencfeltételek áttekintése.Review the license terms. Nyomtassa ki és őrizze meg a licencfeltételeket.Print and retain a copy of the license terms for your records. Az Intune App SDK Xamarin Bindings letöltésével és használatával elfogadja licencfeltételeket.By downloading and using the Intune App SDK Xamarin Bindings, you agree to such license terms. Amennyiben a feltételeket nem fogadja el, ne használja a szoftvert.If you do not accept them, do not use the software.

Az Intune alkalmazásvédelmi szabályzatainak engedélyezése az iOS-mobilalkalmazásbanEnabling Intune app protection polices in your iOS mobile app

  1. Adja hozzá Xamarin.iOS-projektjéhez a Microsoft.Intune.MAM.Xamarin.iOS NuGet-csomagot.Add the Microsoft.Intune.MAM.Xamarin.iOS NuGet package to your Xamarin.iOS project.

  2. Kövesse az Intune App SDK iOS-mobilalkalmazásokba való integrálásához szükséges általános lépéseket.Follow the general steps required for integrating the Intune App SDK into an iOS mobile app. Kezdhet az iOS-hez készült Intune App SDK – fejlesztői útmutató című témakör integrálási útmutatásának 3. lépésével.You can begin with step 3 of the integration instructions from the Intune App SDK for iOS Developer Guide. Az IntuneMAMConfigurator futtatásáról szóló szakasz utolsó lépését átugorhatja, mivel az eszköz része a Microsoft.Intune.MAM.Xamarin.iOS csomagnak, és a build időpontjában automatikusan futtatva lesz.You can skip the final step in that section of running the IntuneMAMConfigurator, as this tool is included in the Microsoft.Intune.MAM.Xamarin.iOS package and will be run automatically at build time. Fontos: A kulcslánc megosztásának alkalmazások számára való engedélyezése kissé eltérő a Visual Studióban és az Xcode-ban.Important: Enabling keychain sharing for an app is slightly different in Visual Studio from Xcode. Nyissa meg az alkalmazás jogosultságokat tartalmazó plist-fájlját, és győződjön meg arról, hogy az „Enable Keychain” („Kulcslánc engedélyezése”) lehetőség engedélyezve van, és hogy ebben a szakaszban a megfelelő kulcslánc-megosztási csoportok szerepelnek.Open the app's Entitlements plist and make sure the "Enable Keychain" option is enabled and the appropriate keychain sharing groups are added in that section. Ezután győződjön meg arról, hogy a projekt „iOS Bundle Signing” („iOS-kötegaláírási”) beállításai között a konfigurációk és platformok összes megfelelő kombinációjához meg van adva a jogosultságokat tartalmazó plist-fájl a „Custom Entitlements” („Egyéni jogosultságok”) mezőben.Then, ensure the Entitlements plist is specified in the "Custom Entitlements" field of the project's "iOS Bundle Signing" options for all the appropriate Configuration/Platform combinations.

  3. Miután hozzáadta a kötéseket, és megfelelően konfigurálta az alkalmazást, az alkalmazás megkezdheti az Intune SDK API-jának használatát.Once the bindings are added and the app is properly configured, your app can begin using the Intune SDK's APIs. Ehhez a következő névteret kell hozzáadnia:To do so, you must include the following namespace:

    using Microsoft.Intune.MAM;
    
  4. Az alkalmazásvédelmi szabályzatok fogadásának megkezdéséhez az alkalmazást regisztrálni kell az Intune MAM szolgáltatásban.To begin receiving app protection policies, your app must enroll in the Intune MAM service. Ha az alkalmazás már az Azure Active Directory Authentication Library (ADAL) tárral hitelesíti a felhasználókat, az alkalmazásnak a sikeresen hitelesítést követően át kell adnia a felhasználó egyszerű felhasználónevét az IntuneMAMEnrollmentManager registerAndEnrollAccount metódusának:If your app already uses the Azure Active Directory Authentication Library (ADAL) to authenticate users, your app should provide the user's UPN to the IntuneMAMEnrollmentManager's registerAndEnrollAccount method after it has successfully authenticated:

    IntuneMAMEnrollmentManager.Instance.RegisterAndEnrollAccount(string identity);
    

    Fontos: Mindenképpen bírálja felül az Intune App SDK alapértelmezett ADAL-beállításait az alkalmazáséival.Important: Be sure to override the Intune App SDK's default ADAL settings with those of your app. Ezt az alkalmazás Info.plist fájljában található IntuneMAMSettings szótárban teheti meg az iOS-hez készült Intune App SDK – fejlesztői útmutató című témakörben leírtaknak megfelelően, vagy használhatja az IntuneMAMPolicyManager-példány AAD-felülbírálási tulajdonságait.You can do so via the IntuneMAMSettings dictionary in the app's Info.plist, as mentioned in the Intune App SDK for iOS Developer Guide, or you can use the AAD override properties of the IntuneMAMPolicyManager instance. Az Info.plist fájlt alkalmazó módszer használata ajánlott az olyan alkalmazások esetében, melyek ADAL-beállításai statikusak, míg a felülbírálási tulajdonságok használata ajánlott olyan alkalmazások esetében, melyek futásidőben határozzák meg ezeket az értékeket.The Info.plist approach is recommended for applications whose ADAL settings are static while the override properties are recommended for applications that determine those values at runtime.

    Ha az alkalmazás nem az ADAL-t használja, és azt szeretné, hogy az Intune SDK kezelje a hitelesítést, az alkalmazásnak az IntuneMAMEnrollmentManager loginAndEnrollAccount metódusát kell meghívnia:If your app does not use ADAL, and you'd like the Intune SDK to handle authentication, your app should call the IntuneMAMEnrollmentManager's loginAndEnrollAccount method:

     IntuneMAMEnrollmentManager.Instance.LoginAndEnrollAccount([NullAllowed] string identity);
    

Megjegyzés

iOS rendszerre nincs remapper.There is no remapper for iOS. A Xamarin.Forms-alkalmazásokba való integrálásnak ugyanúgy kell történnie, mint általában a Xamarin.iOS-projektek esetén.Integrating into a Xamarin.Forms app should be the same as for a regular Xamarin.iOS project.

Az Intune alkalmazásvédelmi szabályzatainak engedélyezése Androidos mobilalkalmazásbanEnabling Intune app protection policies in your Android mobile app

Olyan Xamarin-alapú androidos alkalmazások esetén, amelyek nem használnak felhasználóifelület-keretrendszert, olvassa el és kövesse az Androidhoz készült Intune App SDK fejlesztői útmutatójában leírtakat.For Xamarin-based Android apps not using a UI framework, you need to read and follow the Intune App SDK for Android Developer Guide. Xamarin-alapú Android-alkalmazások esetén le kell cserélnie az osztályt, a metódusokat és a tevékenységeket a MAM-beli megfelelőikre az útmutatóban található táblázat alapján.For your Xamarin-based Android app, you need to replace class, methods, and activities with their MAM equivalent based on the table included in the guide. Ha az alkalmazás nem rendelkezik meghatározott android.app.Application osztállyal, akkor hozzon létre egyet, és győződjön meg arról, hogy az a MAMApplication osztálytól örököl.If your app doesn’t define an android.app.Application class, you need to create one and ensure that you inherit from MAMApplication.

Xamarin.Android-integrációXamarin.Android integration

  1. Adja hozzá Xamarin.Android-projektjéhez a Microsoft.Intune.MAM.Xamarin.Android NuGet-csomag legfrissebb verzióját.Add the latest version of the Microsoft.Intune.MAM.Xamarin.Android NuGet package to your Xamarin.Android project. Ezzel elérhetővé válnak az Intune alkalmazáshoz való engedélyezéséhez szükséges hivatkozások.This will provide you with the necessary references to Intune enable your application.

  2. Olvassa el és kövesse A Microsoft Intune App SDK Androidon – útmutató fejlesztőknek című cikk lépéseit, és fordítson kiemelt figyelmet a következő szakaszokra:Read and follow the Intune App SDK for Android Developers Guide fully, paying special attention to:

    1. A teljes osztályok és metódusok lecserélése szakasz.The entire class and method replacements section.
    2. A MAMApplication szakasz.The MAMApplication section. Ügyeljen rá, hogy az alosztály megfelelően jelölve legyen a [Application] attribútummal, és felülbírálja a (IntPtr, JniHandleOwnership) konstruktort.Be sure that your subclass is properly decorated with the [Application] attribute and overrides the (IntPtr, JniHandleOwnership) constructor.
    3. Az ADAL-integráció szakaszt amennyiben az alkalmazás AAD-ben történő hitelesítést is végrehajt.The ADAL integration section if your app performs authentication against AAD.
    4. A MAM-WE regisztrációs szakaszt ha az alkalmazás a MAM-szolgáltatásból fog lekérni szabályzatot.The MAM-WE enrollment section if you plan on obtaining policy from the MAM service in your application.

Megjegyzés

Ha az A Microsoft Intune App SDK Androidon – útmutató fejlesztőknek alapján keres egyenértékű API-kat a Microsoft.Intune.MAM.Xamarin.Android kötések között, vagy amikor az útmutatóból konvertál kódrészleteket, akkor ügyeljen rá, hogy a Xamarin kötésgenerátora a következő jelentős módokon módosítja az Android-API-kat:When attempting to find equivalent APIs from the Intune App SDK for Android Developers Guide in the Microsoft.Intune.MAM.Xamarin.Android Bindings or when converting code snippets from the guide, be aware that Xamarin's bindings generator modifies the Android APIs in the following notable ways:

  • Az összes azonosító Pascal case írásmódra módosul (com.foo.bar -> Com.Foo.Bar)All identifiers are converted to Pascal case (com.foo.bar -> Com.Foo.Bar)
  • Minden get/set művelet tulajdonság típusú műveletté lesz konvertálva (pl. Foo.getBar() -> Foo.Bar, Foo.setBar("zap") -> Foo.Bar = "zap")All get/set operations are converted to property operations (e.g. Foo.getBar() -> Foo.Bar, Foo.setBar("zap") -> Foo.Bar = "zap")
  • Minden interfész neve elé be lesz illesztve az 'I' karakter (FooInterface -> IFooInterface)All interfaces have the character 'I' prepended on the name (FooInterface -> IFooInterface)

Xamarin.Forms-integrációXamarin.Forms integration

Az előző lépések végrehajtása mellett a Xamarin.Forms-alkalmazásokhoz egy Microsoft.Intune.MAM.Remapper-csomagot is elérhetővé tettünk.In addition to performing all of the steps above, for Xamarin.Forms applications we have provided the Microsoft.Intune.MAM.Remapper package. Ez a csomag úgy cseréli le az osztályokat, hogy MAM-osztályokat injektál az olyan gyakran használt Xamarin.Forms-osztályok osztályhierarchiájába mint a FormsAppCompatActivity és a FormsApplicationActivity, így nyugodtan használhatja osztályait továbbra is, csupán felülbírálást kell biztosítania az olyan MAM-kompatibilis funkcióknak, mint a OnMAMCreate és a OnMAMResume.This package accomplishes class replacement for you by injecting MAM classes into the class hierarchy of commonly used Xamarin.Forms classes like FormsAppCompatActivity and FormsApplicationActivity so you can continue to use those classes by providing overrides for the MAM equivalent functions like OnMAMCreate and OnMAMResume. A használatához hajtsa végre a következőket:To use it, do the following:

  1. Projektjéhez adja hozzá a Microsoft.Intune.MAM.Remapper.Tasks NuGet-csomagot.Add the Microsoft.Intune.MAM.Remapper.Tasks NuGet package to your project. Ezzel automatikusan hozzáadhatja az Intune APP SDK Xamarin-kötéseit, ha esetleg még nem adta volna őket meg.This will automatically add the Intune APP SDK Xamarin bindings if you have not already included them.

  2. Adjon hozzá egy Xamarin.Forms.Forms.Init(Context, Bundle)-hívást a 2.2-es lépésnél létrehozott MAMApplication-osztály OnMAMCreate-funkciójához.Add a call to Xamarin.Forms.Forms.Init(Context, Bundle) in the OnMAMCreate function of the MAMApplication class you created in step 2.2 above. Erre azért van szükség, mert az Intune-felügyelet használata esetén az alkalmazás a háttérben is elindítható.This is needed because with Intune management your application can be started while in the background.

Megjegyzés

Mivel ez a művelet felülír egy olyan függőséget, amit a Visual Studio az Intellisense automatikus kiegészítéshez használ, lehet, hogy újra kell indítania a Visual Studiot a remapper eszköz első futtatását követően ahhoz, hogy az Intellisense felismerje a változtatásokat.Because this operation re-writes a dependency that Visual Studio uses for Intellisense auto-completion, you may need to restart Visual Studio after the first time the remapper runs to get Intellisense to correctly recognize the changes.

TámogatásSupport

Elvégezte az összetevő alkalmazásba történő beépítésének alapvető lépéseit.You have completed the basic steps of building the component into your app. Következőnek kövesse a Xamarin-alapú Android-mintaalkalmazásban lévő lépéseket.Now you can follow the steps included in the Xamarin Android sample app. Két mintát biztosítottunk, egyet a Xamarin.Forms-hoz és egyet az Androidhoz.We have provided two samples, one for Xamarin.Forms and another for Android.

Intune alkalmazásvédelmi szabályzatok megkövetelése a Xamarin-alapú Android LOB-alkalmazások (nem kötelező) használatáhozRequiring Intune app protection policies in order to use your Xamarin-based Android LOB app (optional)

A következő útmutatóból megtudhatja, hogyan biztosíthatja, hogy a Xamarin-alapú androidos üzletági alkalmazásokat csak az Intune által védett felhasználók használhassák eszközeiken.The following is guidance for ensuring Xamarin-based Android LOB apps can be used only by Intune protected users on their device.

Általános követelményekGeneral Requirements

  • Az Intune SDK csapata kérni fogja az alkalmazás azonosítóját.The Intune SDK team will require your app's Application ID. Ezt az Azure Portalon, a Minden alkalmazás terület Alkalmazásazonosító oszlopában találhatja meg.This can be found in the Azure Portal, under All Applications, in the column for Application ID. Az Intune SDK csapatát e-mailen keresztül érdemes felkeresni (msintuneappsdk@microsoft.com).A good way to reach out to the Intune SDK team is through emailing msintuneappsdk@microsoft.com.

Az Intune SDK használataWorking with the Intune SDK

Ezek az utasítások minden olyan Android- és Xamarin-alkalmazásra vonatkoznak, amelyek Intune-alkalmazásvédelmi szabályzatokat szeretnének kérni a végfelhasználói eszközöktől.These instructions are specific to all Android and Xamarin apps who wish to require Intune app protection policies for use on a end user device.

  1. Konfigurálja az ADAL-t az Androidos Intune SDK útmutatójában megadott lépések alapján.Configure ADAL using the steps defined in the Intune SDK for Android guide.

Megjegyzés

Az alkalmazáshoz tartozó „ügyfél-azonosító” kifejezés megfelel az Azure Portalon az „alkalmazásazonosító” kifejezésnek.The term "client id" is the same as the term "application id" from the Azure Portal tied to your app.

  • Az SSO engedélyezéséhez a 2. „Common ADAL configurationre” van szükség.To enable SSO, "Common ADAL configuration" #2 is what is needed.
  1. Az alapértelmezett regisztráció engedélyezéséhez írja az alábbi értéket a jegyzékfájlba: xml <meta-data android:name="com.microsoft.intune.mam.DefaultMAMServiceEnrollment" android:value="true" />Enable default enrollment by putting the following value in the manifest: xml <meta-data android:name="com.microsoft.intune.mam.DefaultMAMServiceEnrollment" android:value="true" />

Megjegyzés

Ez lehet az alkalmazás egyetlen MAM-WE-integrációja.This must be the only MAM-WE integration in the app. Ha az alkalmazás többször próbál meg MAMEnrollmentManager API-kat hívni, problémák merülhetnek fel.If there are any other attempts to call MAMEnrollmentManager APIs, conflicts can arise.

  1. A MAM-szabályzat engedélyezéséhez írja az alábbi értéket a jegyzékfájlba: xml <meta-data android:name="com.microsoft.intune.mam.MAMPolicyRequired" android:value="true" />Enable MAM policy required by putting the following value in the manifest: xml <meta-data android:name="com.microsoft.intune.mam.MAMPolicyRequired" android:value="true" />

Megjegyzés

Ez kényszeríti az alkalmazást, hogy letöltse a Céges portált az eszközre, és a használat előtt elvégezze az alapértelmezett regisztrációt.This forces apps to download the Company Portal on the device and complete the default enrollment flow before use.

Az ADAL használataWorking with ADAL

Ezek az utasítások minden olyan .NET- és Xamarin-alkalmazásra vonatkoznak, amelyek Intune-alkalmazásvédelmi szabályzatokat használatát követelik meg a végfelhasználói eszközökön.These instructions are a requirement for .NET/Xamarin apps who wish to require Intune app protection policies for use on a end user device.

  1. Kövesse az ADAL dokumentációjában a Brokered Authentication for Android (Közvetített hitelesítés az Androidhoz) szakaszban meghatározott lépéseket.Follow all the steps defined in the ADAL documentation under Brokered Authentication for Android.

Megjegyzés

A .NET ADAL által kibocsátott következő verzió (3.17.4) várhatóan tartalmazni fogja az ennek a működéséhez szükséges javítást.The version that .NET ADAL will be releasing next (3.17.4) is expected to contain the fix required to make this work.

Ha vállalata már Intune-ügyfél, akkor a Microsoft támogató szolgálat képviselőjével együttműködve nyisson meg egy támogatási jegyet, és hozzon létre bejelentést a GitHub hibabejelentő oldalán, mi pedig segítünk, amint tudunk.If your organization is an existing Intune customer, please work with your Microsoft support representative to open a support ticket and create an issue on the Github issues page and we will help as soon as we can.