Geรงtiฤimiz yฤฑl Google IO’da Instant App’ler tanฤฑtฤฑlmฤฑลtฤฑ. Kendi adฤฑma web ve native arasฤฑnda yeni bir kรถprรผ inลa edilmesini saฤladฤฑฤฤฑ iรงin รงok heyecan verici bulmuลtum. Geรงtiฤimiz yฤฑl iรงerisinde deย nasฤฑl instant app’ler yapabileceฤimizle ilgili birkaรง konuลma yapmฤฑลtฤฑm.
Bu seneki Google IO’da ise aynฤฑ platform tรผm oyun geliลtiricilere aรงฤฑldฤฑ ve platformun รงatฤฑ adฤฑ Google Play Instant adฤฑnฤฑ almฤฑล oldu.
Google Play Instant’la nasฤฑl baลarฤฑ yakalanabileceฤine dair olan linkteki konuลmadan daha detaylฤฑ olarak da inceleyebilirsiniz. Video’daki rakamlardan alฤฑntฤฑlฤฑyorum, kullanฤฑcฤฑlar mobilde geรงirdikleri zamanlarฤฑnฤฑn %87’sini aslฤฑnda app’lerde geรงiriyormuล. Ancak yine videodaki rakamlara gรถre bu kullanฤฑcฤฑlarฤฑn yarฤฑsฤฑ bir ay iรงerisinde hiรง yeni uygulama da kurmuyorlarmฤฑล. Bu noktada ise uygulamamฤฑzฤฑn ne kadar eriลilebilir, ulaลฤฑlabilir olduฤu รถnem kazanฤฑyor.
Eskiden deeplinkingle uygulamanฤฑn belli bir sayfasฤฑna kullanฤฑcฤฑyฤฑ direk olarak yรถnlendirebiliyorduk. Uygulamaya Google Play dฤฑลฤฑnda bi yerden de yรถnlendirme yaptฤฑฤฤฑmฤฑz iรงin, gรถrรผnรผrlรผฤรผnรผ yine arttฤฑrmฤฑลtฤฑk ama bunun iรงin bir web sitesine de ihtiyacฤฑmฤฑz vardฤฑ, ayrฤฑca kullanฤฑcฤฑnฤฑn gidip tรผm uygulamayฤฑ indirmesi gerekiyordu. Instant app’de ise sadece ilgili modรผlรผ indirmesi yeterli oluyor. Doฤru senaryoyla รงok gรผzel deฤerlendirilebilecek bir รถzellik, beni de ilk รงฤฑktฤฑฤฤฑnda tรผm uygulamayฤฑ indirmeden kullanabiliyor olmamฤฑz รงok heyecanlandฤฑrmฤฑลtฤฑ. Bir diฤer konu ise indexlemeyi Google Play รผzerinden yaptฤฑฤฤฑ iรงin ekstra bir web sitesi ihtiyacฤฑ da olmamฤฑล oluyor. Tabi istenirse yine web sitesine de link eklenebilir. Instant app’i olan uygulamalar desteklenen cihazlarda Google Play’e girildiฤinde “Install” butonunun yanฤฑnda “Try Now” butonuyla beraber belirecekler.ย Bu ลekilde biri bir uygulama รถnerdiฤinde, install etmeden direk deneyerek beฤenirsek indirebiliriz. Yine videoda alฤฑntฤฑlanan rapora gรถre kullanฤฑcฤฑlar install’a tฤฑkladฤฑklarฤฑnda yaลadฤฑklarฤฑย baฤlanma (commitment) geriliminden de kurtulmuล oluyormuล. ฤฐngilizce – Tรผrkรงe tam birebir รถrtรผลmeyince biraz anlam kaymasฤฑ olabiliyor ama siz noktayฤฑ anladฤฑnฤฑz.
รstteki imajda en saฤda yer alan screenshot’da da gรถrรผleceฤi gibi, kullanฤฑcฤฑlar instant app’inizi kullanฤฑrken basitรงe install edebilmeleri iรงin de install butonunu yerleลtirebilirsiniz. Bรถylece tekrar markete gidip, download etme gereksiniminden kurtulunmuล olunuyor.
Instant app’ler iรงin bu sene tanฤฑtฤฑlan รถnemli รถzelliklerden biri ise hepimizin kullandฤฑฤฤฑmฤฑz applerde aktif bir ลekilde kullandฤฑฤฤฑmฤฑz bildirimlerdi. g.co/instantapps/notification‘dan register olarak Beta programฤฑna dahil olabiliyoruz.
Daha รถnce Instant App’lerle ilgili yazdฤฑฤฤฑm yazฤฑ daha รงok ne olduฤuyla ilgili bir tanฤฑm niteliฤindeydi. ลimdi biraz daha teknik tarafa doฤru ilerlemenin zamanฤฑ. Instant app geliลtiren tรผm uygulama sahiplerinin ortak ilettiฤi konu, instant app iรงin uygulamayฤฑ refactor ederken genel olarak size’ฤฑnฤฑn da kรผรงรผldรผฤรผ yรถnรผnde. Peki genel olarak bakacaฤฤฑmฤฑz noktalar neler olabilir dersek;
- Apk Analyzer: Apk Analyzer kullanarak detaylฤฑ olarak hangi resource’un size’ฤฑn ne olduฤunu hangi folderlarฤฑn daha รงok alan kapladฤฑฤฤฑ gibi bilgilere ulaลabilir, gereksiz ya da รงok bรผyรผk size’lฤฑ olanlarฤฑ hฤฑzlฤฑca tespit edebiliriz.
- Configurations Splits: Basitรงe build.gradle dosyasฤฑ altฤฑnda, splits altฤฑna bloklar ekleyerek abi, resource ve language iรงin farklฤฑ apk’lar รผretilmesini saฤlamฤฑล ve bรถylece sadece ihtiyaรง olunan apk’lar download edileceฤi iรงin download size’ฤฑ dรผลรผrmรผล oluyoruz. Device baฤฤฑmsฤฑz tรผm dex-code iรงin bir base apk ve geri kalanlar iรงin birer apk gibi dรผลรผnebiliriz. Configuration apk’lar aslฤฑnda Multiple apk’ya benzerler. En bรผyรผk temel farksa, Multiple apk sadece installable app’ler iรงinken configuration apk’ler de sadece instant app’ler iรงindir. Yine Multiple apk’de her bir dil vs kombinasyonu iรงin farklฤฑ bir apk รผretilir. Yani 3 dil, 4 farklฤฑ รงรถzรผnรผrlรผk destekleyen bir uygulama iรงin 3*4=12 apk olacak, configurationda ise 1+ 3 + 4 = 8 apk oluลacak. Son olarak dil’i sadece configuration apk yani instant app iรงin ayrฤฑลtฤฑrabiliyoruz.
- Proguard: Proguard kullanฤฑmฤฑ da gereksiz resource’larฤฑn silinmesinde faydalฤฑ olacaktฤฑr. Yalnฤฑz installable app’e gรถre instant app iรงin proguard’da dikkat etmemiz gereken birkaรง unsur var. รapraz olarak modรผllerin kullandฤฑฤฤฑ class ve resource’larฤฑ keep etmeliyiz. รรผnkรผ kullanฤฑlmadฤฑฤฤฑ dรผลรผnรผlรผp remove edilebilir. Ayrฤฑca non-base feature modรผlleri obfuscate etmememiz gerekiyor. รรผnkรผ farklฤฑ classlarฤฑn aynฤฑ isimle obfuscate edilme riski var.
- Check if youโre in the instant app: Api bize instant app’de mi installable app’de mi olduฤumuz bilgisini veriyor. Bundan yararlanabiliriz.
- webP: webP bildiฤiniz รผzere eskiden sadece web uygulamalarฤฑnda kullanฤฑlabiliyorken artฤฑk native uygulamalarda da kullanฤฑlabiliyor ve jpg’e gรถre size’ฤฑ daha kรผรงรผk. Gerektiฤinde webP’yi tercih etmek de avantajlฤฑ olacaktฤฑr.
- Google Play Core Library: 10 MB’a kadar olan on-demand feature’larฤฑ runtime’da Play Core Library’deki api’larฤฑ call ederek indirebiliyoruz.. Bu sayede ekstra yer kazanmฤฑล oluyoruz. Nasฤฑl dynamic feature’lar yaratabileceฤimizi linkten inceleyebilirsiniz. (in Beta)
ลimdiye kadar hep instant app’ler iรงin 4 mb sฤฑnฤฑrฤฑndan konuลuldu ancak, 10 MB’lฤฑk entry point iรงin de bir BETA programฤฑ baลlatฤฑlmฤฑล. ฤฐlgilenenler g.co/instantapps/10MB adresinden deneyebilirler.
Bu yazฤฑnฤฑn ana gรผndemi olmamakla beraber yine IO’da duyurulan yeni publishing format(Android App Bundle) da benzer ลekilde on-demand feature’larฤฑn runtime’da inmesini saฤlฤฑyor. Instant app ya da Installable app nereden geldiฤimizden baฤฤฑmsฤฑz olarak Google Play cover edebiliyor olacakmฤฑล.
Google Play tarafฤฑndaysa yukarฤฑdaki iki imajda gรถrdรผฤรผnรผz gibi Instant App’in baลarฤฑ/sฤฑzlฤฑฤฤฑnฤฑ da รถlรงรผmleyebiliyoruz.
Peki bir checklistimizin รผzerinden geรงip, ลimdi development ortamฤฑmฤฑzฤฑn Instant App geliลtirmeye uygun olup olmadฤฑฤฤฑnฤฑ kontrol edelim:
- JDK 1.8
- Android Studio 3.0+
- Android SDK 6.0+
- Android SDK Build Tools 26.x+
- Android SDK Platform Tools 25.x+
- Install Instant App Development SDK(latest)
- Android SDK Tools (latest)
- Devices Android 5.1+ / Emulator Android 8.1+
- Support Repository (latest)
- All dependencies of Support Repository (latest version for each)
Herลeyi download ettik ve hazฤฑrsak, ilk denememizi yapabiliriz.
Android studio’dan start a new project diyerek baลlฤฑyoruz. ลimdi 0’dan instant app’de iรงeren bir proje aรงacaฤฤฑz รถncelikle. ฤฐlk ekranda gรถrรผldรผฤรผ gibi hiรง bir farklฤฑlฤฑk yok.
Target Android Device seรงtiฤimiz step’de include Android Instant Support tickini de seรงmemiz gerekli.
Instant app host bilgilerini girdiฤimiz step’de ise ilgili host ve route url’lerinin giriลini yapฤฑyoruz.
ลimdi run diyerek uygun android sรผrรผmรผne sahip emulator ya da cihazฤฑnฤฑzda instant/installable app’ini run edebilirsiniz.
Eฤer ki instant app’in konfigรผrasyonunla editle girerseniz de url’i baลlangฤฑรงta verdiฤimiz iรงin deฤerler aลaฤฤฑdaki gibi olacak. Bu basit uygulamayla tรผm app’i hem installable hem de instant app olarak aรงmฤฑล olduk. ๐
2 responses to “Google Play Instant”
[โฆ] โ Previous [โฆ]
[…] hafta IO’da tanฤฑtฤฑlan Instant App’lerdeki farklฤฑklarฤฑ ve yenilikleri iรงeren bir yazฤฑ yazmฤฑลtฤฑm. ลimdi sฤฑra App Bundle‘da. Bu yazฤฑ developer.android, Google Developers […]