EMM'lere uygulama geri bildirimi gönderme

Kurumsal mobilite yönetimi (EMM) sağlayıcıları, kuruluşların Android cihazları ve bunlara yüklenmiş uygulamaları yönetmeleri için çözümler sunar. Bu çözümler genellikle EMM konsolu adı verilen web konsolu olarak kullanılabilir. BT yöneticileri, EMM konsolu kullanarak kuruluşları adına cihaz ve uygulama yönetimi görevlerini gerçekleştirir.

Kurumsal kuruluşları hedefleyen uygulamalar, EMM'lere anahtarlı uygulama durumları biçiminde geri bildirim gönderebilir. EMM'lerin anahtarlı uygulama durumu verilerini alması için API'ler kullanılabilir. Bu veriler daha sonra EMM konsollarında görüntülenebilir. Bu iletişim kanalı, BT yöneticilerinin yönettikleri cihazlarda yüklü uygulamaların durumu hakkında geri bildirim almasını sağlar.

Örneğin, bir e-posta istemci uygulaması, bir hesabın başarıyla yapılandırıldığını onaylamak, senkronizasyon hatalarının ne zaman meydana geldiğini bildirmek veya uygulama geliştiricisinin uygun olduğunu düşündüğü diğer durum güncellemelerini göndermek için anahtarlı uygulama durumlarını kullanabilir.

Anahtarlı uygulama durumunun bileşenleri

Anahtarlı uygulama durumu şunlardan oluşur:

  • Anahtar: Uygulama durumu için benzersiz tanımlayıcı. Maksimum 100 karakter.
  • Mesaj: Uygulama durumunu açıklayan isteğe bağlı mesaj. En fazla 1.000 karakter. Not: Genellikle iletiler bundan çok daha kısa olmalıdır.
  • Veri: EMM'lerin BT yöneticilerinin değere göre uyarılar veya filtreler ayarlamasına izin vermesi için tasarlanmış, makine tarafından okunabilen isteğe bağlı değer. Örneğin, bir BT yöneticisi, veri alanı battery_percentage < 10 ise uyarı oluşturabilir. En fazla 1.000 karakter.
  • Önem derecesi: Uygulama durumunun önem derecesi. İzin verilebilir değerler SEVERITY_ERROR ve SEVERITY_INFO (varsayılan) şeklindedir. Önem derecesini yalnızca kuruluşun düzeltmesi gereken gerçek hata koşulları için SEVERITY_ERROR olarak ayarlayın.
  • Zaman damgası: Anahtarlı uygulama durumu ayarlandığında, dönemden beri milisaniye cinsinden bir zaman damgasıyla otomatik olarak gönderilir.

Yönetilen yapılandırmalarla ilgili geri bildirim gönder

Uygulamanız yönetilen yapılandırmaları destekliyorsa BT yöneticilerini, ayarladıkları yapılandırmaların durumu hakkında güncellemenin bir yolu olarak anahtarlı uygulama durumları göndermeniz önerilir. Aşağıdaki örnek iş akışı, bunu yapmanın bir yolunu açıklamaktadır.

yönetilen yapılandırmalar için anahtarlı uygulama durumları
  1. BT yöneticileri, tümüyle yönetilen bir cihaza veya bir iş profilinin içinde yüklenen bir uygulama için yönetilen yapılandırmalar ayarlayıp göndermek amacıyla EMM konsollarını kullanır. Örnek:
    • Ses Düzeyi: '%50'
    • Para birimi: "USDD"
  2. Uygulama, yapılandırmaları uygulamaya çalışır. Ses düzeyi %50'ye başarıyla ayarlandı ancak para birimi kodu geçersiz ve uygulanamıyor.
  3. Uygulama, her yapılandırmanın durumuna göre bir "anahtarlı uygulama" durumu ayarlar. Her anahtarlı uygulama durumu, benzersiz bir anahtar ve durum ayrıntılarını içeren bir mesaj içerir. Mümkün olduğunda yönetilen yapılandırmalar anahtarını eşleştirmenizi öneririz. Örneğin:
    Anahtar Mesaj Önem derecesi Zaman Damgası
    volume %50'ye ayarla SEVERITY_INFO 1554461130
    currency 'USDD' para birimi tanınmıyor SEVERITY_ERROR 1554461130
  4. EMM sağlayıcısı, uygulama tarafından ayarlanan anahtarlı uygulama durumlarını alır ve bunları EMM konsolunda gösterir. Örneğin:
    Yapılandırma Durum İşlem Gerekli Süre
    Ses %50'ye ayarla Hayır 5 Nisan 2019; 10:45:30
    Currency HATA: 'USDD' para birimi tanınamadı. Evet 5 Nisan 2019; 10:45:30

    EMM sağlayıcısı da SEVERITY_ERROR ile alınan tüm durumları BT yöneticisine açık bir şekilde işaretlemelidir. BT yöneticileri, bu bilgileri EMM konsollarında görüntüleyebilir ve oluşturdukları yapılandırmalardaki hataları düzeltmek için gerekli işlemleri yapabilir.

Çözülmüş hataları bildirme

Bir hata çözüldükten sonra, EMM'lerin hata mesajını süresiz olarak görüntülemesini önlemek için hemen bir takip uygulama durumu gönderin. Bu takip durumu şunları içermelidir:

  • İlk hata mesajıyla aynı anahtar.
  • Durumun bir hata durumunda olmadığını ve kuruluşun başka bir işlem yapmasını gerektirmediğini belirten SEVERITY_INFO önem derecesi.

Uygulamanıza anahtarlı uygulama durumları için destek ekleyin

Aşağıdaki adımlarda, temelli uygulama durumlarını uygulamanıza nasıl entegre edeceğiniz açıklanmaktadır.

1. Adım: Google'ın Maven deposunu settings.gradle dosyanıza ekleyin

Aşağıda gösterildiği gibi, Google'ın Maven deposunu projenizin settings.gradle dosyasına depo konumu olarak ekleyin:

dependencyResolutionManagement {
  repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
  repositories {
       google()
  }
}

2. Adım: Kurumsal geri bildirim kitaplığını modül düzeyindeki build.gradle dosyanıza ekleyin

Modül düzeyindeki build.gradle dosyanıza aşağıdaki bağımlılığı ekleyin:

dependencies {
    implementation 'androidx.enterprise:enterprise-feedback:1.0.0'
}

3. Adım: KeyedAppStatesReporter örneği alın

onCreate() yönteminizde, KeyedAppStatesReporter örneğini alın ve depolayın. Bu işlem, uygulamanız ile EMM sağlayıcıları arasında bir iletişim kanalı sağlar.

Kotlin

val reporter = KeyedAppStatesReporter.create(context)

Java

KeyedAppStatesReporter reporter = KeyedAppStatesReporter.create(context);

4. Adım: Anahtarlı uygulama durumları koleksiyonu oluşturun

Anahtarlı uygulama durumları oluştururken aşağıda özetlenen en iyi uygulamaları izleyin:

  • Anahtarlı uygulama durumları hassas veriler için uygun değildir. Hiçbir zaman kimlik bilgilerini (PII) bu tür bir duruma eklemeyin.
  • Anahtarlı uygulama durumlarını MAX_KEY_LENGTH, MAX_MESSAGE_LENGTH ve MAX_DATA_LENGTH içinde tanımlanan sınırlar içinde tutun.
  • Tek bir setStates veya setStatesImmediate çağrısı toplam 300 KB ile sınırlıdır (günlük olarak depolanabilen toplam kapasitenin yaklaşık 1/3'ü). Bu sınırın aşılması tanımlanmamış davranışa neden olur.
  • Bir durumun önem derecesini yalnızca kuruluşun düzeltmek için işlem yapması gereken bir koşul varsa SEVERITY_ERROR olarak ayarlayın.
  • Hata içeren bir uygulama durumu gönderirken, EMM'nin kendi konsollarında hataları işaretlemeyi bırakabilmesi için hatalar çözüldüğünde bir takip durumu gönderdiğinizden emin olun.
  • Takip durumu için, hatayı döndüren ilk durumla aynı anahtarı kullanın ve önem derecesini SEVERITY_INFO olarak ayarlayın.

Aşağıdaki snippet, anahtarlı uygulama durumlarından oluşan bir koleksiyon oluşturur:

Kotlin

    val states = hashSetOf(KeyedAppState.builder()
             .setKey("key")
             .setSeverity(KeyedAppState.SEVERITY_INFO)
             .setMessage("message")
             .setData("data")
             .build())
    

Java

    Collection states = new HashSet<>();
    states.add(KeyedAppState.builder()
     .setKey("key")
     .setSeverity(KeyedAppState.SEVERITY_INFO)
     .setMessage("message")
     .setData("data")
     .build());
    

5. Adım: Anahtarlı uygulama durumlarını ayarlayın

Uygulama cihazda yüklüyse setStates() yöntemi, anahtarlı uygulama durumlarını hemen Play Store uygulamasına (paket adı: com.android.vending) ve cihazın ya da iş profilinin yöneticilerine gönderir.

Kotlin

keyedAppStatesReporter.setStates(states)

Java

keyedAppStatesReporter.setStates(states);

Anahtarlı uygulama durumlarını test etme

Ayrıntılı test talimatları için Test uygulaması geri bildirimini test etme konusuna bakın.