Instant app kullanımı — Android

ömer iyiöz
DigiGeek
Published in
3 min readFeb 15, 2021

Google’ın github’ında paylaştığı app-bundle-samples içerisinde birbirinden farklı dynamic-feature ve instant app örnekleri var.

En basit bir instant yapabilmek için aşağıdaki linkte verdiğim aab-simple isimli projeyi derleyip google play’e instant app kısmından upload edebilirsiniz:

Bu projenin kodlarını incelerseniz, basit bir hello world uygulama olduğunu tek farkının manifest’deki şu kod olduğunu görebilirsiniz:

<dist:module
dist:instant="true">
</dist:module>

Kodların tamamını aşağıda görebilirsiniz :

Normal uygulamamızı ve instant app’ımızı bu şekilde iki farklı application module kullanarak sürdüreceksek, instant app ve installable app(normal uygulamamız)’’ımızın build.gradle’ında tanımladığımız applicationId’leri aynı olmalıdır.

Ayrıca instant app’iniz için kullandığınız versionCode ve versionName, installable app için uygulamanızda kullandığınız versionCode ve versionName’den mutlaka düşük olmalıdır. Çünkü instant app üzerinden installable app yüklendiğinde app update olmuş gibi düşünebilirsiniz.

Add release type “Google Play Instant” in Play Store

Instant app kullanabilmemiz için play store’da Google Play Instant “release type”ını eklemeliyiz.

Bunu ekledikten sonra bundle yükleyeceğimiz zaman artık sağ üstte 2 farklı seçenek olacaktır. Normal uygulamamızın bundle’ını Standard seçip upload ederiz. Instant app kullanmak için ise instant apps only seçip buraya ilgili bunle’ı upload ederiz. Yukarıda kodlarını gösterdiğim projenin bundle’ını instant apps only seçerek upload edebilirsiniz.

Test için bundle’ınızı internal testing kısmından upload edebilirsiniz. Tester olarak eklediğiniz email sahipleri play store’dan uygulamanızın internal testing’e eklenmiş sürümlerini görüp yükleyebilirler.

Dynamic feature module’leri instant app yaparak kullanmak

Bu başlık altında anlatacaklarım bir önceki makalemde anlattığım dynamic feature modules konusunun devamı niteliğindedir.

Bu başlık altında Google’ın github’ında paylaştığı app-bundle-samples içerisindeki DynamicFeatures projesini inceleyeceğiz.

Daha önceki makalemde dynamic feature module kullanmaktan bahsetmiştim. Bir dynamic feature module’ü instant app yapmak çok basittir. Yapmamız gereken şey, dynamic feature module’ün manifest dosyasına gidip dist:instant=”true” eklemektir. Ayrıca, bu module’ü dynamic feature olarak kullanmak istemediğimiz için, dist:onDemand=”false” deriz.

<dist:module dist:instant="true" dist:onDemand="false"
dist:title="@string/title_detail_feature">
<dist:fusing dist:include="true" />
</dist:module>

Bu örnekte instant app, bir url üzerinden tetiklenmektedir. Ekrandaki bir butona tıklayınca openUrl() method’u çağırılmaktadır. Bu method ise bu url’i intent filter ile dinleyen activity’yi ayağa kaldırmaktadır.

Bu konuyla ilgili eklememi, düzeltmemi istediğiniz yerler varsa, benimle iletişime geçebilirsiniz.

Daha fazla makale için, clap’lemeyi unutmayalım :)

--

--