JioSaavn meningkatkan DAU dengan menaikkan waktu startup aplikasi sebesar 30%

Didirikan pada tahun 2007, JioSaavn adalah layanan streaming audio terkemuka untuk musik dan podcast. Mereka memiliki 900+ kemitraan label dan streaming 80+ juta lagu dalam 16 bahasa. Aplikasi JioSaavn juga tersedia dalam 6 bahasa wilayah India.

Dengan tech stack yang mendukung lebih dari 100 juta pengguna aktif bulanan (MAU), JioSaavn beroperasi dalam skala dan kecepatan. Audiens ini biasanya memiliki ponsel Android dengan resource terbatas, sehingga pengalaman pengguna mereka sangatlah penting bagi tim JioSaavn.

Tantangan

Mengoptimalkan dalam lingkungan yang penuh hambatan, seperti yang ditemukan pada perangkat seluler kelas menengah ke bawah, bisa menjadi tantangan dan menarik dari sudut pandang teknis. Tantangan yang dihadapi JioSaavn adalah mengoptimalkan pengalaman pengguna untuk target audiens utama mereka menggunakan perangkat seluler kelas menengah ke bawah dan terutama ditemukan di kota-kota Tingkat 2 & 3 di India.

Dengan menganalisis funnel, terbukti bahwa ada sebagian besar pengguna yang akan meluncurkan aplikasi, tetapi tidak mendengarkan lagu. Tim menentukan waktu startup aplikasi sebagai penyebabnya. Oleh karena itu, peningkatan waktu startup aplikasi dikaitkan dengan peningkatan jumlah pemroses di aplikasi.

Bagaimana Mereka Melakukannya

JioSaavn mengandalkan analisis komprehensif dan serangkaian alat yang andal seperti Perfetto, dumpsys, dll. untuk menganalisis masalah ini dan menghasilkan solusi yang berkelanjutan. Tim pendekatan ini menghadapi tantangan ini dengan menggunakan dua prinsip - memparalelkan pekerjaan dan malas.

Dengan bantuan analisis Google, tim memprioritaskan tugas-tugas

  • Menggunakan systrace dan perfetto untuk mempelajari alur aplikasi, menganalisis titik masalah, memvalidasi peningkatan dalam waktu startup aplikasi.
  • Inisialisasi tertunda: Inisialisasi fragmen/instance/class teridentifikasi yang dapat ditunda hingga halaman beranda ditampilkan -
    • Iklan
    • Layanan Musik (Layanan Latar Depan) dan Resource Pemutar (misalnya Exoplayer, antrean pemutar yang di-cache, dll.)
    • Fragmen Pemain yang diminimalkan pada saat peluncuran.
  • Inisialisasi sesuai permintaan: berbagai library saat dan kapan library tersebut diperlukan (misalnya Facebook lib).
  • viewStubs: Inflation View dan pemuatan resource berat. Tim ini meratakan tata letaknya menggunakan viewStubs dan mengonversi gambar ke webP.
  • Thread pekerja: Beberapa tugas yang tidak memerlukan UI thread dipindahkan ke thread b/g untuk membebaskan UI thread.
  • Memisahkan Data Cache - Membaca dan mengurai data cache yang sangat besar dari sebuah file memerlukan banyak waktu. Tim membaginya menjadi data yang penting (diperlukan untuk menampilkan halaman beranda) dan data yang tidak kritis.
  • LayoutInflater Asinkron: Beberapa tampilan yang diperlukan untuk recyclerview beranda telah di-inflate sebelumnya menggunakan Asinkron LayoutInflater.

Alat yang Digunakan - Perfetto, Systrace, Google Play vitals, Profiler Android Studio, SDK performa Firebase

Hasil

Tim JioSaavn merilis perubahan ini pada beberapa versi aplikasi untuk menjaga stabilitas aplikasi. Mereka mencapai hasil berikut -

  • Peningkatan 30% dalam waktu startup aplikasi di semua perangkat dan 35 - 40% di perangkat kelas menengah ke bawah.
  • Peningkatan 5% pada Penonton Layar Utama/ DAU, sehingga mengurangi rasio pantulan.

Latihan pengoptimalan ini menyatukan seluruh tim. Panduan terperinci dilakukan untuk membuat tim nyaman dengan perubahan, dan menanamkan pendekatan yang berfokus pada kinerja terhadap aplikasi.

“JioSaavn bertujuan untuk meningkatkan pengalaman mendengarkan pengguna kami yang berasal dari berbagai wilayah
dan kota di India, serta menjangkau seluruh spektrum dalam hal keterjangkauan harga. Oleh karena itu, melewati infrastruktur konektivitas seluler di wilayah mereka, dan mengoptimalkan pengalaman pengguna di seluruh kemampuan perangkat pengguna adalah tantangan terus-menerus yang kami tangani. Berkat panduan hubungan developer Google, kami dapat mengambil langkah definitif ke arah ini.”

– Tim Produk JioSaavn