Native Android apps that run instantly without installation

Android Instant App’leri ilk duyduğumda tam beklenen şey gelmiş, çok iyi fikir diye düşünmüştüm. Biraz daha derinine inip araştırmamı, merak eden diğer Android Developer’larla da paylamanın zamanı geldi geçiyordu. Yukarıda gördüğünüz gif early adopter’lerden biri olan vimeo’nun Android Instant App’i nasıl kullandığını gösteriyor. Nasıl bir süreç yaşadıklarını detaylı olarak anlatan medium’daki yazılarından aldım.

Instant App’ler temel olarak uygulamamızın bir feature’ını kullanıcıya uygulamayı indirmeden de kullanabilmesi olanağı sunan bir özellik. İndirmeden deyince eğer ilk defa duyuyorsanız biraz magical gelmiş olabilir. İlk duyduğumda bana da aynı şekilde gelmişti. Aslında temel olarak instant apk’larınız ve bir installable apk’nız oluyor. Siz bir link aracılığıyla bu instant apk’yı uygulama kurulu olmayan biriyle paylaşabiliyorsunuz. Ardından linki tıklayan kullanıcı da eğer ki uygulama kurulu değilse, linki atılan feature’ı açacak şekilde Google Play’den source’ları çekiyor ve kullanıcı sanki uygulamaya sahipmiş gibi buradaki içeriği görüntüleyebiliyor. Eğer ki kullanıcı başka bir uygulamaya geçerse de bu kod cihazdan siliniyor. Yalnız şöyle bir kısıt var ki instant apk’ımızın maksimum size’ı 4 MB olmak zorunda. Birazdan daha detaylı anlatacağım ama app’i öncesinde modüler hale getirmemiz ve base özelliklerin olduğu bir feature yaratmamız gerekiyor. Bu base feature bizim instant apk’ımızda ziplenmiş olarak yer alacak. İşte 4 MB burada kritik oluyor.

Peki detaylarına girmeden neden instant app için geliştirme yapmalıyız dersek de 3 temel neden karşımıza çıkıyor.

-Conversion (Mevcut kullanıcıları hedef almak ve deneyimlerini iyileştirmek)

-Reach (Yeni kullanıcılara ulaşmak)

-New use cases (Yeni senaryolar)

Early Adopter olan developer stories’i şuradaki linkten inceleyebilirsiniz. User story örnekleri arasında ise bir makale okumak, dijital imza, video izleme ya da bir alım yapma gibi örnekler var.

Herhangi bir Android uygulamasını düşünürsek aslında birden çok feature kullanıcıya sunuluyor. Android Instant App’le tek bir feature’ı kullanmak için uygulamayı indirmek zorunda kalmıyorlar. Her bir feature için ise bir Activity olması gerekli. Bu activity ui’ı ve flowu da tutar. Activity için birden çok giriş noktası olabilir ama en azından bir tane olmak zorunda.

Bunu yapabilmek için uygulamamızı feature modül’lere bölmemiz gerekiyor. Bir instant app projesini build ettiğimizde oluşacak output aşağıda gördüğünüz gibi 1 yada daha çok Feature içeren Instant Apk’lar olacak. Instant apk’nın base feature apk’sı olmak zorunda ama diğer feature apk’lar opsiyonel. Eğer birden fazla feature varsa olabilir ya da sadece bir base feature olabilir. Kullanıcı instant apk’da bir feature’ı download ettiğinde base feature da gelmiş oluyor. Eğer ki başka bir feature ı kullanmak isterse bu sefer base feature apk inmeden ilgili feature inerek kullanılabilecek. Ancak garbage collector sebebiyle yada kullanıcı cihazı reboot ederse base feature apk’nın da yeniden download edilmesi gerekecek.

Google Play’den feature’ı indirebilmek için gerekli olan şey de url’dir. Google Play ilgili url’le eşleşen bir feature olduğunda kullanıcının buna erişmesini sağlar. Bir activity’den başka bir activity’ye geçiş ise yine url aracılığıyla gerçekleşmekte. Bazı uygulamalar instant app’i in-app browser olarak açabilirler, bunun önüne geçmek için ise Firebase Dynamic Link kullanılarak linkler wrap edilebilir.

Umarım Instant App’ler hakkında genel bilgi sahibi olunması konusunda faydalı olabilmişimdir. Instant App’lerle ilgili bir sonraki yazımda beraber sıfırdan uygulama geliştireceğiz. İyi hafta sonları 🙂

Referanslar:

https://www.youtube.com/watch?v=oispNrpGnIY
https://codelabs.developers.google.com/codelabs/android-instant-apps/#0 https://developer.android.com/topic/instant-apps/index.html View story at Medium.com https://medium.com/jet-stories/make-your-app-instant-33855ab5d02b
Reklamlar