Josh, Ağustos 2020'de kullanıma sunulan Hindistan'da üretilmiş bir kısa video uygulamasıdır. Ayrıca, 124 milyon AEKS ve 60 milyondan fazla GEKS ile Hindistan'da en hızlı büyüyen kısa video uygulamalarından biridir.
Josh'u çeşitli cihazlarda (yüksek, orta, düşük seviye) optimize etmek ve tüm bu cihazlarda standart bir deneyimi sürdürmek tüm uygulama geliştiricileri için zorlu bir iştir. Josh'un geliştiricileri ise bunu daha en başından anladı. Android Vitals'ın iyileştirilmesi, Sprint'lerdeki önemli bir görevdi ve uygulamanın başlatma süresini ve yanıt verme hızını iyileştirerek kullanıcıları memnun etmeye önem verildi.
Kullanıcıların uygulamada etkileşim kurduğu ve kullandığı birincil biçim video olduğu için uygulamanın yanıt verme süresi ve başlatma süresi de önemliydi. Video akışına yerleştirilen herhangi bir ses veya farklı etkileşimlerdeki duraklamalar, kullanıcının kısa sürede ilgisini kaybedip uygulamayı bırakmasına neden olabilir.
Uygulama başlatma süresi performansına yatırım yapan Josh, ortalama bir kullanıcının uygulama başlatma süresini% 30 oranında iyileştirirken eski ve cihaz sahibi cihazların yaklaşık% 10'unun daha hızlı çalışmasını sağladı.
Hedef
Josh uygulaması, bir yıldan kısa bir sürede 100 milyonun üzerinde AEKS'ye hızlı bir büyümeyle tanık oldu. Ürün veya etkinliğe dayalı özellikleri kullanıma sunma yarışında genellikle uygulama optimizasyonu devreye girer. Google'dan aldıkları uygulama denetimleri ve yapısal geri bildirimler sayesinde bu sorunlar erkenden tespit edildi ve düzeltilecek bir yol çizdi.
Nasıl yaptılar?
Android vitals izlenirken uygulama başlangıcını iyileştirmek için bir fırsat tespit edildi. Ekip, sıcak ve çalışır durumda başlatma sürelerini otomatik olarak iyileştireceği için baştan başlatma sürelerini iyileştirmeye öncelik vermeye karar verdi.
Birden çok özel iz, systrace, Android Studio Profiler ve Perfetto kullanarak kapsamlı bir araştırma yapan ekip, performans sorunlarını tespit etmeyi başardı. Uygulama sınıfının onCreate ve diğer eşzamanlı yöntemlere ayırdığı zamanın optimize edilebileceği aşikardır.
Ekibin özellikle şunları yaptığını düşünelim:
- Uygulama başlatılırken yürütülen her kod bloğunun profili.
- Perfetto, Systrace, Dumpsys gibi Android performans araçları kullanılarak analiz edilen sistem izleri
- Uygulama başlatılırken 3. taraf SDK'ların etkisi araştırıldı ve bazı üçüncü taraf SDK'ların otomatik olarak başlatılması devre dışı bırakıldı.
- Eski kitaplıklar kaldırıldı
- Bazı modüller ertelendi ve arka planda yürütüldü
- Başlangıçta başlangıç ekranında kullanılan çekilebilir öğelerin boyutu küçültüldü ve ekran boyutu için optimize edildi.
Yukarıdakilerin hepsi, uygulama üzerindeki olumlu etkilerinin doğrulanması için tek başına test edilerek, baştan başlatma emülasyonuyla ve yeni Jetpack Makrobenchmark kitaplığını entegre ederek doğrulandı.
Sonuçlar
Bu değişiklikler hem tüm metriklerde anında iyileşme sağlanmasına hem de genel kullanıcı deneyiminin iyileştirilmesine ve Josh'un geliştirme ekibi için çok değerli bilgiler edinmesine yardımcı oldu.
- Hemen çıkma oranlarını ve kullanıcıları elde tutma oranını artırmak, Josh'un referans değere kıyasla 1 milyondan fazla kullanıcıyı elde tutmasına yardımcı oldu. Bu iki metriğe odaklanmak uygulamadaki genel etkileşimi de iyileştirdi.
- Uygulamanın kullanıma sunulmasının ardından, startup iyileştirmeleriyle birlikte Play Store puanları yukarı doğru pozitif bir trend gösterdi.
- Uygulama başlatma süresi ortalama kullanıcı için% 30 iyileşti, eski ve düşük teknolojiye sahip cihazlardaki kullanıcıların yaklaşık% 10'u için 3 kat daha hızlı hale geldi. Böylece, bu kullanıcılar için uygulama duyarlılığını önemli ölçüde iyileştirdi.
Daha da önemlisi, Android Vitals'ı iyileştirmeye yönelik bu alıştırma tüm ekibi bir araya getirerek ekibin, özellikle de yeni üyelerin motivasyonunu artırdı. Vitals'ın önemini güçlendirdi. Hatta ekibin, öğrendiklerinin bir kısmını diğer uygulamalarında da kullanmasını sağladı.
"Bir ekosistemdeki iş ortakları bir araya geldiğinde ekosistem birlikte büyür. Verilerin ve analizin gücü daha önce görülmemiş bir güçtür. İçerik üretici odaklı, içerik odaklı ve tüketici odaklı bir platform olarak her zaman en iyi kullanıcı deneyimini oluşturmaya odaklandık ve uygulamanın kararlılığına büyük önem veriyoruz. Josh, aracın lansmanının hemen ardından hızlı bir büyüme gördü. Google Play Ekibi ile yakın işbirliği içinde çalışmak, uygulama kararlılığı ve optimizasyonu gibi zorlukları erkenden tespit edip düzeltmemize yardımcı oldu. Google ile yaptığımız çalışmalar, kararlılıkla ilgili gelişmenin yanı sıra kullanıcıları elde tutma ve etkileşim oranını artırmamıza yardımcı oldu."
– Shailendra Sharma, Ürün ve Mühendislikten Sorumlu Kıdemli Başkan Yardımcısı, VerSe Innovation.