Android Instant Apps: Praktik terbaik untuk mengelola ukuran download
24 November 2017
Diposting oleh Maru Ahues Bouza, Developer Relations Partner, Google Play
Android Instant Apps menyediakan pengalaman native yang kaya saat kita menge-tap link web. Pengguna bisa mencoba aplikasi Anda tanpa menginstall terlebih dahulu, yang memungkinkan tingkat dan kualitas interaksi yang lebih tinggi.
Namun, untuk memberi latensi yang berimbang dalam pemuatan halaman mobile web, instant app harus kecil dan terstruktur dengan baik, sehingga bisa didownload dan dijalankan dengan cepat saat merespons tap URL. Mengingat hal itu, kami menganjurkan agar binary yang dimuat dalam merespons URL titik-masuk dibuat sekecil mungkin, maksimum 4MB. Semakin kecil binary, semakin cepat instant app akan dimuat dan semakin halus pengalaman pengguna.
Dokumen ini akan menjelaskan praktik terbaik guna mengelola struktur aplikasi dan ukuran binary untuk memungkinkan pengalaman instant app yang mulus. Praktik ini juga menguntungkan buat aplikasi yang dapat diinstal.
Untuk mencapai tujuan tersebut, Anda bisa memulai dengan modul (dasar) tunggal dan kemudian mengoptimalkan kode dengan memindahkan bagian yang relevan ke modul fitur. Perhatikan bahwa Anda tidak perlu khawatir tentang ukuran binary saat mengembangkan instant app, karena batas ukuran tidak diberlakukan untuk binary yang dibangun secara lokal. Anda juga bisa mempublikasikan binary melalui Play Developers Console ke jalur Development (jalur khusus untuk penerapan instant app secara cepat selama development), dengan batas ukuran 10MB. [1, 2] Pembatasan 4MB diterapkan setelah output binary Anda keluar dari jalur Development.
Setiap modul fitur bisa memiliki satu (atau beberapa) titik masuk – aktivitas – yang berhubungan dengan URL yang diberikan. Saat memecah basis kode tunggal menjadi beberapa modul, Anda akan memiliki titik masuk yang berbeda untuk fitur yang berbeda, dan platform tersebut akan memuat fitur yang relevan sesuai kebutuhan. Ingatlah, binary total yang akan didownload untuk titik masuk tertentu harus di bawah 4MB, jadi ukuran gabungan dari setiap modul fitur dan modul dasar harus di bawah 4MB.
Disarankan untuk menetapkan pemetaan fitur–aktivitas–titik masuk terlebih dahulu, kemudian menyusun upaya pengoptimalan untuk mengurangi ukuran binary bagi setiap titik masuk.
Pertimbangkan juga bagaimana pustaka Anda disertakan. Bila modul fitur spesifik memerlukan pustaka tertentu, pustaka tersebut sebaiknya hanya disertakan dalam modul fitur, bukannya ditambahkan dalam APK dasar. Ini akan mengurangi ukuran modul dasar. Misalnya, katakanlah Anda memiliki aplikasi yang bergantung pada pustaka X, Y, dan Z. Awalnya, Anda mungkin memasukkan semua pustaka dalam modul dasar dengan menempatkan semua dependensi di file gradle.build dasar. Tetapi kalau kode pada modul fitur memerlukan pustaka Z, bisa dimengerti bila dependensi dipindahkan dari modul dasar ke modul fitur. Ini dapat dilakukan asalkan tidak ada modul fitur lain yang bergantung pada pustaka yang sama. Bila beberapa modul fitur menggunakan pustaka yang sama, sebaiknya disimpan dalam modul dasar.
Tentu saja, menggunakan drawable vektor membuat Anda mempunyai lebih banyak ruang yang berharga, tetapi menggunakan drawable vektor memerlukan perubahan kode sedangkan trik dengan gambar WebP untuk instant app dan gambar PNG untuk APK dapat diinstal yang disebutkan di atas tidak memerlukan modifikasi kode.
Bila penyusutan sumber daya tidak menyebabkan ukuran modul fitur aplikasi Anda di bawah batas, sekarang saatnya mencari cara untuk mengurangi ukuran kode.
Android Studio memiliki beberapa fitur yang berguna untuk menganalisis dependensi eksternal bagi proyek. Selalu membantu bila memulai dengan tampilan Project:
Tampilan "Project" menunjukkan bagian yang disebut "External libraries", tempat Anda bisa melihat semua pustaka yang digunakan proyek, termasuk setiap dependensi transitif:
Untuk mengurangi ukuran fitur dasar lebih banyak lagi, Anda mungkin harus memerhatikan dependensi kode dan pustaka eksternal. Periksa tampilan "Project" dan cari pustaka tidak terpakai yang mungkin merupakan dependensi transitif yang tidak dibutuhkan proyek. Cari juga pustaka yang menyediakan fungsionalitas yang sama (misalnya beberapa pustaka untuk pemuatan/caching gambar). [4]
Anda juga bisa membandingkan versi-versi yang berbeda dengan alat APK Analyzer, dan ini dapat digunakan juga dengan APK instant.
Yang terakhir, tinjau kembali daftar dependensi transitif dan keluarkan yang tidak Anda butuhkan. Gunakan perintah berikut untuk meninjau grafik dependensi:
Setelah Anda berhasil mengecilkan bundel instant app di bawah batas ukuran, saatnya untuk memastikan bahwa proses pembangunan sudah mutakhir. Pastikan APK instant app dan paket aplikasi ditandatangani menggunakan "APK Signature Scheme v2". Jika Anda menandatangani APK menggunakan fitur SDK versi terbaru, semua harus dilakukan secara otomatis. Namun, jika Anda secara manual menandatangani artefak versi, Anda harus menghindari penggunaan jarsigner dan sebagai gantinya beralih ke apksigner.
Dan beberapa tips berguna untuk menyelaraskan kode aplikasi ke dalam lingkungan waktu proses instan. Harap ingat bahwa memiliki sedikit cabang kode untuk aplikasi dapat diinstal/instan, berdasarkan InstantApps.isInstantApp(...), seharusnya tidak bermasalah dan biasanya tidak membuat kode sumber tidak terbaca (kecuali jika Anda menyalahgunakannya). Selain itu, ketika menggunakan intent berbagi, pastikan kode tersebut tidak secara eksplisit menghitung aplikasi yang terinstal pada perangkat, model keamanan instant app tidak mengizinkannya. Cukup gunakan Intent.createChooser() reguler untuk menampilkan daftar semua tindakan yang dapat dilakukan pengguna.
Tingkat kesulitan pengembangan instant app untuk aplikasi Android yang ada bervariasi antar developer dan sangat bergantung pada bagaimana aplikasi Anda diatur saat ini. Bagi beberapa developer, ini memudahkan karena proyek Anda sudah diatur menjadi beberapa modul. Namun, bagi yang lain, fokusnya adalah mengurangi ukuran aset sumber daya dan kode, dan kami telah memperkenalkan alat dan fitur platform Android di atas untuk membantu Anda melakukannya.
Android Instant Apps menyediakan pengalaman native yang kaya saat kita menge-tap link web. Pengguna bisa mencoba aplikasi Anda tanpa menginstall terlebih dahulu, yang memungkinkan tingkat dan kualitas interaksi yang lebih tinggi.
Namun, untuk memberi latensi yang berimbang dalam pemuatan halaman mobile web, instant app harus kecil dan terstruktur dengan baik, sehingga bisa didownload dan dijalankan dengan cepat saat merespons tap URL. Mengingat hal itu, kami menganjurkan agar binary yang dimuat dalam merespons URL titik-masuk dibuat sekecil mungkin, maksimum 4MB. Semakin kecil binary, semakin cepat instant app akan dimuat dan semakin halus pengalaman pengguna.
Dokumen ini akan menjelaskan praktik terbaik guna mengelola struktur aplikasi dan ukuran binary untuk memungkinkan pengalaman instant app yang mulus. Praktik ini juga menguntungkan buat aplikasi yang dapat diinstal.
Mengoptimalkan basis kode Anda
Keuntungan ukuran binary terbesar berasal dari pengoptimalan aplikasi Anda ke dalam beberapa modul fitur. Meskipun ukuran dan set fitur Anda saat ini tidak memerlukan banyak fitur, sebaiknya Anda merancangnya demikian, sehingga Anda bisa dengan cepat menambahkan lebih banyak fitur di masa mendatang tanpa memengaruhi ukuran binary dari fitur yang sudah ada. Kami juga sangat merekomendasikan penggunaan basis kode modular terpadu untuk menghasilkan binary aplikasi instan dan aplikasi yang diinstal, karena hal ini akan mengurangi beban pemeliharaan kode dan proyek yang terpisah dan menyediakan struktur proyek yang lebih bersih pada keduanya. Berdasarkan pengalaman mitra akses awal kami, kami yakin ini akan memiliki dampak terbesar terhadap ukuran binary saat mendownload. Namun, ini juga membutuhkan investasi paling banyak.Untuk mencapai tujuan tersebut, Anda bisa memulai dengan modul (dasar) tunggal dan kemudian mengoptimalkan kode dengan memindahkan bagian yang relevan ke modul fitur. Perhatikan bahwa Anda tidak perlu khawatir tentang ukuran binary saat mengembangkan instant app, karena batas ukuran tidak diberlakukan untuk binary yang dibangun secara lokal. Anda juga bisa mempublikasikan binary melalui Play Developers Console ke jalur Development (jalur khusus untuk penerapan instant app secara cepat selama development), dengan batas ukuran 10MB. [1, 2] Pembatasan 4MB diterapkan setelah output binary Anda keluar dari jalur Development.
Setiap modul fitur bisa memiliki satu (atau beberapa) titik masuk – aktivitas – yang berhubungan dengan URL yang diberikan. Saat memecah basis kode tunggal menjadi beberapa modul, Anda akan memiliki titik masuk yang berbeda untuk fitur yang berbeda, dan platform tersebut akan memuat fitur yang relevan sesuai kebutuhan. Ingatlah, binary total yang akan didownload untuk titik masuk tertentu harus di bawah 4MB, jadi ukuran gabungan dari setiap modul fitur dan modul dasar harus di bawah 4MB.
Disarankan untuk menetapkan pemetaan fitur–aktivitas–titik masuk terlebih dahulu, kemudian menyusun upaya pengoptimalan untuk mengurangi ukuran binary bagi setiap titik masuk.
Pertimbangkan juga bagaimana pustaka Anda disertakan. Bila modul fitur spesifik memerlukan pustaka tertentu, pustaka tersebut sebaiknya hanya disertakan dalam modul fitur, bukannya ditambahkan dalam APK dasar. Ini akan mengurangi ukuran modul dasar. Misalnya, katakanlah Anda memiliki aplikasi yang bergantung pada pustaka X, Y, dan Z. Awalnya, Anda mungkin memasukkan semua pustaka dalam modul dasar dengan menempatkan semua dependensi di file gradle.build dasar. Tetapi kalau kode pada modul fitur memerlukan pustaka Z, bisa dimengerti bila dependensi dipindahkan dari modul dasar ke modul fitur. Ini dapat dilakukan asalkan tidak ada modul fitur lain yang bergantung pada pustaka yang sama. Bila beberapa modul fitur menggunakan pustaka yang sama, sebaiknya disimpan dalam modul dasar.
Pemeriksaan lint
Banyak aplikasi cenderung mendapatkan banyak sumber daya, dan selama periode waktu tertentu, sebagian dari sumber daya itu tidak lagi digunakan. Android Studio memiliki pemeriksaan lint bawaan berdaya guna untuk memeriksa sumber daya yang tidak terpakai. Tekan Alt+Ctrl+Shift+I (Cmd+Alt+Shift+I pada Mac OS), ketik "unused resources" dan jalankan pemeriksaan "Unused resources Android|Lint|Performance". Ini juga membantu mengurangi ukuran APK yang diinstal.Sumber daya string
Serupa dengan sumber daya, perhatikan string, tidak semuanya dibutuhkan, dan biasanya ukuran aplikasi bisa dikurangi secara signifikan dengan menghapus sumber daya string yang tidak terpakai. Bila aplikasi mendukung banyak bahasa, Anda mungkin mau mengurangi jumlah sumber daya yang dilokalkan, karena ini biasanya menghapus sebagian besar aset sumber daya. Ini sangat penting jika aplikasi hanya mendukung beberapa bahasa tetapi menggunakan pustaka AppCompat, yang memuat pesan dalam banyak bahasa. Gunakan resConfig untuk memilih konfigurasi sumber daya tertentu saja. Petunjuk: biasanya Anda bisa menggunakan "auto" untuk membatasi konfigurasi yang diambil dari pustaka pihak ketiga agar cocok dengan set konfigurasi yang ditetapkan dalam proyek Anda.Beralih ke WebP
Pengurangan signifikan dari ukuran sumber daya drawable bisa dicapai dengan beralih ke gambar WebP sebagai ganti PNG. Android Instant Apps mendukung semua fitur dalam format WebP (transparansi, lossless, dll.) sehingga tidak akan ada fungsionalitas yang hilang. Harap ingat bahwa ikon peluncur aplikasi harus menggunakan format PNG, tetapi seharusnya ini tidak menjadi masalah karena proyek biasanya menyimpannya di direktori mipmap-. Bila memerlukan solusi kompatibel mundur, Anda harus menyertakan gambar PNG asli dalam modul APK dan ia akan menggantikan sumber daya WebP secara otomatis (set sumber daya utama menggantikan semua sumber daya dari modul fitur/AAR). [4]Tentu saja, menggunakan drawable vektor membuat Anda mempunyai lebih banyak ruang yang berharga, tetapi menggunakan drawable vektor memerlukan perubahan kode sedangkan trik dengan gambar WebP untuk instant app dan gambar PNG untuk APK dapat diinstal yang disebutkan di atas tidak memerlukan modifikasi kode.
Download aset pada waktu proses
Yang terakhir, ingatlah bahwa secara teknis tidak perlu memasukkan semua sumber daya di APK instant app, karena aplikasi tersebut bisa mendownload aset tambahan pada waktu proses. Pendekatan ini juga memungkinkan agar aplikasi hanya mendownload aset yang dibutuhkan. Modifikasi ini mungkin memerlukan perubahan yang signifikan pada basis kode, namun juga akan membantu Anda mengurangi ukuran APK dapat diinstal.Bila penyusutan sumber daya tidak menyebabkan ukuran modul fitur aplikasi Anda di bawah batas, sekarang saatnya mencari cara untuk mengurangi ukuran kode.
Review native libraries
Beberapa library pihak ketiga mungkin menyertakan kode asli, yang mungkin sama sekali tidak digunakan dalam instant app. Jadi langkah pertama adalah meninjau pustaka asli yang dimasukkan ke dalam APK dan memastikan instant app hanya memuat kode yang benar-benar digunakan. Ingatlah untuk memeriksa ke dalam APK yang dikompilasi menggunakan APK Analyzer (Build -> APK Analyzer…) [5]Review external libraries
Berikutnya adalah meninjau daftar semua pustaka eksternal yang terhubung dengan kode aplikasi. Anda mungkin menjumpai beberapa kejutan tak terduga dari dependensi transitif. Dependensi transitif terjadi ketika pustaka yang penting bagi proyek Anda bergantung pada pustaka lain, yang nantinya mungkin bergantung pada pustaka yang lainnya lagi. Terkadang dependensi transitif tersebut mungkin berisi kejutan tak terduga misalnya pustaka yang sama sekali tidak Anda butuhkan (yaitu pustaka pemrosesan JSON yang tidak digunakan dalam kode Anda.) Silakan lihat bagian "Meniadakan dependensi transitif" di Panduan Pengguna Gradle untuk informasi selengkapnya.Android Studio memiliki beberapa fitur yang berguna untuk menganalisis dependensi eksternal bagi proyek. Selalu membantu bila memulai dengan tampilan Project:
Tampilan "Project" menunjukkan bagian yang disebut "External libraries", tempat Anda bisa melihat semua pustaka yang digunakan proyek, termasuk setiap dependensi transitif:
Untuk mengurangi ukuran fitur dasar lebih banyak lagi, Anda mungkin harus memerhatikan dependensi kode dan pustaka eksternal. Periksa tampilan "Project" dan cari pustaka tidak terpakai yang mungkin merupakan dependensi transitif yang tidak dibutuhkan proyek. Cari juga pustaka yang menyediakan fungsionalitas yang sama (misalnya beberapa pustaka untuk pemuatan/caching gambar). [4]
Anda juga bisa membandingkan versi-versi yang berbeda dengan alat APK Analyzer, dan ini dapat digunakan juga dengan APK instant.
Yang terakhir, tinjau kembali daftar dependensi transitif dan keluarkan yang tidak Anda butuhkan. Gunakan perintah berikut untuk meninjau grafik dependensi:
gradle -q :MODULE:dependencies --configuration compile
. Penjelasan lebih lanjut bisa ditemukan dalam dokumentasi Gradle. Tips lainnya
Android Studio 3.0 menyertakan alat App Links Assistant, yang bisa membantu menghasilkan filter intent yang diperlukan, dan membantu memecah proyek menjadi beberapa modul. [3]Setelah Anda berhasil mengecilkan bundel instant app di bawah batas ukuran, saatnya untuk memastikan bahwa proses pembangunan sudah mutakhir. Pastikan APK instant app dan paket aplikasi ditandatangani menggunakan "APK Signature Scheme v2". Jika Anda menandatangani APK menggunakan fitur SDK versi terbaru, semua harus dilakukan secara otomatis. Namun, jika Anda secara manual menandatangani artefak versi, Anda harus menghindari penggunaan jarsigner dan sebagai gantinya beralih ke apksigner.
Dan beberapa tips berguna untuk menyelaraskan kode aplikasi ke dalam lingkungan waktu proses instan. Harap ingat bahwa memiliki sedikit cabang kode untuk aplikasi dapat diinstal/instan, berdasarkan InstantApps.isInstantApp(...), seharusnya tidak bermasalah dan biasanya tidak membuat kode sumber tidak terbaca (kecuali jika Anda menyalahgunakannya). Selain itu, ketika menggunakan intent berbagi, pastikan kode tersebut tidak secara eksplisit menghitung aplikasi yang terinstal pada perangkat, model keamanan instant app tidak mengizinkannya. Cukup gunakan Intent.createChooser() reguler untuk menampilkan daftar semua tindakan yang dapat dilakukan pengguna.
Tingkat kesulitan pengembangan instant app untuk aplikasi Android yang ada bervariasi antar developer dan sangat bergantung pada bagaimana aplikasi Anda diatur saat ini. Bagi beberapa developer, ini memudahkan karena proyek Anda sudah diatur menjadi beberapa modul. Namun, bagi yang lain, fokusnya adalah mengurangi ukuran aset sumber daya dan kode, dan kami telah memperkenalkan alat dan fitur platform Android di atas untuk membantu Anda melakukannya.
Apa kata developer lain yang menggunakan Android Instant Apps
Yang terakhir, bacalah postingan sangat menarik berikut ini oleh developer yang telah membangun instant app:- Buzzfeed: From Westinghouse to Android Instant apps, a BuzzFeed Journey
- Realestate.com.au: Building the realestate.com.au Android Instant App
- WillowTree: An introduction to Android Instant Apps
- Jet.com: Make Your App Instant
- Vimeo: Android Instant Apps, step-by-step: how Vimeo went about it
- Ticketmaster: Ticketmaster Demonstrates Cutting Edge Android Instant Apps Technology at Google I/O
- Domain: Making the Domain Android App Instant
Android Instant Apps, mempermudah link download
ReplyDeleteDewapoker Terbesar di indonesia Menyediakan banyak pilihan game, salah satunya adalah game poker, Dewa Poker online memiliki member aktif dan hal menarik pada Dewa Poker menyediakan tournament poker yang dapat memberikan bonus hingga jutaan rupiah, raih kesempatan terbaik kamu dalam tournament poker di dewapoker, ayo.. gabung bersama Dewapoker online dan dapatkan hadiah jutaan rupiah.
Keuntungan ukuran binary terbesar berasal dari pengoptimalan aplikasi Anda ke dalam beberapa modul fitur.
ReplyDeleteDi internet sekarang banyak ssekali bermunculan situs judi online yang banyak di inginkan oleh bettor untuk bermain judi, namun perlu di perhatikan dan di waspadai, karena ada sebagian situs judi online yang tidak terpercaya dan memiliki banyak masalah soal penipuan. Maka dari itu anda perlu mencari tahu terlebih dahulu situs judi online yang ingin anda mainkan tersebut dan mencari tahu dari para pemain yang sudah bermain di situs tersebut. Jika anda kurang yakin dengan situs judi online yang anda temui dan susah mencari situs yang terpercaya, kami memberikan Daftar Agen Judi Online Terpercaya Indonesia 2019:
dewapoker
dewa poker
poker88
poker online
poker online
Keuntungan ukuran binary terbesar berasal dari pengoptimalan aplikasi Anda ke dalam beberapa modul fitur.
ReplyDeleteJudi online adalah suatu permainan yang banyak diminati oleh sebagian orang dari berbagai penjuru dunia karena bisa mendapatkan keuntungan yang besar dan dapat dimainkan kapan pun dan di manapun hanya menggunakan smartphone anda. Keberagaman permainan judi online membuat para pecinta judi bisa memainkan judi yang diinginkan hanya dengan menggunakan 1 akun di situs tertentu. Namun untuk memilih agen taruhan online terpercaya tidak semudah seperti membalikkan telapak tangan begitu saja. Semua pemain judi ketika akan mendaftar di situs taruhan online wajib hukumnya memilih sebuah situs yang sudah produktif dalam pelaksanaan layanannya seperti beberapa situs di bawah ini :
judi bola
togel hk
togel hongkong
judi bola
poker online
Segera daftarkan diri anda untuk bergabung dengan kami di permainan Poker Online terbaik dan terpercaya se-Asia. Salah satu situs Poker Online terpercaya adalah Sobatpoker dengan hadiah-hadiah menarik yang selalu menunggu anda dan para pencinta poker online Asia.
ReplyDeleteSobatpoker
Poker Online
Link alternatif sobatpoker
r Kevin Cernekee, said he was fired in June 2018 because of his political views. Google said it let him go because he downloaded confidential material to a USB drive and broke other internal polic
ReplyDeletehttp://www.dreanpriatama.web.id/
ReplyDeletebecause of his political views. Google said it let him go because he downloaded confidential material to a
http://www.kulinerindonesia.web.id/
So helpful tutorial, thanks
ReplyDeletehttps://nativecasinos.ca/online-casino/aristocrat
Mr Damore dlive wrote dlive a memo dlive suggesting genetic differences between dlive men and women dlive explained gender dlive tv tr imbalances in the dlive tech world.
ReplyDeleteTogelSGP
ReplyDeleteTvsports adalah Agen / Website Judi yang aman dan terpecaya
Bagi para pecinta judi online pastinya sudah tidak asing dengan yang namanya Baccarat, Dragon Tiger, Roullete, SicBo dan masih banyak lainnya
Sportbooks dan Togel juga sudah mendunia seperti AFB, M8, dan UnitedGaming sportbooks yang sudah mendunia
TogelSGP, TogelSydney, TogelHongkong ketiga Togel yang mendunia.
Kami juga menawarkan banyak promo promo menarik untuk member setia kami
dan pastinya kami melayani 24jam nonstop. Pelayanan yang cepat dan dengan CS yang sopan dan berpengalaman.
Permainan poker pastinya banyak di kalangan remaja hingga dewasa yang sangat menggemari permainan poker, apalagi dalam 1 id game ada banyak permainan kartunya silahkan kunjungi situs kami untuk merasakan kenyamanan dalam bermain.
ReplyDeletedeposit poker pulsa 10 ribu
agen idn poker
live chat idnplay
daftar poker889
daftar poker899
buat akun poker899
cara daftar idn poker 899
cara daftar idn poker 889
cara daftar poker899
daftar idn poker play
daftar akun poker899
link daftar poker899
link poker899
cara daftar idn poker899
cosa guardare stasera in tv
ReplyDeletehttps://www.daftarpemandanganindah.web.id/ dan Menakjubkan Dari Seluruh Dunia, Rute Wisata, Jalan-jalan, Travelling, BackPacker
ReplyDelete
ReplyDeletejapon genç yaşlı seks hd lezbiyen porno straponlu gaylı lezbiyen hd sikis seyret
Daftar yang sangat bagus. Terima kasih telah berbagi blog yang luar biasa
ReplyDeletePatient Monitoring
Patient Monitoring
Chronic Care Management
This website can let you play a game for free!
ReplyDeletedewabet link alternatif
domino88 uang asli
good information amazing to talkeing my bro. g
ReplyDelete