Google Play Instant

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”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.