Apa fungsi google play instant

Setiap kali Anda merilis aplikasi Android, setidaknya Anda akan memiliki gambaran kasar tentang aplikasi yang Anda inginkan.

Goal ini bisa sangat spesifik, seperti menghasilkan jumlah pendapatan iklan tertentu di kuartal pertama, atau bisa lebih umum, seperti mendapatkan peringkat tinggi di Google Play.

Apa pun yang ada di daftar keinginan Anda, membuat aplikasi Anda di depan sebanyak mungkin pengguna, selalu akan tampil di suatu tempat di daftar itu - dan Android Instant Apps adalah fitur baru yang dapat membantu Anda melakukan hal itu.

Instant Apps memberi Anda cara baru menjangkau pengguna yang saat ini tidak menginstal aplikasi Anda di perangkat mereka, dengan membuat aplikasi Anda dapat ditemukan dan dapat diakses dari lokasi manapun yang mendukung URL, termasuk email, hasil penelusuran Google, pos di media sosial Platform, komentar YouTube, dan forum.

Intinya, Instant App memungkinkan Anda memisahkan setiap fitur aplikasi menjadi modul yang berdiri sendiri. Pengguna kemudian dapat memuat modul instant app berikut sesuai permintaan dengan klik URL yang telah dipetakan ke modul khusus ini, dan tanpa harus memasang aplikasi Anda kapan saja.

Dalam rangkaian tiga bagian ini, saya akan menunjukkan kepada Anda bagaimana menambahkan Instant App support ke proyek Android Anda. Pada akhir seri ini, Anda akan membuat sebuah aplikasi yang terdiri dari dua modul feature Instant App terpisah, yang dapat Anda luncurkan dan uji pada perangkat Android yang kompatibel.

Apa yang Kita Tuju pada Cover

Dalam posting pertama ini, saya akan fokus pada Instant Apps apa, bagaimana kinerjanya, dan mengapa Anda harus peduli terhadapnya. Untuk memberi Anda beberapa pengalaman langsung Instant Apps, kami akan menggunakan wizard pembuatan proyek Android Studio untuk membuat aplikasi yang telah dikonfigurasikan sebelumnya dengan dukungan Aplikasi Instan, sehingga Anda dapat melihat semua komponen Instant App yang berbeda, bukan Daripada hanya membaca tentang itu.

Sambil membuat aplikasi yang sudah dikonfigurasi sebelumnya dengan InstanApp support adalah cara tercepat dan termudah untuk menggunakan fitur ini, ternyata Anda lebih cenderung menambahkan Instant App support ke proyek yang ada - jadi di bagian kedua saya akan menunjukkan kepada Anda bagaimana Untuk melakukan hal itu Saya akan menyediakan aplikasi yang dapat Anda download dari GitHub, dan kemudian membawa Anda melalui proses langkah-demi-langkah untuk mengonfigurasi ulang proyek ini untuk mendukung Instant Apps.

Bagian terakhir dari teka-teki ini adalah menciptakan Aplikasi Instan multi-fitur, sehingga pada bagian ketiga saya akan menunjukkan kepada Anda bagaimana menambahkan modul feature kedua ke aplikasi Anda, dan bagaimana menggunakan Android App Links untuk memetakan modul ini ke URL yang berbeda.

Apakah Instant Apps itu?

Salah satu cara terbaik untuk mendeskripsikan Aplikasi Instan adalah dengan melihat contoh kapan Anda menggunakannya.

Bayangkan seorang teman telah mengirimi Anda tautan ke video kucing yang mereka janjikan akan Anda sukai, namun saat Anda menklik tautan, menjadi jelas bahwa Anda perlu mengunduh aplikasi sebelum dapat menonton video ini.

Terlepas dari apakah Anda akhirnya mendownload aplikasi, atau mengabaikan tautan dan berisiko kehilangan video kucing terbaik yang ditawarkan Internet, ini adalah pengalaman pengguna yang buruk - dan ini adalah skenario yang banyak pengguna Android kenal.

Sebagian besar dari kita memiliki pengalaman menginstall aplikasi hanya untuk menyelesaikan tugas satu kali. Misalnya, Anda bisa mendownload aplikasi hanya untuk melihat lampiran email yang telah dikirim seseorang, untuk menyelesaikan pembelian di situs web tertentu, atau untuk melacak paket yang saat ini mengarah ke alamat Anda.

Sekarang mari kita bayangkan skenario video kucing kita lagi, tapi kali ini pengembang aplikasi telah menempatkan semua kode dan sumber daya yang dibutuhkan untuk memutar konten video di dalam modul feature aplikasi instannya sendiri, dan memetakan modul ini ke URL www.example.com/video. Kali ini, saat Anda klik/mengetuk www.example.com/video/cat-video, Google Play mengetahui bahwa URL ini dikaitkan dengan modul aplikasi instan dan mengambil semua kode dan sumber daya yang Anda butuhkan untuk memutar video ini. Hasil akhirnya? Anda dapat menikmati 20 detik kucing yang bermain dalam kotak tanpa harus memasang apapun, yang merupakan pengalaman pengguna yang jauh lebih baik.

Mengapa Saya Harus Mulai Menggunakan Fitur Aplikasi Instan?

Seperti yang akan Anda lihat di posting berikutnya di seri ini, menambahkan Instant App support ke proyek yang sudah ada bisa menjadi proses yang menakutkan, yang seringkali mengharuskan Anda mengubah sepenuhnya cara penerapan aplikasi Anda.

Karena restrukturisasi sebuah proyek bukanlah keputusan yang seharusnya Anda anggap enteng, pada bagian ini saya akan membantu Anda memutuskan apakah semua waktu dan usaha itu benar-benar layak dilakukan, dengan meliput semua manfaat utama menambahkan dukungan Instant App ke proyek Anda. :

  • Ini menghilangkan penghalang antara aplikasi dan pengguna baru Anda. Menginstal aplikasi melalui Google Play bukanlah proses yang sangat sulit atau memakan waktu, namun ini merupakan penghalang terbesar antara aplikasi dan calon pengguna baru Anda. Tidak peduli berapa banyak waktu yang Anda habiskan untuk membuat halaman Google Play yang menarik yang akan memiliki mayoritas pengguna yang mengacak tombol Install itu, beberapa orang akan selalu drop out pada waktu install.
  • Ini membantu Anda menjangkau pengguna baru. Meskipun Anda selalu dapat mempromosikan aplikasi Anda di berbagai lokasi di seluruh web, seperti situs web, blog, atau media sosial Anda sendiri, yang terhubung dengan pengguna baru yang sebelumnya mengandalkan mereka mengunjungi halaman Google Play aplikasi Anda di beberapa titik (dengan Pengecualian, jarang pengguna yang lebih memilih untuk sideload aplikasi mereka). Instant Apps menghapus ketergantungan ini di halaman Google Play aplikasi Anda, dengan membuat aplikasi Anda dapat diakses langsung dari lokasi manapun yang mendukung URL, sehingga memberi Anda kesempatan yang hampir tak terbatas untuk terhubung dengan pengguna baru.
  • Ini memastikan bahwa konten bersama/shared content adalah iklan terbaik untuk aplikasi Anda. Pengguna yang berbagi konten aplikasi Anda adalah salah satu cara paling efektif untuk menjangkau audience baru, jadi Anda ingin memberi kesan pertama yang baik! Sebelumnya, sulit untuk memberikan pengalaman yang konsisten bagi pengguna yang tidak memasang aplikasi di perangkat mereka, namun aplikasi instan memungkinkan Anda menjamin pengalaman sebenarnya yang mulus untuk semua orang.
  • Membantu pengguna mengakses aplikasi Anda, bahkan dalam menghadapi pembatasan Internet. Sementara jangkauan internet terus meningkat setiap saat, Anda mungkin kadang-kadang berjuang untuk menemukan jaringan yang cepat dan andal, atau mungkin menjelang kuota bulanan Anda dan khawatir akan menimbulkan biaya tambahan. Ketika Anda sedang berjuang dengan koneksi internet yang lambat atau tidak konsisten, mengunduh keseluruhan aplikasi bisa menjadi proses yang menyita waktu dan membuat frustrasi, dan saat Anda dalam bahaya mengatasi kelonggaran data Anda, mengunduh aplikasi baru mungkin cukup untuk dikenai Biaya tambahan. Semua modul aplikasi instan harus berukuran 4MB atau kurang, jadi walaupun mengunduh keseluruhan aplikasi tidak ada masalah, kemudian mengakses modul aplikasi instan mungkin masih menjadi pilihan yang tepat.
  • Tingkatkan daya tarik aplikasi lokasi dan waktu yang sensitif. Meskipun aplikasi yang dirancang untuk lokasi atau acara tertentu bukanlah konsep baru, tanyakan pada diri Anda: seberapa besar saya harus memasang aplikasi yang saya tahu bahwa saya hanya dapat menggunakannya untuk jangka waktu terbatas, atau dalam Lokasi tertentu? Aplikasi instan dapat meningkatkan daya tarik aplikasi waktu dan aplikasi yang peka terhadap lokasi, dengan memungkinkan pengguna mengakses semua fungsi terpenting aplikasi Anda di tap URL.

Pembatasan dan Keterbatasan

Sebelum memulai perjalanan aplikasi instan kita, ada baiknya dicatat bahwa saat ini ada beberapa hal yang tidak dapat dilakukan aplikasi instan:

  • Akses pengenal perangkat seperti alamat IMEI dan MAC.
  • Gunakan layanan background.
  • Lakukan notifikasi background.
  • Akses penyimpanan eksternal perangkat.
  • Akses daftar aplikasi yang diinstal pada perangkat pengguna-kecuali aplikasi tersebut secara khusus membuat diri mereka dapat ditemukan ke aplikasi instan.

Selain itu, aplikasi Anda harus:

  • Jadikan tersedia untuk diunduh secara gratis di Google Play Store.
  • Gunakan model perizinan baru yang diperkenalkan di Android 6.0 (tingkat API 23). Selama pengguna tidak memasang aplikasi instan, tidak ada kesempatan untuk meminta izin di depan. Jika modul feature aplikasi instan Anda memerlukan akses ke kemampuan perangkat sensitif atau informasi pengguna, Anda harus meminta izin ini saat runtime.
  • Dukungan Tautan Aplikasi Ini adalah mekanisme yang akan Anda gunakan untuk memetakan setiap modul aplikasi instan Anda ke URL tertentu. Saya akan membahas App Links secara rinci di posting berikutnya.

Akhirnya, jika aplikasi Anda merupakan bagian dari program yang Dirancang untuk Keluarga, Anda tidak dapat menawarkannya sebagai aplikasi instan.

Menyiapkan Development Environment Anda

Sebelum Anda dapat membuat proyek pertama dengan dukungan aplikasi instan, Anda harus menginstal yang berikut atau yang lebih tinggi:

  • Android Studio 3.0 Preview
  • Android SDK 6.0
  • Android SDK Build Tools 26.x
  • Android SDK Tools 25.x
  • Android SDK Platform Tools 25.x

Anda juga harus memastikan bahwa Anda memiliki versi terbaru dari Android Support Library dan Android Repository, jadi buka Pengelola SDK Android Studio dan pasang pembaruan yang ada.

Setelah menginstal semua hal di atas, Anda dapat mendownload Instant Apps Development SDK:

  • Buka SDK Manager, dan pilih tab SDK Tools.
  • Pilih Instant Apps Development SDK.
  • Klik Apply.

Saat ini, Anda hanya bisa menguji aplikasi instan di Nexus 5X, Nexus 6P, Pixel, Pixel XL, atau Galaxy S7 yang menjalankan Android 6.0 atau lebih tinggi. Namun, jika Anda tidak memiliki perangkat ini, Anda dapat membuat Perangkat Virtual Android (AVD) yang mengemulasi salah satu perangkat ini, dengan beberapa syarat: AVD harus menggunakan gambar x86, dan itu harus menyertakan API Google .

Karena saya tidak memiliki perangkat ini, saya akan membuat AVD yang mengemulasi Pixel:

  • Luncurkan AVD Manager.
  • Klik tombol Create virtual device.
  • Pilih Pixel, dan kemudian klik Next.
  • Pilih tab x86 Images.
  • Pilih sistem image yang menjalankan Android 6.0 dan sertakan Google API, misalnya Marshmallow / 23 / x86 / Android 6.0 (Google API).
  • Klik Next.
  • Berikan nama AVD Anda, dan klik Finish.
  • Jalankan AVD Anda.

Terakhir, Anda harus masuk ke akun Google di AVD Anda:

  • Beralih ke AVD Anda, dan buka launcher perangkat.
  • Pilih Google app.
  • Masukkan alamat dan kata sandi Gmail. Ini bisa jadi akun real Anda, atau akun yang Anda buat hanya untuk tujuan menguji proyek Android Anda.

Membuat Aplikasi Instan Pertama Anda

Di Android Studio 3.0 Preview 1 dan yang lebih tinggi, membuat sebuah proyek yang memiliki dukungan built-in Instant App semudah memilih kotak centang, jadi alih-alih hanya menjelaskan fitur Instan, kita akan membuat proyek Aplikasi Instan dan kemudian menghabiskan waktu Sisa artikel ini mendapatkan beberapa pengalaman tangan pertama dengan berbagai komponennya.

Sadarilah bahwa proyek ini tidak menampilkan Tautan Aplikasi apa pun, jadi Anda tidak dapat menguji komponen Aplikasi Instan pada AVD Anda (ini adalah sesuatu yang akan kami explor secara rinci di bagian kedua).

Untuk membuat proyek Anda:

  • Luncurkan wizard pembuatan proyek, baik dengan memilih File> New> New project ... dari toolbar Android Studio, atau dengan mengklik Start a new Android Studio project dari Android Studio's Welcome screen.
  • Berikan nama proyek Anda, dan klik Next.
  • Tetapkan Minimum SDK ke Android 6.0 (Marshmallow).
  • Pilih kotak centang Include Android Instant app support, dan klik Next.
  • Untuk membantu menjaga agar tetap sederhana, accept nama modul default (feature) dan kemudian klik Next.
  • Pilih Basic Activity lalu klik Next.
  • Pada screen berikutnya, terima semua nilai default, lalu klik Finish.

Segera, kita dapat melihat bahwa proyek ini terstruktur sangat berbeda dari proyek khas Android Anda, dan terdiri dari modul berikut:

  • App. Modul aplikasi yang dapat diinstal, juga dikenal sebagai modul APK.
  • Base. Modul base feature.
  • Feature. Meskipun proyek khusus ini hanya memiliki satu, aplikasi dapat terdiri dari beberapa modul feature.
  • Instantapp. module instant app.
Apa fungsi google play instant
Apa fungsi google play instant
Apa fungsi google play instant

Dengan pengecualian modul feature, setiap proyek yang mendukung aplikasi instan harus memiliki semua modul di atas, jadi mari kita jelajahi masing-masing modul ini secara rinci.

1. Modul Aplikasi

Konsep modul aplikasi mungkin bukan hal yang baru, namun bila proyek Anda mendukung aplikasi instan, modul manifest aplikasi terlihat lebih empuk daripada yang mungkin Anda gunakan:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.jessicathornsby.myapplication.app" />

Ada alasan mengapa file ini sangat kosong: saat Anda membangun proyek Anda, isi semua file Manifest lainnya yang terdapat di seluruh base feature dan modul feature digabungkan dengan file ini-jadi tidak akan tetap kosong selamanya!

Jika Anda membuka file build.gradle modul ini, maka Anda akan melihat dua elemen baru:

dependencies { implementation project(':feature') implementation project(':base') }

Di sini, kami menyatakan bahwa modul aplikasi kami memiliki ketergantungan pada modul feature dan modul base.

Bila Anda menambahkan Instant App support ke proyek, Anda memisahkan kode dan sumber terkait ke modul feature yang dapat berfungsi secara independen dari aplikasi yang dapat diinstal. Namun, modul ini masih merupakan bagian dari aplikasi yang dapat diinstal, bukan entitas terpisah, oleh karena itu modul aplikasi kami menyatakan fitur dan modul dasar sebagai dependensi.

2. Modul Base Feature

Setiap proyek aplikasi instan harus menyertakan modul feature base tunggal, yang berisi kode dan sumber daya yang digunakan di semua modul aplikasi Anda. Misalnya, jika Anda membuka map base/res/mipmap proyek kita, Anda akan melihat semua ikon launcher aplikasi, yang jelas akan digunakan di banyak modul.

Apa fungsi google play instant
Apa fungsi google play instant
Apa fungsi google play instant

Karena berisi kode dan sumber umum, semua modul feature proyek Anda bergantung pada modul feature base ini.

Melanjutkan tema ini, modul feature base berisi entri Manifest yang digunakan di keseluruhan proyek Anda. Misalnya, file base/src/main/AndroidManifest.xml proyek Anda berisi pengaturan untuk ikon, tema, dan label aplikasi Anda:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.jessicathornsby.myapplication"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme" /> </manifest>

Unsur penting lainnya adalah modul base build.gradle file, yang berisi beberapa atribut baru:

//All base feature and “regular” feature modules use the com.android.feature plugin, rather than the com.android.application plugin// apply plugin: 'com.android.feature' android { compileSdkVersion 26 buildToolsVersion "26.0.0" //Specify that this is the project’s one and only base feature, using the ‘baseFeature true’ expression// baseFeature true … … … dependencies { //Use ‘application project’ to add a dependency from the base feature module, to your project’s installable ‘app’ module// application project(':app') //Use ‘feature project’ to reference our project’s feature module, aptly named ‘feature’// feature project(':feature')

Anda juga akan melihat bahwa file build.gradle khusus ini tidak memiliki atribut applicationID, dan (spoiler alert) Anda akan menemukan hal yang persis sama ketika kita kembali untuk memeriksa file build.gradle modul feature kita. Project kita ApplicationID dideklarasikan di file modul aplication build.gradle saja.

Baris application project(:app) di file build.gradle modul base kita (lihat di atas) memastikan bahwa atribut single project applicationID disebarkan di semua file build.gradle kita, oleh karena itu atribut ini hilang dari project kita.

3. Modul Feature

Ketika Anda akhirnya kembali untuk menambahkan Instant App Ssupport ke proyek yang ada, tugas terbesar Anda akan mengekstrak setiap fitur aplikasi Anda ke dalam modul feature miliknya sendiri, karena setiap modul feature berisi kode dan sumber daya/resource yang diperlukan untuk mengirimkan fitur ini saja.

Jika Anda membuka modul feature proyek kita, Anda akan melihat bahwa itu berisi kelas MainActivity, plus file activity_main dan content_main - pada dasarnya semua komponen yang disertakan dalam template Basic Activity.

Apa fungsi google play instant
Apa fungsi google play instant
Apa fungsi google play instant

Modul single feature dapat terdiri dari beberapa Activity, namun masing-masing modul harus memiliki setidaknya satu Activity yang ditetapkan sebagai modul entry-point Activity ini.

Setiap entry-point Activity dipetakan ke URL tertentu, sehingga ketika pengguna klik URL ini, URL akan memuat Activity yang terkait dan pengguna memiliki akses ke modul feature khusus ini.

Anda menunjuk entry-point Activity module melalui manifest modul itu. Intinya, Anda perlu membuka file ini dan menambahkan berikut ini ke Activity yang ingin Anda gunakan sebagai entry-point Anda:

  • Intent filter, dengan CATEGORY_LAUNCHER dan ACTION_MAIN.
  • Elemen <data> berisi semua informasi tentang URL yang ingin dipetakan ke Activity entri ini.
  • Android:autoVerify atribut Ini memberitahu sistem untuk memeriksa apakah aplikasi Anda memiliki izin untuk bertindak sebagai default handler untuk URL khusus ini. Ini adalah mekanisme keamanan penting yang membantu melindungi pemilik situs web dari aplikasi berbahaya yang mungkin mencoba membajak URL mereka.

Jika Anda membuka file modul manifest program kita, Anda akan melihat bahwa semua kode ini telah ditambahkan ke deklarasi MainActivity kita:

<activity android:name=".MainActivity" android:label="@string/app_name" android:theme="@style/AppTheme.NoActionBar"> <intent-filter android:order="1"> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.BROWSABLE" /> <category android:name="android.intent.category.DEFAULT" /> <data android:host="jessicathornsby.com" android:path="www.example.com/MainActivity" android:scheme="https" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <intent-filter android:autoVerify="true">

File terakhir yang akan kita lihat di modul ini adalah file build.gradle, yang berisi beberapa baris kode penting:

//Again, we’re using com.android.feature plugin, rather than com.android.application// apply plugin: 'com.android.feature' android { //As previously mentioned, this section is missing an ‘applicationID’ attribute// … … … dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) //All feature modules have a dependency on the base feature module, which we’re declaring here// implementation project(':base') testImplementation 'junit:junit:4.12'

Karena semua modul feature bergantung pada modul feature base, pertama kali pengguna meminta fitur apa pun dari aplikasi Anda, mereka akan menerima modul feature base beserta modul feature yang sebenarnya mereka coba akses.

Perhatikan bahwa meskipun proyek khusus ini terdiri dari modul feature base dan modul feature, jika aplikasi Anda hanya memiliki satu fitur yang ingin Anda sediakan sebagai Aplikasi Instan, mungkin Anda membuat proyek yang hanya terdiri dari modul fitur dasar . Kita akan melihat kedua "type" proyek Aplikasi Instan sepanjang seri ini.

4. Modul Instant App

Modul Instant App memiliki tujuan sederhana: ia bertindak sebagai wadah yang mengambil semua modul feature Anda dan mengubahnya menjadi APK Instant App.

Jika Anda membuka modul Instant App ini, Anda akan melihat bahwa itu cukup kosong selain file build.gradle, yang cukup menyatakan modul feature base Anda dan modul feature Anda sebagai dependensi:

apply plugin: 'com.android.instantapp' dependencies { implementation project(':feature') implementation project(':base') }

Menguji Aplikasi Anda

Karena proyek ini tidak berisi App Links, kita tidak dapat menguji komponen instant Appnya, namun kita tetap dapat menjalankan proyek ini sebagai aplikasi yang dapat diinstal. Ini mungkin tidak terlalu menarik, namun mengingat sebagian besar kode dan sumber proyek kita ada di modul instant App feature, penting untuk menguji bagaimana proyek kita berfungsi sebagai aplikasi yang dapat diinstal.

Launch AVD yang telah kita buat sebelumnya atau hubungkan smartphone atau tablet Android fisik yang kompatibel ke mesin development Anda, lalu pilih Run> Run ...> app dari toolbar Android Studio.

Terlepas dari kenyataan bahwa semua kode MainActivity kita terletak di modul feature, setelah aplikasi kita dimuat, Anda akan melihat tombol floating action MainActivity (FAB) dan pesan Hello World. Yangkita  lihat di sini adalah modul aplikasi kita yang mengambil code dan resource yang terdapat di fitur aplikasi Instan dan modul feature base terpisah, dan menggabungkannya menjadi aplikasi yang dapat diinstal.

Kesimpulan

Dalam tutorial ini, kami melihat bagaimana Instant Apps bekerja, dan mengeksplorasi berbagai alasan mengapa Anda ingin menambahkan Instant App support ke proyek Android Anda.

Dalam dunia yang ideal, keputusan Anda untuk mulai mengeksplorasi Instant Apps akan sangat sesuai dengan dimulainya proyek Android baru, namun sayangnya, karena pengembangan jarang mudah dilakukan! Kemungkinan besar Anda harus mengonfigurasi ulang proyek yang ada untuk mendukung Aplikasi Instan, yang tidak cukup dan semudah memilih kotak centang di wizard pembuatan proyek Android Studio!

Di posting berikutnya, kita akan melihat secara mendalam bagaimana menambahkan instant app support ke project yang ada. Saya juga akan menunjukkan cara menerapkan Tautan Aplikasi, sehingga pada akhir posting berikutnya Anda telah membuat Aplikasi Instan yang berfungsi penuh yang dapat Anda luncurkan dan uji pada perangkat AVD atau Android yang kompatibel.

Tetap disini! Dan sementara itu, lihat beberapa posting kami yang lain mengenai pengembangan aplikasi Android.