Seç-izle modülü olarak iyi çalışan işlevler, kullanıcılarınızın çoğunun yükleme sırasında ihtiyaç duymadığı işlevlerdir. Aşağıda, isteğe bağlı modüller için uygun olan uygulama özelliklerine dair birkaç örnek verilmiştir:
- Kullanıcıların çoğunun yalnızca video izlediği bir uygulamada video düzenleme ve yükleme
- Çoğu kullanıcının yalnızca başkalarının tariflerine göz attığı ve takip ettiği bir uygulamaya tarif ekleme
- Kullanıcıların çoğu yardım istemediğinde veya uygulama içinde yardım istemediğinde yardım ve destek işlevi
- Ayrıntılı hata yakalama ve raporlama gibi daha az kullanılan işlevler için büyük kitaplıklar
- Belirli ödeme veya ödeme yapma özellikleri
- Çok yüksek çözünürlüklü medya deneyimleri veya VR/AR özellikleri
Bu modüllerin nispeten küçük olduğu (10 MB'tan az) ve ağ veya başka hataların olmadığı tipik durumlarda kullanıcılar, isteğe bağlı bir modülü çok hızlı bir şekilde indirip kullanabilir. Yani deneyim genellikle modülün uygulama yükleme sırasında mevcut olduğu durumdan farklı değildir.
Bu sayfada, aşağıdakileri yapmanıza yardımcı olacak en iyi uygulamalar açıklanmaktadır:
- Kullanıcılarınızın, anında yüklenmeyen nispeten daha büyük modül indirme işlemlerinden veya modül yükleme hatalarından haberdar olmasını ve kontrolün kendilerinde olduğunu hissetmesini sağlayın.
- Özellikle kullanıcının belirli bir modüle ihtiyaç duyacağını tahmin edebileceğiniz durumlarda modül yayınlama deneyimini daha da optimize edin.
Bu kılavuzu okuduktan sonra Play Core API örnek uygulamasını deneyerek bu en iyi uygulamaları iş başında görebilirsiniz.
Kullanıcıyı bilgilendirme
Bir özellik hemen kullanılamıyorsa kullanıcıyı bilgilendirmeniz gerekir. Kullanıcı, özelliği Google Play'den indirmeye karar verirse indirme işleminin ilerleme durumunu gösterin.
İndirme işleminin ilerleme durumunu ve yükleme durumunu görüntülemek için istek durumunu izleyebilirsiniz. Ancak göstermek istediğiniz kullanıcı arayüzü türü, indirmenin boyutuna bağlı olabilir:
- Çok hızlı yüklenebilen daha küçük modüller (~10 MB veya daha az) için dönen simgeler veya kısa bir "içerik indiriliyor" mesajı gibi göstergeler kullanabilirsiniz.
- İndirilmesi ve yüklenmesi birkaç saniye veya daha uzun sürebilen daha büyük modüller için Şekil 1'de gösterilene benzer bir indirme ve yükleme ilerleme çubuğu göstermeyi düşünebilirsiniz.
Şekil 1. İsteğe bağlı bir özellik indirilip yüklenirken mesaj ve ilerleme çubuğu gösterme
Yükleme gecikmelerini ve hatalarını uygun bir şekilde bildirme
İndirme işlemi başarısız olursa veya beklenenden daha yavaş ilerlerse Şekil 2 ve 3'te gösterildiği gibi, kullanıcıya neler olduğunu ve yapabileceği bir şey varsa ne yapabileceğini açık ve şeffaf bir şekilde bildirin. Örneğin, indirme isteğinin durumunu izliyorsanız ve uygulamanız API_NOT_AVAILABLE hatası alıyorsa kullanıcıya cihazının isteğe bağlı indirmeleri desteklemediğini bildirin.
Şekil 2. Kullanıcıya bir özelliğin şu anda neden yüklenemediğini bildirin.
3. şekil Kullanıcıya, bir özelliğin indirilmesinin neden beklenenden uzun sürebileceğini açıklayın.
Büyük indirmeler için izin istenmeden önce değeri göster
İsteğe bağlı modül büyükse (> 150 MB) Google Play, kullanıcının indirmeden önce onay vermesini zorunlu kılar.
Modülü talep etmeden önce modülün değerini kullanıcılarınıza açıklayın. Uygulama izinleri isterken yaptığınız gibi, bu isteği neden gönderdiğinizi anlamalarına yardımcı olun. Kullanıcılarla açık bir şekilde iletişim kurmak, indirme işlemini kabul etme olasılıklarını artırır.
Örneğin, bir e-ticaret uygulaması geliştirdiğinizi ve özelliklerden birinin, kullanıcıların artırılmış gerçeklik (AR) kullanarak mobilyaları doğrudan dairelerine yerleştirmesine olanak tanıdığını varsayalım. Örneğin, "Yeni kanepenizi oturma odanızda görmek ister misiniz? Artırılmış gerçeklik görüntüleyiciyi hemen yükleyin."
İndirme ve yükleme işlemlerini arka planda gerçekleştirme
Modül indirme ve yükleme işlemleri her zaman arka planda gerçekleşmelidir. Yani bir kullanıcı bir özelliğin kullanılabilir hale gelmesini beklerken uygulamanızın diğer bölümlerini kullanmaya devam etmesine izin vermelisiniz. Özellik kullanılabilir hale geldiğinde ise kullanıcıya, dilediği zaman bu özelliği kullanmaya geçmesine olanak tanıyan bir bildirim göndermelisiniz.
Şekil 5'te gösterildiği gibi, kullanıcı uygulamayı kullanmaya devam eder ve isteğe bağlı bir özelliğin yüklemesi tamamlandığında bildirim alır.
Şekil 5. Modül yükleme işlemi tamamlandığında kullanıcının bağlamını aniden değiştirmek yerine, istenen özelliğin hazır olduğunu kullanıcıya bildirin.
Modül kullanıma hazır olduğunda kullanıcıyı bilgilendirin ve özelliği başlatıp başlatmayacağını seçmesini isteyin. Bu model, kullanıcıya bağlam ve deneyimi üzerinde kontrol sağlar.
Bazı durumlarda, özelliği hazır olur olmaz kullanıma sunabilirsiniz. Ancak bu durum kullanıcının deneyimini kesintiye uğratabileceğinden, bu davranışın beklenen ve uygun bir davranış olup olmadığını dikkatlice değerlendirin.
Artık ihtiyaç duyulmayan modülleri kaldırarak cihaz depolama alanında yer açma
Tüm özellik modüllerinin kullanışlı bir özelliği, her birinin ayrı ayrı kaldırılabilmesidir. Bir özellik modülü artık kullanılmıyorsa Google Play'den bu modülü kaldırmasını isteyerek uygulamanızın kullanıcının cihazındaki boyutunu küçültebilirsiniz.
Örneğin, uygulamanızda zengin medya içeren güçlü bir ilk katılım akışı olabilir. Kullanıcı oryantasyon akışını tamamladıktan veya belirli bir süre boyunca etkin kullanıcı olduktan sonra Google Play Feature Delivery API'yi kullanarak Google Play'den uygulamanızın yalnızca bu bileşenini kaldırmasını isteyebilirsiniz.
Gelişmiş ipuçları
Genellikle, kullanıcının seç-izle özellik modüllerinizin işlevini kullanma niyetini açıkça belirttiği durumları ele almanız gerekir.
Ancak bir kullanıcının bir özelliği kullanmak istediğini size bildirmeden önce bu özellikle ne zaman etkileşime geçeceğini tahmin etmek isteyebilirsiniz. Yemek tarifleri indirip oluşturmanıza olanak tanıyan bir uygulama örneği üzerinden, aşağıdaki yönergelerde kullanıcı ihtiyaçlarını tahmin ederek modül dağıtım deneyimini nasıl optimize edeceğiniz açıklanmaktadır:
Kullanıcının mevcut oturumda bir özelliğe ihtiyaç duyacağını öngörme Kullanıcıların yalnızca kendi tariflerini oluşturup toplulukla paylaşmak istediklerinde yemek tarifi uygulaması için hesap oluşturmaları gerekiyorsa bu durumu göz önünde bulundurun. Hesap oluşturma işlemini, kullanıcının kendi tarifini eklemek isteyebileceğinin bir sinyali olarak kullanabilir ve kullanıcı "tarif ekle"ye dokunmadan önce özellik modülünü indirmeye başlayabilirsiniz. Özellik indirme sürecini daha sorunsuz hale getirmek için bu yaklaşımı uygulamadaki diğer kullanıcı yolculuklarına uygulayabilirsiniz.
Kullanıcının gelecekteki bir oturumda özelliğe ihtiyaç duyacağını tahmin etme Uygulamanızın, isteğe bağlı bir modülü hemen indirip yüklemesi gerekmiyorsa yüklemeyi uygulama arka plandayken yapılacak şekilde erteleyebilirsiniz. Google Play, indirme ve yükleme işlemlerini sizin yerinize gerçekleştirir. Örneğin, yemek pişirme uygulaması için yeni sezonluk tarifler yayınlamak istediğinizi ancak bu tariflerin kullanıcının mevcut oturumu için yüksek öncelikli olmadığını varsayalım. Uygulama arka plandayken Google Play'in bu tarifleri indirip yüklemesini isteyebilirsiniz. Bu, özellikle hemen gerekli olmayan ancak gelecekte ihtiyaç duyulabilecek daha büyük özellikler (>10 MB) için kullanışlıdır.
Kullanıcının bir özelliğe ihtiyaç duyacağını uygulama yüklenmeden önce tahmin edin. Kullanıcının ülkesine, cihaz donanım kapasitesine ve API düzeyine göre yükleme sırasında özelliğinizi dahil etmek için koşullu yayınlama desteği eklemek isteyebilirsiniz. Örneğin, domuz eti kullanılan tarifleri koşullu modüllere ekleyip domuz eti yemeklerinden kaçınılan bölgelerde bu modülü uygulama yükleme işleminden çıkarabilirsiniz.