Share via


Android için Intune Uygulama SDK'sı - MAM tümleştirmesi temelleri

Android için Microsoft Intune Uygulama SDK'sı, Intune uygulama koruma ilkelerini (APP veya MAM ilkeleri olarak da bilinir) yerel Java/Kotlin Android uygulamanıza dahil etmenizi sağlar. Intune tarafından yönetilen bir uygulama, Intune Uygulama SDK'sı ile tümleştirilmiş bir uygulamadır. Intune yöneticileri, Intune tarafından yönetilen uygulama etkin bir şekilde yönetildiğinde uygulama koruma ilkelerini intune tarafından yönetilen uygulamanıza kolayca dağıtabilir.

Not

Bu kılavuz birkaç ayrı aşamaya ayrılmıştır. 1. Aşama: Tümleştirmeyi Planlama'ya bakarak başlayın.

4. Aşama: MAM Integration Essentials

Aşama Goals

  • MAM Katı Modu'nu etkinleştirin.
  • SDK'dan kritik bildirimlere kaydolun.
  • MSAL'den SDK'ya Microsoft Entra belirteçleri sağlamak için bir kimlik doğrulama geri çağırması uygulayın ve kaydedin.
  • MSAL ile kimlik doğrulaması yaptıktan sonra MAM yönetimi için yeni hesaplar kaydedin.
  • Şirket verilerini kaldırmak için oturumu kapatan hesapların kaydını kaldırın.
  • (Önerilen) MAM günlüğünü uygulamanıza dahil edin.
  • (Önerilen) SDK tanılama iletişim kutusunu kullanmayı öğrenin.

Arka plan

Intune Uygulama SDK'sını indirdiğinize, derlemenize tümleştirdiğinize ve sınıf ve yöntem değiştirme işlemlerini başarıyla gerçekleştirdiğinize göre, MAM korumalı hesaplar için uygulama koruma ilkesi ayarlarını zorunlu kılmaya başlamak için gerekli kod değişikliklerini yapma zamanı geldi.

Bu aşamada SDK'nın günlüğüne bağlanma, tanılama iletişim kutusu çağırma, olası tümleştirme hatalarını tanımlamak için MAM Katı Modu'nu etkinleştirme, SDK'dan bildirimlere kaydolma ve en önemlisi, ilkeyi almaya başlamak için Intune MAM için hesap kaydetme hakkında bilgi verilecektir.

MAM Katı Modu

MAM Katı Modu, uygulamanızın Intune Uygulama SDK'sı tümleştirmesindeki olası hataları tanımlayabilir. Bu tümleştirme hataları, uygulama koruma ilkesini düzgün uygulama ve kurumsal verileri korumasız bırakma hatalarına neden olabilir. Sonuç olarak MAM Katı Modu'nun kullanımı gereklidir.

MAM Katı Modu, uygulamanızın MAM API'leri ve MAM kısıtlı platform API'leri kullanımındaki anomalileri arar. Android'in StrictMode'undan sonra gevşek desenli olan MAM Strict Mode, başarısız olduklarında çalışma zamanı hatalarını tetikleyen önceden tanımlanmış bir denetim kümesi çalıştırır. MAM Katı Modu' nun üretim derlemelerinde etkinleştirilmesi amaçlanmamıştır; bunun yerine uygulamanızın iç geliştirme, hata ayıklama ve/veya dogfood derlemelerinde kullanın.

MAM Katı Modu'nu etkinleştirmek için

MAMStrictMode.enable();

uygulama başlatmanın başlarında (örneğin, Application.onCreate).

MAM Katı Mod denetimi başarısız olduğunda, bunun uygulamanızda düzeltilebilen gerçek bir sorun mu yoksa hatalı pozitif mi olduğunu belirlemeye çalışın. Bunun hatalı bir pozitif olduğuna inanıyorsanız veya emin değilseniz Intune MAM ekibine bildirin. Bu, hatalı pozitif belirleme konusunda aynı fikirde olduğumuzdan emin olmamıza ve gelecek sürümler için algılamayı iyileştirmeye çalışmamıza olanak sağlar. Hatalı pozitif sonuçları engellemek için aşağıdaki yönergeleri izleyerek başarısız olan denetimi devre dışı bırakın.

İhlalleri İşleme

Bir denetim başarısız olduğunda, bir MAMStrictViolationHandler çalıştırır. Varsayılan işleyici, uygulamayı kilitlenmesi beklenen bir Erroroluşturur. Bu, hataları mümkün olduğunca gürültülü hale getirmek ve katı modun üretim derlemelerinde etkinleştirilmemesi gerektiği amacına uygun hale getirmektir.

Uygulamanız ihlalleri farklı şekilde işlemek isterse, çağırarak kendi işleyicisini sağlayabilir:

MAMStrictMode.global().setHandler(handler);

burada handler uygular MAMStrictViolationHandler.

Denetimler Gizleniyor

Uygulamanızın yanlış bir şey yapmadığı bir durumda bir denetim başarısız olursa yukarıda belirtildiği gibi rapor edin. Bu arada, en azından güncelleştirilmiş bir SDK beklerken hatalı pozitifle karşılaşan denetimi devre dışı bırakmak gerekebilir. Başarısız olan denetimi, varsayılan işleyici tarafından tetiklenen hatada gösterilir veya ayarlanırsa özel bir işleyiciye geçirilir.

Gizlemeler genel olarak yapılsa da, belirli bir çağrı sitesinde iş parçacığı başına geçici olarak devre dışı bırakmak tercih edilir. Aşağıdaki örneklerde MAMStrictCheck.IDENTITY_NO_SUCH_FILE devre dışı bırakmanın çeşitli yolları gösterilir (mevcut olmayan bir dosyayı korumaya çalışılırsa oluşturulur).

Per-Thread Geçici Gizleme

Bu tercih edilen gizleme mekanizmasıdır.

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 Kalıcı Gizleme

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

Genel (İşlem Genelinde) Gizleme

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

SDK'dan bildirimlere kaydolma

Intune Uygulama SDK'sı, uygulamalara zamana duyarlı yönetim işlemleri hakkında bilgi vermek için birçok farklı bildirim türü sunar. Uygulamanız bu bildirimlerden herhangi birine kaydolabilir ve bu bildirimleri alırken işlem yapabilir.

Örneğin, bir BT yöneticisi bir cihaz için seçmeli silme komutu gönderdiğinde, Intune hizmeti SDK'ya bir bildirim gönderir ve bu bildirim uygulamanıza olarak WIPE_USER_DATAgeçirilir. Uygulamanız bu bildirimi dinleyebilir ve hangi verilerin silinebileceğini denetleyebilir; veya SDK'nın varsayılan temizleme davranışına güvenebilir.

Bildirimlerin çoğu isteğe bağlıdır. Uygulamanızın kullandığı SDK özelliklerine bağlı olarak bazı bildirimler gerekebilir. Bildirimlere kaydolma, SDK'nın hangi bildirimleri teslim ettiği ve belirli bildirim türlerini işleme hakkında ayrıntılı bilgi için bkz. 7. Aşamada SDK'dan Bildirimlere Kaydolma : Uygulama Katılım Özellikleri .

Uygulama Koruma İlkesine Kaydolma

Yöneticiler Uygulama Koruma İlkeleri oluşturduğunuzda, bu ilkeleri kuruluşlarındaki belirli hesapları hedefler. İstemcide, SDK'nın hangi hesabın uygulamayı kullandığını bilmesi gerekir, böylece bu hesabın ilkesini alabilir ve ayarları uygun şekilde zorunlu kılabilir. Uygulamanız SDK'ya bu hesap bilgilerini sağlamakla sorumludur. Bu işleme kayıt adı verilir.

Uygulamanız her yeni hesap ekleyişinde, diğer hesaplar zaten kayıtlı olsa bile hesabı SDK'ya kaydetmesi gerekir. Uygulamanız birden çok hesap kaydedebilir. Ancak, şu anda yalnızca bir hesap kaydedilebilir veya uygulama koruma ilkesi uygulanabilir. Android'de bu tek yönetilen hesap sınırlaması cihaz genelindedir.

Kayıt ve Kayıt karşılaştırması

Kayıt , uygulamanızın SDK'ya yeni bir hesabın kullanımda olduğunu bildirdiği işlemdir. SDK, uygulamanızın hesapları kaydetmek ve kaydını silmek için çağırması gereken işlevler içerir.

Kayıt , SDK'nın hesabın ilkesini uygulayabilmesi için kayıtlı hesabı Intune hizmetine kaydettiği işlemdir. Uygulamanızın kayıt için herhangi bir işlevi çağırması gerekmez. SDK, bir hesap kaydedildikten sonra kaydı tamamen işler.

Uygulamanız için bir hesap zaten kayıtlıysa, başka bir hesap kaydettiğinde, bu hesap Uygulama Koruma İlkeleri ile hedeflenmiş olsa bile, bu ikinci hesap kaydedilmez ve ilke uygulanmaz.

Not

"Kayıt" terimi, cihaz genelinde MDM kaydına da başvurabilir MDM ve MAM kaydı ekinde daha fazla bilgi edinin.

Kayıt uygulama

Dikkat

Uygulamanız MSAL ile tümleştirilmezse (kesinlikle önerilir), bu bölüme devam etmek yerine Ek'tekiVarsayılan Kayıt bölümüne bakın.

Uygulamanızın bir hesabı başarıyla kaydetmek için üç kod değişikliği yapması gerekir:

  1. Uygulamanın MAMServiceAuthenticationCallback arabiriminin bir örneğini uygulaması ve kaydetmesi gerekir. Geri çağırma örneği, Uygulama alt sınıfının (veya onMAMCreate()) yöntemine kayıtlı onCreate() olmalıdır.

  2. Bir hesap oluşturulduğunda ve kullanıcı MSAL ile başarıyla oturum açtığında, uygulamanın registerAccountForMAM çağrısı yapması gerekir.

  3. Bir hesap kaldırıldığında, uygulamanın hesabı Intune yönetiminden kaldırmak için unregisterAccountForMAM çağrısı yapması gerekir.

    Dikkat

    Çağrı, hesabın şirket verilerini tamamen kaldırmak için bir silme işlemi başlatabilir.

Tüm gerekli kimlik doğrulama ve kayıt API'leri MAMEnrollmentManager arabiriminde bulunabilir. başvurusu MAMEnrollmentManager aşağıdaki gibi elde edilebilir:

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

// make use of mgr

Döndürülen MAMEnrollmentManager örneğin null olmaması garanti edilir. API yöntemleri iki kategoriye ayrılır: kimlik doğrulaması ve hesap kaydı.

MAMEnrollmentManager ve Kimlik Doğrulaması

SDK, intune hizmetiyle sık sık iletişim kurar: kayıtlı hesapları kaydetmek, Uygulama Koruma İlkesi ayarlarına güncelleştirmeler almak ve uygulamanızdaki korumalı verileri seçmeli olarak silme gibi bekleyen yönetici eylemlerini almak için. Intune hizmetiyle başarılı bir şekilde iletişim kurmak için SDK, MSAL ile tümleşik uygulamalardan yeni erişim belirteçleri gerektirir.

SDK yeni bir belirteç alamıyorsa Intune hizmetiyle iletişim kuramaz ve bu da yeni ilke ayarlarının veya yönetici eylemlerinin alınmasını ve uygulanmasını geciktirebilir. İlkenin sorunsuz bir şekilde uygulanmasını sağlamak için uygulamanızın bu adımları tamamlaması kritik önem taşır.

2. Aşamada, kimlik doğrulaması ve erişim belirteçlerini almak için MSAL'yi uygulamanıza tümleştirdiyseniz. Burada, SDK'nın gerekli belirteçleri istemesine izin vermek için bir kimlik doğrulama geri çağırması uygulayacaksınız.

MAMEnrollmentManager aşağıdaki kimlik doğrulama yöntemlerine sahiptir:

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. Uygulamanın, SDK'nın verilen hesap ve kaynak kimliği için Microsoft Entra belirteci istemesine izin vermek için MAMServiceAuthenticationCallback arabirimini veya MAMServiceAuthenticationCallbackExtended arabirimini uygulaması gerekir. geri çağırma örneği, registerAuthenticationCallback yöntemi çağrılarak öğesine sağlanmalıdırMAMEnrollmentManager. Kayıt yeniden denemeleri veya uygulama koruma ilkesi yenileme iadeleri için uygulama yaşam döngüsünün başlarında bir belirteç gerekebilir, bu nedenle geri çağırmanın uygulamanın Application alt sınıfının (veya onMAMCreate()) yöntemine kaydedilmesi onCreate() gerekir.

  2. yöntemi, acquireToken belirtilen hesap için istenen kaynak kimliği için erişim belirtecini almalıdır. İstenen belirteci alamıyorsa null döndürmelidir.

    İpucu

    Doğru belirtecin alınması için acquireToken() uygulamanızın aadId ve parametresini kullandığından resourceId emin olun. resourceId doğru kapsamları aadId oluşturmak için ve doğru hesabı geçirmek için kullanılmalıdır. Uygulamanızın belirteci doğru bir şekilde almak için Microsoft Entra Yetkilisine ihtiyacı varsa arabirimini MAMServiceAuthenticationCallbackExtended uygulayın.

    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. SDK çağırdığında acquireToken() uygulamanın belirteç sağlayamaması durumunda (örneğin, sessiz kimlik doğrulaması başarısız olursa ve kullanıcı arabirimini göstermek için uygun bir zaman değilse) uygulama daha sonra updateToken yöntemini çağırarak belirteç sağlayabilir. Önceki çağrı acquireToken() tarafından istenen AYNı UPN, Microsoft Entra Kimliği ve kaynak kimliği, son olarak alınan belirteçle birlikte öğesine updateToken()geçirilmelidir. Uygulama, sağlanan geri çağırmadan null döndürdikten sonra en kısa sürede bu yöntemi çağırmalıdır.

    Uyarı

    uygulamasının acquireToken()içinden çağırmayınupdateToken(). updateToken() belirtecin alınamadığı durumlarda acquireToken() kullanılmalıdır.

    Not

    SDK, belirteci almak için düzenli aralıklarla çağırır acquireToken() , bu nedenle çağrı updateToken() yapmak kesinlikle gerekli değildir. Ancak, kayıtların ve uygulama koruma ilkesi iadelerinin zamanında tamamlanmasına yardımcı olabileceği için kesinlikle önerilir.

Kimlik Doğrulama Uygulama Notları

  • Uygulamaların registerAccountForMAMçağrılmadan önce Microsoft Entra belirteçleri alması teşvik edilir. Bir hesabı kaydettikten sonra, uygulamalar farklı bir iş parçacığında kayıtlı MAMServiceAuthenticationCallback'nin acquireToken() yöntemine geri çağrı alır. Bu geri çağırmada geçerli bir belirteç sağlamak kaydın devam etmesine olanak tanır. Uygulama, kayıt sonucunu bildirim yoluyla alır.

  • Uygulama geçerli bir Microsoft Entra belirteci döndürmezse, kayıt girişiminin nihai sonucu olurAUTHORIZATION_NEEDED. Uygulama bu Sonucu bildirim yoluyla alırsa, daha önce acquireToken'den istenen hesap ve kaynak için belirteci alıp kayıt işlemini yeniden başlatmak için updateToken yöntemini çağırarak kayıt işlemini hızlandırmanız önemle önerilir.

  • Uygulamanın kayıtlı MAMServiceAuthenticationCallback olması, düzenli uygulama koruma ilkesi yenileme iadeleri için belirteç almak için de çağrılır. Uygulama istendiğinde belirteç sağlayamıyorsa bildirim almaz, ancak iade işlemini hızlandırmak için bir sonraki uygun zamanda bir belirteç alıp çağırmayı updateToken() denemelidir. Belirteç sağlanmazsa, bir sonraki iade girişiminde geri çağırma yine çağrılabilir.

  • Bağımsız bulutlar için destek, yetkinin sağlanmasını gerektirir.

  • Arabirim uygulanırsa MAMServiceAuthenticationCallbackExtended , arabirimi varsayılan bir uygulama sağladığından devralınan acquireToken() yönteminin MAMServiceAuthenticationCallbackMAMServiceAuthenticationCallbackExtended uygulanması gerekmez.

MAMEnrollmentManager ve Kayıt

Uygulama her hesap ekleyişinde, hesabı SDK'ya kaydetmesi gerekir. Benzer şekilde, uygulama bir hesabı her kaldırışında, uygulamanın artık bu hesap için ilke uygulamaması gerektiğini belirtmek için hesabın kaydını kaldırması gerekir. Hesap MAM hizmetine kaydedildiyse hesabın kaydı silinir ve uygulama silinir.

MAMEnrollmentManager aşağıdaki hesap kayıt yöntemlerine sahiptir:

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. Bir hesabı yönetime kaydetmek için uygulamanın çağrısı registerAccountForMAM()yapması gerekir. Bir hesap hem UPN'si hem de Microsoft Entra kullanıcı kimliğiyle tanımlanır. Kayıt verilerini hesabın Microsoft Entra kiracısıyla ilişkilendirmek için kiracı kimliği de gereklidir. Hesabın yetkisi, belirli bağımsız bulutlara kaydolmaya izin vermek için de sağlanabilir; Daha fazla bilgi için bkz . Bağımsız Bulut Kaydı. SDK, verilen hesap için uygulamayı MAM hizmetine kaydetmeye çalışabilir; kayıt başarısız olursa, kayıt başarılı olana veya hesabın kaydı silinene kadar kaydı düzenli aralıklarla yeniden dener. Yeniden deneme süresi genellikle 12-24 saat olur. SDK, bildirimler aracılığıyla zaman uyumsuz olarak kayıt girişimlerinin durumunu sağlar.

  2. Aramanın registerAccountForMAM en iyi zamanı, kullanıcının uygulamada oturum açması ve MSAL kullanılarak kimlik doğrulamasının başarıyla gerçekleştirilmiş olmasıdır. Hesabın Microsoft Entra kullanıcı kimliği ve kiracı kimliği, ile ilgili IAuthenticationResultöğesinin IAccount bir parçası olarak MSAL kimlik doğrulama çağrısından döndürülür.

    • Hesap yönteminden IAuthenticationResult.getAccount() gelir ve ilgili hesap bilgilerini içerir.
    • AAD kimliği yönteminden IAccount.getId() gelir.
    • Kiracı kimliği yönteminden IAccount.getTenantId() gelir.
    • Yetkili yönteminden IAccount.getAuthority() gelir.
  3. Bir hesabın Intune yönetiminden kaydını kaldırmak için, uygulamanın çağrısı unregisterAccountForMAM()yapması gerekir. Hesap başarıyla kaydedildiyse ve yönetildiyse SDK hesabın kaydını kaldırır ve verilerini siler. Hesap için düzenli kayıt yeniden denemeleri durdurulur. SDK, bildirim aracılığıyla zaman uyumsuz olarak kayıt kaldırma isteklerinin durumunu sağlar.

Kayıt Uygulama Notları

  • Kayıt yöntemleri bir kez etkili olur. Örneğin , registerAccountForMAM yalnızca bir hesabı kaydeder ve hesap henüz kayıtlı değilse uygulamayı kaydetmeyi dener veaccountForMAM kaydını kaldırma işlemi yalnızca o anda kayıtlıysa hesabın kaydını kaldırır. Sonraki çağrılar işlem yapılmaz, bu nedenle bu yöntemleri birden çok kez çağırmanın bir zararı olmaz.

  • Her yazmaç/kayıt kaldırma çağrısının karşılık gelen bir sonuç bildirimine sahip olacağının garantisi yoktur. Örneğin, zaten kayıtlı bir hesap için çağrılırsa registerAccountForMAM() , bu kimlik için bildirim yeniden gönderilmeyebilir. Alternatif olarak, SDK arka planda düzenli aralıklarla kayıt girişiminde bulunabileceğinden ve kayıt silme işlemleri Intune hizmetinden alınan silme istekleriyle tetiklenebileceği için, uygulamanız bu yöntemleri çağırmadığında bile SDK bildirim gönderebilir.

  • Kayıt yöntemleri herhangi bir sayıda farklı hesap için çağrılabilir, ancak şu anda yalnızca bir hesap başarıyla kaydedilebilir. Intune için lisanslanan ve uygulama koruma ilkesiyle hedeflenen birden çok hesap aynı anda veya yakın zamanda kayıtlıysa, yarışı hangisinde kazanacağının garantisi yoktur.

  • Belirli bir hesabın kayıtlı olup olmadığını görmek ve getRegisteredAccountStatus yöntemini kullanarak geçerli durumunu almak için MAMEnrollmentManager'ı sorgulayabilirsiniz. Sağlanan hesap kayıtlı değilse, bu yöntem null döndürür. Hesap kaydedildiyse, bu yöntem hesabın durumunu MAMEnrollmentManager.Result sabit listesinin üyelerinden biri olarak döndürür.

Bağımsız Bulut Kaydı

Azure, Bağımsız veya Ulusal Bulutlar olarak bilinen fiziksel olarak yalıtılmış birden çok bulutu destekler. Uygulamanız bağımsız bulut kullanan bir uygulamaysa parametresini authorityregisterAccountForMAM()sağlamalıdır.

MSAL Kılavuzu

MSAL için, MSAL yapılandırma dosyasında olarak ayarlayın multiple_clouds_supportedtrue.

{
  "multiple_clouds_supported": true,
}

Kayıt Sonucu ve durum kodları

Bir hesap ilk kez kaydedildiğinde, ilk MAM hizmeti kayıt girişiminin tamamlanmamış olduğunu belirten durumda başlar PENDING . Kayıt girişimi tamamlandıktan sonra aşağıdaki tabloda yer alan Sonuç kodlarından biriyle bir bildirim gönderilir. Ayrıca , getRegisteredAccountStatus yöntemi hesabın durumunu döndürür, böylece uygulama her zaman bu hesabın uygulama koruma ilkelerinin zorunlu olup olmadığını belirleyebilir. Kayıt girişimi başarısız olursa, SDK kaydı arka planda yeniden denediği için hesabın durumu zaman içinde değişebilir.

Sonuç kodu Açıklama
AUTHORIZATION_NEEDED Bu sonuç, uygulamanın kayıtlı MAMServiceAuthenticationCallback örneği tarafından belirtecin sağlanmadığını veya sağlanan belirtecin geçersiz olduğunu gösterir. Uygulama geçerli bir belirteç almalı ve mümkünse updateToken'i çağırmalıdır.
NOT_LICENSED Hesap Intune için lisanslanmadı veya Intune MAM hizmetine başvurma girişimi başarısız oldu. Uygulama yönetilmeyen (normal) bir durumda devam etmeli ve kullanıcı engellenmemelidir. Hesabın gelecekte lisanslanması durumunda kayıtlar düzenli aralıklarla yeniden denenecektir.
ENROLLMENT_SUCCEEDED Kayıt girişimi başarılı oldu veya hesap zaten kayıtlı. Kaydın başarılı olması durumunda, bu bildirimden önce bir ilke yenileme bildirimi gönderilir. Şirket verilerine erişime izin verilmelidir.
ENROLLMENT_FAILED Kayıt girişimi başarısız oldu. Diğer ayrıntılar cihaz günlüklerinde bulunabilir. Daha önce hesabın Intune için lisanslandığı belirlendiğinden, uygulama bu durumda şirket verilerine erişime izin vermemelidir. Tüm uygulamalar, uygulamanız tarafından elde edilene kadar ENROLLMENT_SUCCEEDED kurumsal veri erişiminin yetkisiz olduğundan emin olmalıdır.
WRONG_USER Mam hizmetine bir uygulamayı cihaz başına yalnızca bir hesap kaydedebilir. Bu sonuç, bu sonucun teslim edildiği hesabın (ikinci hesap) MAM ilkesiyle hedeflendiğini ancak farklı bir hesabın zaten kaydedildiğini gösterir. MAM ilkesi ikinci hesap için zorunlu kılınamadığından, bu hesabın kaydı daha sonra başarılı olana kadar uygulamanızın bu hesabın verilerine erişime izin vermemesi gerekir (büyük olasılıkla hesabı uygulamanızdan kaldırarak). Bu WRONG_USER sonucun sunulmasıyla eşzamanlı olarak MAM, mevcut hesabı kaldırma seçeneğini sorar. eğer insan kullanıcı ifadede yanıt verirse, ikinci hesabı kısa bir süre sonra kaydetmek mümkün olacaktır. İkinci hesap kayıtlı kaldığı sürece MAM kaydı düzenli aralıklarla yeniden dener.
UNENROLLMENT_SUCCEEDED Kayıt kaldırma başarılı oldu.
UNENROLLMENT_FAILED Kayıt kaldırma isteği başarısız oldu. Diğer ayrıntılar cihaz günlüklerinde bulunabilir. Genel olarak, uygulama geçerli (null veya boş) bir UPN geçirdiği sürece bu durum gerçekleşmez. Uygulamanın gerçekleştirebileceği doğrudan ve güvenilir bir düzeltme yoktur. Geçerli bir UPN'nin kaydı kaldırılırken bu değer alınırsa Intune MAM ekibine hata olarak bildirin.
PENDING Hesap için ilk kayıt denemesi devam ediyor. Uygulama, kayıt sonucu bilinene kadar şirket verilerine erişimi engelleyebilir, ancak bunun için gerekli değildir.
COMPANY_PORTAL_REQUIRED Hesap Intune için lisanslıdır, ancak Şirket Portalı uygulaması cihaza yüklenene kadar uygulama kaydedilemez. Intune Uygulama SDK'sı, belirli bir hesap için uygulamaya erişimi engellemeyi dener ve bunları Şirket Portalı uygulamasını yüklemeye yönlendirir. Bu bildirimi uygulamaya gönderirken, Etkinlik şu anda kullanıcı tarafından görülebiliyorsa veya bir sonraki çağrıldığında onResume Intune Uygulama SDK'sı geçerli Etkinliğin üzerinde engelleyici olmayan bir kullanıcı arabirimi gösterir. Kullanıcı engelleyici olmayan bu kullanıcı arabirimini iptal ederse, Intune Uygulama SDK'sı bir sonraki etkinlik onCreate için çağrılır ve geçerli kimlik yönetilirken engelleyici bir kullanıcı arabirimi gösterir (sorun giderme ayrıntıları için aşağıya bakın).

Günlüğe kaydedilen verilerden en fazla değeri almak için günlüğe kaydetme işlemi erken başlatılmalıdır. Application.onMAMCreate() genellikle günlüğü başlatmak için en iyi yerdir.

Uygulamanızda MAM günlüklerini almak için bir Java İşleyicisi oluşturun ve MAMLogHandlerWrapper'a ekleyin. Bu, her günlük iletisi için uygulama işleyicisinde çağrılır publish() .

/**
 * 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);
}

Not

PII, "kişisel bilgiler" anlamına gelir ve kullanıcı adları ve UPN'ler gibi verileri içerebilir. Bu tür kişisel bilgileri kendi üretim günlüklerinizde dışlamanız kesinlikle teşvik edilir. Daha ayrıntılı bilgi için Bkz. Microsoft Gizlilik İlkesi .

Intune Şirket Portalı uygulamasının tanılama bilgilerini toplamak için birden çok seçeneği vardır. Şirket Portalı aşağıdaki kullanıcı arabirimini içerir:

  • Son kullanıcıların Şirket Portalı günlükleri toplamasını sağlar.
  • Cihaz ve hesap meta verilerini görüntüler.
  • Geçerli MAM ilkesiyle ilgili uygulama başına bilgileri içerir.

Intune Tanılama Kullanıcı ArabirimiIntune Uygulama Bilgileri

Şirket Portalı günlüklerinde ve tanılama kullanıcı arabiriminde yer alan verilerin ayrıntılı açıklaması için Ek'tekiŞirket Portalı günlüklerini anlama konusuna bakın.

İpucu

MAM ilkesinin uygulanması gereken bir hesapla test ediyorsanız ancak tanılamalar uygulamanızın paket adı için herhangi bir ilke görüntülemiyorsa aşağıdaki Sorun Giderme bölümüne bakın.

Uygulamalar çağırarak bu tanılama kullanıcı arabirimini MAMPolicyManager.showDiagnostics(context)başlatabilir. Son kullanıcılar adres çubuğuna girerek about:intunehelp Şirket Portalı tanılama konsolunu Microsoft Edge aracılığıyla da başlatabilir. Bu, hata ayıklamaya yardımcı olabilecek isteğe bağlı bir özelliktir.

Bu tanılama bilgileri yalnızca Şirket Portalı cihaza yüklendiğinde kullanılabilir. Şirket Portalı yüklü olmadan her showDiagnostics çağrıldığında bir uyarı iletişim kutusu görüntülenir.

Çıkış Ölçütleri

Tümleştirmenin bu noktasında uygulamanız artık Uygulama Koruma İlkesi'ni alabilir ve zorunlu kılabilir. Tümleştirmeyi doğrulamak için aşağıdaki testleri yürütür.

İlke Uygulaması Testi

İlke uygulamasının uygulamanızdaki tam son kullanıcı deneyimini öğrenmek için önce aşağıdaki testi yürütebilirsiniz:

  1. Microsoft Intune yönetim merkezinde bir Android Uygulama Koruma İlkesi oluşturun (ayrıntılar için bkz. 1. Aşamada test Android uygulama koruma ilkesi oluşturma). Bu test için ilkeyi yapılandırın:
    • Veri Koruması'nın altında "Ekran yakalama ve Google Yardımcısı"nı "Engelle" olarak ayarlayın.
    • Erişim Gereksinimleri'nin altında varsayılan ayarları değiştirmeyin. Özellikle, "Erişim için PIN" "Gerekli" olmalıdır.
  2. Uygulama Koruma İlkesi'nin uygulamanıza hedeflendiğinden emin olun. Paket adını büyük olasılıkla ilke oluşturma sihirbazına el ile eklemeniz gerekir.
  3. Uygulama Koruma İlkesi'ni test hesabınızı içeren bir kullanıcı grubuna atayın.
  4. Test amaçlı bir Android cihazda Microsoft Outlook, Teams, OneDrive ve Office gibi SDK ile tümleşik diğer uygulamaları kaldırın. Ayrıca Intune Şirket Portalı uygulamasını ve Microsoft Authenticator uygulamasını kaldırın.
    • İpucu

      SDK ile tümleşik diğer uygulamaları kaldırmak, yalnızca kendi uygulamanızın tümleştirmesini test ettiğinizden emin olmanıza yardımcı olur.

  5. Uygulamanızı yükleyin.
  6. Uygulama Koruma İlkesi ile hedeflenen test hesabınızla uygulamanızda oturum açın.
  7. Google Play'den Intune Şirket Portalı yüklemeniz istendiğini onaylayın.
    • Not

      Test cihazınızda Google Play Store uygulaması yoksa başka bir uygulama mağazasından veya Microsoft web sitesinden Intune Şirket Portalı yüklemeniz istendiğini onaylayın.

  8. Şirket Portalı yükleyin. Şirket Portalı başlatmanız veya Şirket Portalı oturum açmanız gerekmez.
  9. Uygulamanıza dönün ve gerekirse yeniden oturum açın.
  10. Erişim Al ekranı istendiğini onaylayın. Bu, SDK'nın bu hesap için ilkeyi başarıyla aldığına işaret eder.
  11. Bir uygulama PIN'i ayarlamanız istenmelidir. PIN oluşturun.
  12. Uygulamanızda gezinin ve ekran görüntüleri almayı deneme. SDK'nın ilkesi olduğu göz önüne alındığında, bu ilke her ekranda sürekli olarak engellenmelidir.
  13. Yönetilen hesabı uygulamanızın dışında günlüğe kaydetme.
  14. Oturum açmadan mümkünse uygulamanızda gezinin ve ekran görüntüleri almayı deneyin. Hesap kaldırıldığına göre bu engellenmemelidir.

Bu, uygulamanızın hesabı düzgün şekilde kaydettiğini, kimlik doğrulama geri aramasını kaydettiğini ve hesabın kaydını kaldırdığını onaylamak için en düşük düzeyde bir testtir. Diğer Uygulama Koruma İlkesi ayarlarının uygulamanızın davranışını nasıl değiştirişini daha kapsamlı bir şekilde doğrulamak için aşağıdaki testleri yürütebilirsiniz.

Veri Koruma Testleri

Aşağıdaki testler, Uygulama Koruma İlkesi içinde yapılandırılan belirli veri koruma ayarlarını kapsar. Microsoft Intune yönetim merkezinde Uygulama Koruma İlkesi ayarlarını değiştirdiğinizde istemci hemen güncelleştirmeyecektir. Testi hızlandırmaya yönelik ipuçları için bkz . Değişen ilkeyle hızlı test etme.

Bu testler için:

  1. Uygulamanızı yükleyin.
  2. Intune Şirket Portalı yükleyin.
  3. Uygulamanızla aynı ilkeyle hedeflenen ve verileri kopyalayıp yapıştırabilen (Microsoft Office gibi) başka bir yönetilen uygulama yükleyin.
  4. Verileri kopyalayıp yapıştırabilen yönetilmeyen uygulamaları yükleyin (veya yeniden kullanın).
  5. Test yönetilen hesabıyla uygulamanızda oturum açın.
  6. Yönetilen test hesabıyla diğer yönetilen uygulamada oturum açın.
Senaryo Uygulama Koruma İlkesi Ayarı Test Adımları
Ekran görüntüsü "Ekran yakalama ve Google Assistant" "Engelle" olarak ayarlandı 1. Uygulamanızdaki tüm sayfalara gidin.
2. Her sayfada ekran görüntüsü almayı deneme.
3. Ekran görüntülerinin engellendiğini veya kaydedilen görüntünün tamamen boş olduğunu onaylayın.
Metin kopyalama "Diğer uygulamalar arasında kesme, kopyalama ve yapıştırmayı kısıtla" ayarı "İlkeyle yönetilen uygulamalar" olarak ayarlanır 0. Uygulamanızın kopyalanacak metni yoksa atlayın.
1. Uygulamanızda kopyalanabilir metin içeren tüm sayfalara gidin.
2. Metni kopyalayın.
3. Yönetilmeyen uygulamaya geçin.
4. Yönetilmeyen uygulamaya yapıştırmayı deneme.
5. Yapıştırmanın engellendiğini onaylayın.
6. Diğer yönetilen uygulamaya gidin.
7. Yönetilen uygulamaya yapıştırmayı deneme.
8. Yapıştırmaya izin verildiğinden emin geçin.
Metni yapıştırma "Diğer uygulamalar arasında kesme, kopyalama ve yapıştırmayı kısıtla" ayarı "İlkeyle yönetilen uygulamalar" olarak ayarlanır 0. Uygulamanızın yapıştıracak metin girişi yoksa atlayın.
1. Yönetilmeyen uygulamaya geçin.
2. Yönetilmeyen uygulamadan metin kopyalayın.
3. Uygulamanızda metin girişleri olan tüm sayfalara gidin.
5. Yönetilmeyen uygulamadan yapıştırmayı deneme.
5. Yapıştırmanın engellendiğini onaylayın.
6. Diğer yönetilen uygulamaya geçin.
7. Diğer yönetilen uygulamadan metin kopyalayın.
7. Uygulamanızda metin girişleri olan tüm sayfalara gidin.
8. Diğer yönetilen uygulamadan yapıştırmayı deneme.
9. Yapıştırmaya izin verildiğinden emin geçin.
Baskı "Kuruluş verilerini yazdırma" "Engelle" olarak ayarlandı 0. Uygulamanızda yazdırılacak sayfa veya belge yoksa atlayın.
1. Uygulamanızda Android'in yazdırma işlevini çağıran tüm sayfalara gidin.
2. Her sayfadan yazdırmayı dene.
3. Yazdırmanın engellendiğini onaylayın.
Yönetilen tarayıcı "Diğer uygulamalarla web içeriği aktarımını kısıtla" ayarı "Microsoft Edge" olarak ayarlanır 0. Uygulamanız web bağlantılarını işlemezse atlayın.
1. Uygulamanızda web bağlantılarını görüntüleyebilen veya tıklanabilir web bağlantılarına dönüştürülen metin girişi olan tüm sayfalara gidin.
2. Her sayfa için web bağlantısını seçin.
3. Microsoft Edge'i yüklemeniz istendiğini ve web bağlantısının başka bir tarayıcıda açılmadığını onaylayın.
Kısıtlı klavye "Onaylı klavyeler" "Gerekli" olarak ayarlandı
"Onaylayacak klavyeleri seçin" ayarı yalnızca cihazınızın şu anda yüklü olmadığı bir klavye paketine ayarlanır
0. Uygulamanızın metin girişi yoksa atlayın.
1. Uygulamanızda metin girişleri olan tüm sayfalara gidin.
2. Cihaz klavyesini açmak için metin girişini seçin.
3. Yapılandırılmış onaylı klavyeyi yüklemeniz istendiğini ve geçerli cihaz klavyesinin açılmadığını onaylayın.

Veri Aktarımı Testleri

Veri aktarımı ayarları, yönetilen uygulamalara veri girişini ve çıkışını denetleen Uygulama Koruma İlkesi veri koruma özelliklerinin bir alt kümesidir. Diğer uygulamalara veri göndermeyi veya diğer uygulamalardan veri almayı destekleyen uygulamaların çoğu, yerel veya bulut depolama alanına veri kaydetme ve verileri açma özelliğine de sahiptir. Uygulamanız bu özelliklere sahipse ek destek uygulamanız gerekir. Ayrıntılar için bkz. Uygulamalar ve cihaz veya bulut depolama konumları arasında veri aktarımını sınırlama ilkesi.

Uygulamanız, Microsoft Outlook'un Microsoft OneDrive'dan dosya eklemesi gibi diğer uygulamalardan verileri etkin bir şekilde içeri aktarabilir. Uygulamanız, Microsoft Office'in bir Microsoft Outlook ekinden belge açması gibi diğer uygulamalardan da pasif olarak veri alabilir. Uygulama koruma ilkesi alma ayarı her iki senaryoyu da kapsar.

Bu testler için:

  1. Uygulamanızı yükleyin.
  2. Intune Şirket Portalı yükleyin.
  3. Uygulamanızla aynı ilkeyle hedeflenen ve veri gönderip alabilen (Microsoft Outlook gibi) başka bir yönetilen uygulama yükleyin.
  4. Veri gönderip alabilen yönetilmeyen uygulamaları yükleyin (veya yeniden kullanın).
  5. Test yönetilen hesabıyla uygulamanızda oturum açın.
  6. Yönetilen test hesabıyla diğer yönetilen uygulamada oturum açın.
Senaryo Uygulama Koruma İlkesi Ayarı Test Adımları
Diğer uygulamalara veri gönderme "Kuruluş verilerini diğer uygulamalara gönder" ayarı "İlkeyle yönetilen uygulamalar" olarak ayarlanır 0. Uygulamanız diğer uygulamalara veri gönderemiyorsa atlayın.
1. Uygulamanızın veri gönderebileceği yere gidin.
2. Veri göndermeye çalış.
3. Yalnızca diğer yönetilen uygulamalara veri göndermeyle sınırlı olduğunuzu onaylayın. Yalnızca yönetilen uygulamaları olan bir uygulama seçici görmeniz gerekir.
Diğer uygulamalardan verileri içeri aktarma "Diğer uygulamalardan veri alma" "İlkeyle yönetilen uygulamalar" olarak ayarlanır 0. Uygulamanız diğer uygulamalardan verileri içeri aktaramıyorsa atlayın.
1. Uygulamanızın diğer uygulamalardan verileri içeri aktarabileceği yere gidin.
2. Verileri içeri aktarmayı deneme.
3. Yalnızca diğer yönetilen uygulamalardan veri içeri aktarmayla sınırlı olduğunuzu onaylayın. Yalnızca yönetilen uygulamaları olan bir uygulama seçici görmeniz gerekir.
Yönetilmeyen uygulamadan veri alma "Diğer uygulamalardan veri alma" "İlkeyle yönetilen uygulamalar" olarak ayarlanır 0. Uygulamanız diğer uygulamalardan veri alamıyorsa atlayın.
1. Yönetilmeyen uygulamaya geçin.
2. Veri gönderebileceği yere gidin.
3. Yönetilmeyen uygulamadan uygulamanıza veri göndermeyi deneme.
4. Uygulamanızın yönetilmeyen uygulamadan veri alamadığını onaylayın.
Yönetilen uygulamadan veri alma "Diğer uygulamalardan veri alma" "İlkeyle yönetilen uygulamalar" olarak ayarlanır 0. Uygulamanız diğer uygulamalardan veri alamıyorsa atlayın.
1. Diğer yönetilen uygulamaya geçin.
2. Veri gönderebileceği yere gidin.
3. Diğer yönetilen uygulamadan uygulamanıza veri göndermeyi deneme.
4. Uygulamanızın diğer yönetilen uygulamadan veri alabildiğini onaylayın.

Diğer Veri Koruma Ayarları

Uygulamanız ek değişikliklere geçene kadar aşağıdaki veri koruma ayarları uygulanmaz. Bu aşamada bu ayarları test etmeniz gerekmez. Daha fazla ayrıntı için bkz . 7. Aşama: Uygulama Katılım Özellikleri .

Senaryo Uygulama Koruma İlkesi Ayarı Destek uygulamalıdır...
Veri kopyalarını kaydetme Kuruluş verilerinin kopyalarını kaydetme Uygulamanız verileri yerel veya bulut depolama alanına kaydedebilir.
Depolama alanından veri açma Verileri Kuruluş belgelerinde açma Uygulamanız yerel veya bulut depolamadan veri açabilir.
Yönetilen bildirim içeriği Kuruluş veri bildirimleri Uygulamanız bildirimlerin içinde kullanıcı verilerini içerir.
Yedekleme ve geri yükleme Kuruluş verilerini Android yedekleme hizmetlerine yedekleme Uygulamanız Android'in yedekleme özelliğiyle kullanıcı verilerini paylaşır.

Koşullu Başlatma Testleri

Koşullu başlatma ayarları, uygulamanıza erişimi yapılandırılabilir cihaz genelinde veya uygulamaya özgü ölçütlere göre kısıtlayan Uygulama Koruma İlkesi özelliklerinin bir alt kümesidir. Bu ayarlar hem koşulları ("en düşük işletim sistemi sürümü" gibi) hem de eylemleri ("erişimi engelleme" gibi) içerir. Koşullu başlatma eylemleri aşağıdakilerden biri olabilir:

  • Uyar: Cihazı veya uygulaması ölçütleri başarısız olduğunda son kullanıcı bir uyarı iletişim kutusu görür. Tüm uygulama verilerine erişmeye devam ederler.
  • Erişimi engelle: Cihazı veya uygulaması ölçütleri başarısız olduğunda son kullanıcı bir uyarı iletişim kutusu görür. Ölçütleri karşılayana veya yönetilen hesabı uygulamadan kaldırana kadar uygulamaya girmelerine ve uygulama verilerine erişmelerine izin verilmez.
  • Verileri silme: Cihaz veya uygulama ölçütler başarısız olduğunda yönetilen hesapla ilişkili tüm kurumsal veriler silinir. Veriler kaldırılmadan önce kullanıcının ölçütleri karşılama fırsatı olmayacaktır.

Bazı koşullu başlatma ayarları birden çok değer ve eylemle yapılandırılabilir. Örneğin:

  • En düşük işletim sistemi sürümü, "10.0" değeri, eylem "Uyar" olarak ayarlanır.
  • En düşük işletim sistemi sürümü, "9.0" değeri, eylem "Erişimi engelle" olarak ayarlandı
  • En düşük işletim sistemi sürümü, "8.0" değeri, eylem "Verileri sil" olarak ayarlanır.

Bu aşamadaki tümleştirme adımlarını tamamlayarak uygulamanız artık tüm koşullu başlatma özelliklerini destekler. Test cihazınız gibi ilke öğelerini değiştirerek koşullu başlatma işlevselliği hakkında bilgi sahibi olun:

  • Yapılandırılmış tüm koşullu başlatma ayarlarını geçirir.
  • Yapılandırılmış bir koşullu başlatma ayarının "Uyar" eylemi olarak ayarlanması başarısız olur.
  • Yapılandırılmış bir koşullu başlatma ayarının "Erişimi engelle" eylemine ayarlı başarısız olması.
  • Yapılandırılmış bir koşullu başlatma ayarının "Verileri sil" eylemine ayarlı olarak başarısız olması.

Sorun giderme

İlke Uygulaması Testi Sorunlarını Giderme

Yukarıdaki İlke Uygulaması Testi adımlarını izleyerek aşağıdaki beklenmeyen davranışlarla karşılaşabilirsiniz:

Yönetilen hesapla oturum açtıktan sonra Şirket Portalı yüklemem istenmiyor (7. adım)

İlk olarak, Intune yönetim merkezini ziyaret edin ve Uygulama Koruma İlkesi'nin test hesabınıza hedeflenip hedeflenmediğini bir kez daha kontrol edin.

İkinci olarak, için çağrılar registerAccountForMAM ve uygulaması MAMServiceAuthenticationCallbackiçin kaynak kodunuzu bir kez daha denetleyin. Bu eski adı doğru zamanda çağrılmazsa ve/veya ikincisi doğru bir belirteç sağlamadıysa, Şirket Portalı istemini görmezsiniz.

Son olarak kayıt sonuç kodu için günlüklere (veya hata ayıklamaya) bakın veya hesapta açıkça arayın getRegisteredAccountStatus . NOT_LICENSED gibi kodlar test hesabıyla ilgili yapılandırma sorunlarını gösterebilir.

Oturum açtıktan sonra Erişim Al ekranını görmedim (10. adım)

Şirket Portalı önceden yüklenmemişse, Erişim Al ekranını görmek ve ilkenin düzgün bir şekilde uygulanmasını sağlamak için uygulamanızı sürdürmeniz veya tamamen yeniden başlatmanız gerekebilir. Bu, SDK ile tümleşik uygulamaların Şirket Portalı uygulama içindeki koddan nasıl yararlandığı temelinde beklenen bir sonuçdur.

Uygulamanızı yeniden başlatıp yeniden oturum açtıktan sonra bile Hala Erişim Al ekranını görmüyorsanız SDK hesabı kaydedemiyor veya hesap için ilkeyi alamıyor olabilir. Kaynak kodunuzun uygulamasını MAMServiceAuthenticationCallbackbir kez daha denetleyin.

Oturum açtıktan sonra uygulama PIN'ini ayarlama veya girme ekranını görmedim (11. adım)

Test cihazınızda SDK ile tümleşik başka uygulamalar var mı? Uygulama PIN'i tüm yönetilen uygulamalar arasında paylaşılır ve HER yönetilen uygulama başlatma veya sürdürmesinde son kullanıcılardan PIN istenmesini önlemek için SDK'nın genel bir zamanlayıcısı vardır.

Aksi takdirde, Intune yönetim merkezini ziyaret edin ve Uygulama Koruma İlkesi'nin uygulama PIN'inin etkinleştirildiğinden ve test hesabınıza hedeflendiğinden emin olun.

Son çare olarak, cihazınızı yeniden başlatmak PIN zamanlayıcısını sıfırlar. Cihazınızı yeniden başlattıktan sonra PIN ekranı gösterilmiyorsa, büyük olasılıkla ilkede düzgün yapılandırılmamış olur.

Erişim Al ekranını gördüm, ancak ekran görüntülerine hala izin veriliyor (12. adım)

İlke alınırken yanlış ilke uygulanıyor. İlk olarak, Intune yönetim merkezini ziyaret edin ve Uygulama Koruma İlkesi'nin ekran görüntülerini devre dışı bırakmadığını ve test hesabınıza hedeflenip hedeflenmediğini bir kez daha denetleyin. İkincisi, uygulamanız için aşağı çekilen ilkeyi denetlemek için tanılama konsolunu (yukarıda açıklanmıştır) kullanın. Her iki ilke de ekran görüntülerinin engellenmesi gerektiğini onaylarsa MAM değiştirmelerinin yapıldığından emin olmak için Gradle derleme eklentisi yapılandırmanızı denetleyin.

Oturumu kapattıktan sonra uygulamam kilitleniyor veya kapatılıyor gibi görünüyordu (13. adım)

Daha önce kaydedilmiş ve ilke zorunlu kılınmış bir hesabın kaydını sildiğinizde, bu hesapla ilişkili veriler SDK tarafından silinir. Uygulama işleminin sonlandırıcısı beklenir.

Oturumu kapattıktan sonra bile ekran görüntüleri engelleniyor (14. adım)

kaynak kodunuzun unregisterAccountForMAM()çağrısı olup olmadığını bir kez daha denetleyin. Oturum kapatıldıktan sonra ilke yine de zorlanırsa, büyük olasılıkla hesabın kaydı düzgün bir şekilde kaydedilmemiş ve kaydı kaldırılmamıştır.

Veri Koruma Testi Sorunlarını Giderme

Yukarıdaki Veri Koruma Testleri adımlarını izleyerek aşağıdaki beklenmeyen davranışlarla karşılaşabilirsiniz:

Uygulamam hiçbir ilkeyi almıyor veya zorunlu tutmaz

İlk olarak, Uygulama Koruma İlkesi'nin test hesabınızı içeren bir grubu hedeflediğini onaylayın. Ayrıntılar için bkz. Microsoft Intune'da uygulama koruma ilkesi kurulumunuzu doğrulama.

İkinci olarak, SDK'nın yapılandırılmış ilkeyi aldığını onaylamak için istemci Tanılama Bilgileri'ni denetleyin. Uygulama yapmadıysa uygulamanızın uygulamasını MAMServiceAuthenticationCallback inceleyin ve öğesini registerAccountForMAMçağırır. Ayrıca günlükleri denetleyin veya hatalarını ayıkladıktan sonra öğesini MAMEnrollmentManager.Resultdoğrulayın.

Uygulamam yönetilmeyen bir uygulamayla veri paylaşabilir

"Kuruluş verilerini diğer uygulamalara gönder" seçeneğinin "İlkeyle yönetilen uygulamalar" olarak ayarlandığını onaylayın. İlkenin doğru yapılandırıldığını ve hedeflendiğini onaylamak için Microsoft Intune yönetim merkezini denetleyin. SDK'nın yapılandırılmış ilkeyi aldığını onaylamak için istemci Tanılama Bilgileri'ni denetleyin.

Ardından, ilke doğru yapılandırılıp alınırsa, herhangi bir ilkenin zorunlu kılınıp uygulanmadığını denetleyin: Uygulamam hiçbir ilkeyi almıyor veya zorunlu kılmıyor.

Uygulamam başka bir yönetilen uygulamayla veri paylaşamıyor

Hem uygulamanızı hem de diğer yönetilen uygulamayı hedefleyen Uygulama Koruma İlkesi ayarlarını onaylayın. Her iki uygulamayı da aynı ilkenin hedeflemesi önerilir. Uygulamanızı hedefleyen ilkede "Kuruluş verilerini diğer uygulamalara gönder" ayarı "İlkeyle yönetilen uygulamalar" olarak ayarlanmalıdır. Diğer uygulamayı hedefleyen ilkeyi denetleyin; "Diğer uygulamalardan veri al" ayarı "Yok" olarak ayarlandıysa, bu davranış beklenir.

Uygulamam yönetilmeyen bir uygulamadan veri alabilir

"Diğer uygulamalardan veri alma" seçeneğinin "İlkeyle yönetilen uygulamalar" olarak ayarlandığını onaylayın. İlkenin doğru yapılandırıldığını ve hedeflendiğini onaylamak için Microsoft Intune yönetim merkezini denetleyin. SDK'nın yapılandırılmış ilkeyi aldığını onaylamak için istemci Tanılama Bilgileri'ni denetleyin.

Ardından, ilke doğru yapılandırılıp alınırsa, herhangi bir ilkenin zorunlu kılınıp uygulanmadığını denetleyin: Uygulamam hiçbir ilkeyi almıyor veya zorunlu kılmıyor.

Uygulamam başka bir yönetilen uygulamadan veri alamıyor

Hem uygulamanızı hem de diğer yönetilen uygulamayı hedefleyen Uygulama Koruma İlkesi ayarlarını onaylayın. Her iki uygulamayı da aynı ilkenin hedeflemesi önerilir. Uygulamanızı hedefleyen ilkenin "Diğer uygulamalardan veri alma" ayarı "İlkeyle yönetilen uygulamalar" olarak ayarlanmış olmalıdır. Diğer uygulamayı hedefleyen ilkeyi denetleyin; "Kuruluş verilerini diğer uygulamalara gönder" ayarı "Yok" olarak ayarlandıysa, bu davranış beklenir.

Sonraki Adımlar

Yukarıdaki tüm Çıkış Ölçütlerini tamamladıktan sonra uygulamanız artık tek kimlik olarak başarıyla tümleştirilmiştir ve tüm temel uygulama koruma ilkelerini zorunlu kılabilir. Sonraki bölümler: 5. Aşama: Çoklu Kimlik, 6. Aşama: Uygulama Yapılandırması ve 7. Aşama: Uygulama Katılım Özellikleri, uygulamanızın istenen uygulama koruma ilkesi desteğine bağlı olarak gerekli olabilir veya olmayabilir. Bu bölümlerden herhangi birinin uygulamanız için geçerli olup olmadığından emin değilseniz SDK tümleştirmesi için Önemli Kararlar'a yeniden bakın.