Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Android için Microsoft Intune Uygulama SDK'sı, Intune uygulama koruma ilkelerini yerel Java/Kotlin Android uygulamanıza dahil etmenize olanak tanır. Bu ilkeler MAM ilkeleri olarak da bilinir. Bir IntuneIntune-yönetilen uygulama, IntuneIntune App SDK ile tümleştirilmiş bir uygulamadır. Intune uygulamayı etkin bir şekilde yönettiğinde, Intune yöneticileri uygulama koruma ilkelerini Intune yönetilen uygulamanıza kolayca dağıtabilir.
Not
Bu kılavuz birkaç ayrı aşamaya ayrılmıştır. 1. Aşama: Entegrasyonu Planlama bölümünü gözden geçirerek başlayın.
3. Aşama: MAM ile Çalışmaya Başlama
Aşama Hedefleri
- Intune Uygulama SDK'sını indirin.
- Intune Uygulama SDK'sına hangi dosyaların dahil olduğunu öğrenin.
- Uygulamanızdaki Intune App SDK'sına başvurun.
- TIntuneIntune App Gradle Build Plugin'i yapılandırın veya komut satırı derleme aracını kullanın.
- Intune App SDK'nın derlemenize düzgün bir şekilde eklendiğini onaylayın.
Arka plan
Uygulamanız MSAL'yi başarıyla tümleştirdiğine göre, IntuneIntune Uygulama SDK'sını indirmenin ve uygulamanızın derleme işlemine eklemenin zamanı geldi.
Intune App SDK'sını tümleştirmenin büyük bir bölümü, standart Android sınıflarını ve yöntem çağrılarını bu sınıfların ve yöntem çağrılarının Intune sürümleriyle değiştiriyor. SDK, bu değişikliklerin çoğunu sizin için otomatik olarak yapan derleme araçları içerir. Bu değiştirme mantığı hakkında daha fazla bilgi edinmek isterseniz, ekinsınıf ve yöntem değiştirmeleri bölümüne bakın.
TIntuneIntune App SDK'sını indirin
SDK'yı indirmek için bkz. SDK dosyalarını indirme.
SDK'da neler var?
Intune Intune Uygulama SDK'sı aşağıdaki dosyalardan oluşur:
- Microsoft'a gidin. IntuneIntune. MAM. SDK.aar: Destek Kitaplığı JAR dosyaları dışındaki SDK bileşenleri.
- com.microsoft.intune.mam.build.jar: SDK'nın entegrasyonuna yardımcı olan bir Gradle eklentisi.
- CHANGELOG.md: Her SDK sürümünde yapılan değişikliklerin kaydını sağlar.
-
Microsoft'a gidin. IntuneIntune. MAM. SDK'yı seçin. DownlevelStubs.aar: Bu Android ArchiveArşiv (AAR), yalnızca daha yeni cihazlarda bulunan ancak MAMActivity'deki yöntemlerle başvurulan Android sistem sınıfları için taslaklar içerir. Daha yeni cihazlar bu saplama sınıflarını yok sayar. Bu AAR, yalnızca uygulamanız 'den
MAMActivitytüreyen sınıflar üzerinde yansıma gerçekleştiriyorsa gereklidir ve çoğu uygulamanın bunu içermesi gerekmez. AAR, tüm sınıflarını dışlayan ProGuard kuralları içerir.
Revencing IntuneIntune App libraries
TIntuneIntune Uygulama SDK'sı, dış bağımlılığı olmayan standart bir Android kitaplığıdır. Microsoft'a gidin. IntuneIntune. MAM. SDK.aar, uygulama koruma ilkelerini etkinleştirmek için gerekli arabirimleri içerir. Ayrıca, Microsoft Intune Şirket Portalı uygulamasıyla birlikte çalışmak için gerekli kodu da içerir.
Android Studio
Microsoft'a gidin. IntuneIntune. MAM. SDK.aar, Android kitaplık başvurusu olarak belirtilmelidir. Derlemenize bu bağımlılığı eklemek için Android belgelerinden AAR veya JAR öğenizi bağımlılık olarak ekleme bölümünü izleyin.
Visual Studio
The IntuneIntune App SDK for .NET MAUI - Android NuGet paketi bağımlılık olarak eklenmelidir.
NuGet Paket Yöneticisi'ni kullanarak Visual Studio'da paketleri yükleme ve yönetme işlemini izleyin.
Microsoft.IntuneIntune. MAM. SDK.aar, ad alanı kapsamında C# başvuruları oluşturmak zorundadırMicrosoft.Intune.Mam.
ProGuard
Uygulamanız derleme adımı olarak ProGuard'ı (veya başka bir küçültme/gizleme mekanizmasını) zaten kullanıyor olabilir. TIntuneIntune Uygulama SDK'sı, bu derleme adımına dahil edilmesi gereken ProGuard yapılandırma kurallarına sahiptir. Dahil olmak üzere . Derlemenizdeki AAR , daha önce açıklandığı gibi, SDK'nın yapılandırmasını ProGuard adımıyla otomatik olarak tümleştirir, böylece gerekli sınıf dosyaları tutulur. Eğer . Başka bir değişikliğe gerek yoktur.
Microsoft Kimlik Doğrulama Kitaplığı (MSAL) kendi ProGuard yapılandırmasıyla birlikte gelir. Uygulamanız MSAL'yi tümleştiriyorsa daha fazla ayrıntı için MSAL belgelerine bakın.
Derleme araçları
SDK, MAM değiştirmelerini otomatik olarak gerçekleştiren derleme araçları (Gradle derlemeleri için bir eklenti, .NET derlemeleri için hedefler ve bir komut satırı aracı) sağlar. Bu araçlar, Java derlemesi tarafından oluşturulan sınıf dosyalarını dönüştürür; Orijinal kaynak kodunu değiştirmezler. Gradle eklentisini, .NET NuGet paketini veya komut satırı aracını kullanmanız gerekir.
Derleme araçları tek başına uygulamanızı tam olarak tümleştirmek için yeterli değildir. Araçlar yalnızca sınıf ve yöntem değişiklikleri gerçekleştirir. Çoklu Kimlik, Uygulama Koruma İlkesi'ne Kaydolma, uygulamalarla cihaz veya bulut depolama konumları arasında veri aktarımını sınırlama ilkesi veya MSAL yapılandırması gibi daha karmaşık SDK tümleştirmeleri gerçekleştirmez. Uygulamanızın tamamen Intune etkinleştirilebilmesi için bu tümleştirmeleri tamamlamanız gerekir. Uygulamanızla ilgili tümleştirme noktaları için bu belgenin geri kalanını dikkatlice gözden geçirin.
Hata Ayıklama
Derleme aracı, derlemeden sonra değiştirmeler gerçekleştirir. Bu değişiklikler bazı yöntem adlarını değiştirir. Sonuç olarak, yöntem adlarında ayarlanan hata ayıklama kesme noktaları etkilenebilir. Beklendiği gibi durmayabilirler. Satır numarası kesme noktaları etkilenmez.
Yığındaki MAM
TIntuneIntune Uygulama SDK'sı tümleştirmesi, büyük ölçüde sınıf ve yöntem değişikliklerine dayanır. Bu güven nedeniyle, yığın izlemelerinizin tamamını görürsünüz mam .
Uygulamanızın uygulama koruma ilkeleriyle hedeflenmiş bir hesabı olmadığında, tüm bu MAM kodu uykuda kalır. Örneğin, MAMActivity ile aynı Activity çalışır ve onMAMCreate ile aynı onCreateçalışır.
Yığını her gördüğünüzde mam , önce şunları denetleyin:
- Hesap, uygulama koruma ilkeleriyle mi hedefleniyor?
- TIntune Şirket PortalıIntune Şirket Portalı yüklü mü?
Her ikisinin de cevabı "evet" değilse, MAM kodu basit bir geçiş görevi görür.
Hangi araca ihtiyacım var?
Uygulamanızı Gradle ile oluşturursanız, Gradle Build Eklentisi ile Entegrasyon bölümüne bakın
Uygulamanızı .NET MAUI ile oluşturuyorsanız, bkz.
Uygulamanızı önceki araçlardan hiçbiriyle oluşturmadıysanız Komut Satırı Aracıyla Tümleştirme bölümüne bakın.
Gradle Build Eklentisi ile entegrasyon
Intune App SDK eklentisi, SDK'nın bir parçası olarak GradlePlugin/com.microsoft.intune.mam.build.jar olarak dağıtılır.
Eklentinin Gradle tarafından tanınması için sınıf yoluna eklenmesi buildscript gerekir.
Eklenti, eklenmesi gereken Javassist'e bağlıdır. Javassist bağımlılığı hakkında daha fazla bilgi için bkz: Bağımlılıklar.
Bunları sınıf yoluna eklemek için, kökünüze build.gradleaşağıdakileri ekleyin:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath "org.javassist:javassist:3.29.2-GA"
classpath files("$PATH_TO_MAM_SDK/GradlePlugin/com.microsoft.intune.mam.build.jar")
}
}
Ardından, eklentiyi uygulamak için, uygulamanız ve dinamik özellik modülleriniz için dosyaya aşağıdakileri build.gradle ekleyin:
apply plugin: 'com.microsoft.intune.mam'
Varsayılan olarak, eklenti bağımlılıklar ve harici kitaplıklar üzerinde project çalışır.
Test derlemesi etkilenmez.
Not
8.0 IntuneIntune Uygulama SDK'sından başlayarak, kitaplıkları seçerek işlemek artık mümkün değildir. Tüm kitaplıklar işlenir.
Bağımlılıklar
Gradle eklentisinin, Gradle'ın bağımlılık çözümü için kullanılabilir hale getirilmesi gereken Javassist'e bağımlılığı vardır. Javassist, eklentiyi çalıştırırken yalnızca derleme zamanında kullanılır ve uygulamanıza hiçbir Javassist kodu eklenmez.
| MAM SDK'sı | Javassist Sürümü |
|---|---|
| ≥ 10.0.0 | 3.29.2-GA |
| ≥ 7.0.0 | 3.27.0-GA |
| < 7.0.0 | 3.22.0-GA |
Not
Javassist sürümleri geriye dönük olarak uyumlu olmayabilir. Genel olarak, IntuneIntune App SDK tarafından beklenen tam sürümü kullanmanız gerekir.
Uyumluluk Matrisi
MAM SDK Derleme Eklentisi, Android derleme gereksinimleri ve uyumluluk tablolarıyla uyumludur. Burada listelenmeyen sürümler çalışabilir veya çalışmayabilir.
| MAM SDK'sı | Android Sürümü | Gradle Belediyesi | Android Gradle Eklentisi | Kotlin Sürümü | Java Sürümü |
|---|---|---|---|---|---|
| 10.0.0 | 14 | 8.2 | 8.2.2 | 1.9.25 | 17 |
| 11.0.0 | 15 | 8.7 | 8.6.1 | 2.0.21 | 17 |
| 12.0.0 | 16 | 8.11.1 | 8.9.1 | 2.1.21 | 17 |
Dışlamalar
Uygulamanızdaki belirli bileşenleri yeniden yazma işlemlerinden dışlamak için daha fazla yapılandırma sağlanabilir. Dışlamalar ağırlıklı olarak MAM ile ilgili olmayan bileşenler için yararlıdır (yani, şirket verilerini işlemez veya görüntülemez).
İstisnalar çeşitli kapsamlar için yapılandırılabilir:
-
excludeProjectsGradle projelerinin bir listesinin hariç tutulmasına izin verir. Bu dışlamalar, Android kitaplıkları veya sistem API'leri ile arabirim oluşturmayan projeler için kullanışlıdır. Ayrıca şirket verilerini işlemeyen projeler için de kullanışlıdır. Örneğin, alt düzey ağ işlemlerini gerçekleştirmek için yalnızca yerel kod içeren bir proje iyi bir aday olabilir. Bir proje, Android kitaplıkları veya sistem API'leri ile genel olarak arabirim oluşturuyorsa, bu dışlamalardan kaçının. -
excludeClassesSınıf listesinin hariç tutulmasına izin verir. Bu dışlamalar, şirket verilerini işlemeyen veya sunmayan sınıflar için yararlıdır. Örneğin, açılış ekranları ve işe alımActivityekranları iyi adaylardır. Üst sınıflarından herhangi biri işlenirse sınıf dışlanamaz. -
excludeVariantsProje değişkenlerinin dışlanmasını sağlar. Bu istisnalar, tam bir varyasyon adına veya tek bir çeşniye işaret edebilir. Bunlar, özellikle uygulamanızın MAM olmayan bir çeşidini oluşturmak istiyorsanız kullanışlıdır. Örneğin, uygulamanızın derleme türleridebugvarsa verelease{,MAM} ve {noMAMmock,production} niteliklerine sahipse şunları belirtebilirsiniz:-
noMAMnoMAM aromasına sahip tüm varyantları hariç tutmak için veya -
noMAMMockDebugyalnızca bu tam varyantı hariç tutmak için.
-
Dikkat
İstisnalar hafife alınmamalıdır. Dışlamaların yanlış uygulanması, uygulamanızda ciddi veri sızıntılarına neden olabilir. Uyguladığınız hariç tutmaların etkisini her zaman doğrulayın.
İstisnalar içeren örnek kısmi build.gradle
apply plugin: 'com.microsoft.intune.mam'
dependencies {
implementation project(':product:FooLib')
implementation project(':product:foo-project')
implementation "com.microsoft.bar:baz:1.0.0"
// Include the MAM SDK
implementation files("$PATH_TO_MAM_SDK/Microsoft.Intune.MAM.SDK.aar")
}
intunemam {
excludeProjects = [':product:FooLib']
excludeClasses = ['com.contoso.SplashActivity']
excludeVariants = ['noMAM']
}
Bu aşağıdaki etkilere sahip olur:
-
:product:FooLibyeniden yazılmadığı içinexcludeProjects -
:product:foo-projectiçinde olduğu için atlanan hariç yeniden yazılırcom.contoso.SplashActivity.excludeClasses -
com.microsoft.bar:baz.1.0.0tüm dış kitaplıklar işlenmek üzere dahil edildiğinden yeniden yazılır. - Lezzet içeren
noMAMvaryantlar yeniden yazılmaz.
Raporlama
Derleme eklentisi, yaptığı değişikliklerin bir html raporunu oluşturabilir.
Bu raporun oluşturulmasını istemek için yapılandırma bloğunda intunemam belirtinreport = true.
Rapor oluşturulursa, derleme dizininde bu rapora outputs/logs yazılır.
intunemam {
report = true
}
Doğrulama
Derleme eklentisi, sınıfları işlerken olası hataları aramak için daha fazla doğrulama çalıştırabilir. Bu denetimler, eklenti kaynaklı olası çalışma zamanı hatalarına karşı korunmaya yardımcı olur.
Doğrulamanın derlemenizde gerçekleştirilmesini istemek için yapılandırma bloğunda intunemam belirtinverify = true.
Bu, eklentinin görevinin aldığı süreye birkaç saniye ekleyebilir.
intunemam {
verify = true
}
Genel olarak, bir doğrulama hatası, derleme eklentisindeki bir hatayı temsil eder. Bir hatayla ilgili yardım için sorunu Microsoft desteğine bildirin. Microsoft destek sözleşmeniz yoksa bir GitHub sorunu açın.
Artımlı derlemeler
Artımlı olarak oluşturma desteğini etkinleştirmek için yapılandırma bloğunda intunemam belirtinincremental = true.
Bu özellik, yalnızca değişen giriş dosyalarını işleyerek derleme performansını artırır.
Varsayılan yapılandırma incremental şudur: false.
intunemam {
incremental = true
}
Dinamik Özellik Modülü yapılandırması
Dinamik Özellik Modülleri, uygulama projesinden ayrı olarak oluşturulur. Bu nedenle, Dinamik Özellik Modüllerinin de Gradle Build Eklentisini uygulaması gerekir.
Gradle eklentisinin kullandığı API'lerde teknik sınırlamaları vardır. Bu sınırlamalar nedeniyle, dinamik özellik modülü sınıfları dönüştürülürken uygulama sınıflarının yeniden işlenmesi gerekir. Bu yeniden işlemenin yapılabildiğinden emin olmak için tüm özellik modüllerini uygulamayla aynı ayarlarla yapılandırın.
Örneğin, bir uygulama bir sınıfı dışlıyorsa, dinamik özellik modülü de bu sınıfı dışlamalıdır.
.NET MAUI Hedefleriyle tümleştirme
IntuneIntune Uygulama SDK'sı hedefleri, SDK'nın bir parçası olarak Microsoft.IntuneIntune olarak dağıtılır. Maui.Essentials.android.targets.
Hedefler, IntuneIntune App SDK for .NET MAUI - Android NuGet paketi eklendikten sonra derleme zamanında uygulamanıza otomatik olarak aktarılır.
Komut Satırı Oluşturma Aracı ile tümleştirme
Komut satırı derleme aracı, SDK'nın bıraktığı BuildTool klasörde bulunur.
Yukarıda ayrıntıları verilen Gradle eklentisi ve .NET hedefleriyle aynı işlevi yerine getirir. Ancak, komut satırı aracı özel derleme sistemlerine entegre edilebilir.
Araç daha genel olduğundan, çağrılması daha karmaşıktır. Mümkün olduğunda Gradle eklentisini veya .NET hedeflerini kullanın.
Command-Line aracını kullanma
Komut satırı aracı, dizinde BuildTool\bin bulunan sağlanan yardımcı betikler kullanılarak çağrılabilir.
Araç, aşağıdaki parametreleri bekler.
| Parametre | Gerekli | Açıklama |
|---|---|---|
--input |
Evet | Değiştirilecek JAR dosyalarının ve sınıf dosyaları dizinlerinin noktalı virgülle ayrılmış listesi. Yeniden yazmayı düşündüğünüz tüm JAR'ları ve dizinleri ekleyin. |
--output |
Evet | Değiştirilen sınıfları depolamak için JAR dosyalarının ve dizinlerinin noktalı virgülle ayrılmış listesi. Aynı sırada listelenmiş her giriş girdisi için bir çıkış girdisi sağlayın. |
--classpath |
Evet | Derleme sınıf yolu. Bu, hem JAR dosyalarını hem de sınıf dizinlerini içerebilir. |
--processed |
Hayır | Derleme aracının önceki bir çağrısı tarafından zaten işlenmiş olan sınıfları içeren JAR dosyalarının ve dizinlerinin noktalı virgülle ayrılmış listesi. |
--excludeClasses |
Hayır | Yeniden yazma dışında tutulması gereken sınıfların adlarını içeren noktalı virgülle ayrılmış bir liste. |
--report |
Hayır | Değiştirilen sınıflar hakkında bir HTML raporu yazmak için dizin. Belirtilmezse rapor yazılmaz. |
İsteğe bağlı --processed seçenek, artımlı derlemeleri etkinleştirmek için kullanılır.
Burada listelenen dosyalar/dizinler kümesi, giriş ve sınıf yolu listelerinden ayrılmalıdır.
İpucu
Unix benzeri sistemlerde noktalı virgül bir komut ayırıcısıdır. Kabuğun komutları bölmesini önlemek için, her noktalı virgülden '' ile kaçındığınızdan veya parametrenin tamamını tırnak içine aldığınızdan emin olun.
Örnek Command-Line Aracı çağırma
> BuildTool\bin\BuildTool.bat --input build\product-foo-project;libs\bar.jar --output mam-build\product-foo-project;mam-build\libs\bar.jar --classpath build\zap.jar;libs\Microsoft.Intune.MAM.SDK\classes.jar;%ANDROID_SDK_ROOT%\platforms\android-27\android.jar --excludeClasses com.contoso.SplashActivity
Bu aşağıdaki etkilere sahip olur:
- Dizin
product-foo-projectşu şekilde yeniden yazılır:mam-build\product-foo-project -
bar.jarolarak yeniden yazılırmam-build\libs\bar.jar -
zap.jaryalnızca şu şekilde listelendiği için yeniden yazılmamıştır :--classpath - Sınıf
com.contoso.SplashActivity, içinde olsa bile yeniden yazılmaz--input
Uyarı
Derleme aracı şu anda aar dosyalarını desteklememektedir.
Derleme sisteminiz aar dosyalarıyla uğraşırken zaten ayıklama classes.jar yapmıyorsa, derleme aracını çağırmadan önce ayıklayın.
MAMApplication'ı ayarlama
Uygulamanız 'nin bir alt sınıfını android.app.Applicationoluşturursa, derleme eklentisi veya komut satırı aracı uygulama sınıfınızı dönüştürür.
Uygulamanız alt sınıf android.app.Applicationoluşturmuyorsa, AndroidManifest.xml <application> etiketinizde öznitelik olarak "android:name" ayarlamanız "com.microsoft.intune.mam.client.app.MAMApplication"gerekir.
Önerilen Android en iyi uygulamaları
- En yeni Android SDK derleme araçlarını kullanın.
- Gereksiz ve kullanılmayan tüm kitaplıkları kaldırın (örneğin, android.support.v4).
Otomatik değiştirmeler gerçekleştirildikten sonra, IntuneIntune Uygulama SDK'sı, Android API'si tarafından sağlanan sözleşmeyi korumaya devam eder. Ancak, hata koşulları, ilke uygulamasının bir sonucu olarak daha sık tetiklenebilir. Bu en iyi Android uygulamaları başarısızlık olasılığını azaltır:
- Artık geri dönebilen
nullAndroid SDK işlevlerinin geri dönmenullolasılığı daha yüksektir. Denetimlerinnullbu işlev çağrılarını koruduğundan emin olun. - gibi denetlenebilecek özellikler,
clipboardManager.getPrimaryClipDescription()örneğinMAMClipboard.getPrimaryClipDescription(clipboardManager), MAM değiştirme API'leri aracılığıyla denetlenmelidir. - Türetilmiş işlevlerin üst sınıf sürümlerine çağrılması gerekir.
- Herhangi bir API'yi belirsiz bir şekilde kullanmaktan kaçının. Örneğin, kontrol etmeden kullanmak
Activity.startActivityForResultgarip davranışlararequestCodeneden olur.
Hizmetler
Politika uygulaması, Android Hizmeti etkileşimlerini etkileyebilir.
Gibi Context.bindService bağlı hizmet bağlantısı kuran yöntemler, temel ilke uygulaması Service.onBind nedeniyle başarısız olabilir ve veya ServiceConnection.onServiceDisconnectedile ServiceConnection.onNullBinding sonuçlanabilir.
Yerleşik bir bağlı hizmetle etkileşim kurmak, 'de Binder.onTransactilke uygulaması nedeniyle bir SecurityException .
Bağlı hizmetlerin istemcileri, hizmet tarafından oluşturulan özel durumları denetlemeye teşvik edilir. Özel durumların istemci uygulamasının geri kalanına yayılmasına izin vermeyin.
Çıkış Kriterleri
Yapı eklentisini yapılandırdıktan veya komut satırı aracını derleme işleminize entegre ettikten sonra başarıyla çalıştığını doğrulayın:
- Yapınızın başarılı bir şekilde derlendiğinden ve derlendiğinden emin olun.
- Bayrağı yapılandırın
report, ardından rapor belgesini açıp sınıf ve yöntem değişikliklerinin gerçekleştiğini onaylayın:- Eklentiyi kullanıyorsanız Raporlama bölümündeki adımları izleyin.
- Komut satırı aracını kullanıyorsanız, bayrağı ekleyin
--report.
- Eklentiyi kullanıyorsanız, bayrağı yapılandırın
verifyve hata üretmediğinden emin olun. Bkz. Doğrulama. - build.gradle'daki tüm istisnaları (
excludeProjects,excludeClasses, veexcludeVariants) iki kez kontrol edin. Her dışlamanın gerekli olduğunu ve korumalı verilerle ilgilenmediğini onaylayın. Tarihsel olarak, birçok veri sızıntısı hatası aşırı agresif dışlamalar nedeniyle meydana gelir. -
TIntune Şirket PortalıIntune Şirket Portalı yüklü değilse, derlenmiş uygulamanızı başlatın. Bir Microsoft EntraMicrosoft Entra user that isn't targeted with App Protection Policy. Uygulamanın beklendiği gibi çalıştığını onaylayın.
- Oturumu kapatın ve Intune Şirket PortalıIntune Şirket Portalı yüklü olduğunda bu testi tekrarlayın.
SSS
Uygulamam daha önce SDK'yı derleme eklentisi olmadan entegre etti; build eklentisini nasıl kullanabilirim?
TIntuneIntune Uygulama SDK'sının eski sürümleri, sınıf ve yöntem değiştirmelerini gerçekleştirmek için herhangi bir otomatik yol içermiyordu. Geliştiricilerin bu değişiklikleri kaynak kodunda manuel olarak gerçekleştirmesi gerekiyordu. Uygulamanız bu şekilde tümleştirilmişse, derleme eklentisini veya komut satırı oluşturma aracını uygulamak güvenlidir. Herhangi bir kaynak kodu değişikliğine ihtiyacınız yoktur. Projenizin yine de MAM SDK'sını bağımlılık olarak listelemesi gerekir.
Sonraki adımlar
Tüm Çıkış Kriterlerini tamamladıktan sonra Aşama 4: MAM Tümleştirme Temelleri'ne geçin.