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
veSEVERITY_INFO
(varsayılan) şeklindedir. Önem derecesini yalnızca kuruluşun düzeltmesi gereken gerçek hata koşulları içinSEVERITY_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.
- 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"
- 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.
- 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
- 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
veMAX_DATA_LENGTH
içinde tanımlanan sınırlar içinde tutun. - Tek bir
setStates
veyasetStatesImmediate
ç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
Collectionstates = 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);