Lay of the Land

Peter Conn
Peter Conn

Ada cukup banyak ekosistem di sekitar Aktivitas Web Tepercaya dan cukup sulit untuk melihat hubungan semuanya dan apa yang harus Anda gunakan. Artikel ini diharapkan dapat mengatasi hal tersebut.

Jika Anda baru menggunakan Aktivitas Web Tepercaya atau hanya mencari kumpulan alat yang direkomendasikan yang harus Anda gunakan saat ini, berikut hal yang perlu Anda ketahui:

  • Bubblewrap: alat NodeJS yang memungkinkan developer membuat dan mem-build APK Android yang menggabungkan PWA yang ada. Aplikasi yang dihasilkan didukung oleh Aktivitas Web Tepercaya, tetapi ini bersifat transparan bagi developer. Tidak perlu pengalaman pengembangan Android. Lihat dokumentasi Bubblewrap untuk memulai.
  • android-browser-helper: Library Android yang mengenkapsulasi protokol Trusted Web Activities. Direkomendasikan untuk developer yang sudah memahami pengembangan Android dan ingin menggunakan Aktivitas Web Tepercaya sebagai salah satu Aktivitas di Aplikasi Android mereka atau membuat penyesuaian yang tidak didukung oleh Bubblewrap. Untuk memulai android-browser-helper, lihat dokumentasi dan demo kami.

Bagian berikutnya memberikan ringkasan singkat tentang semua project yang saling terkait. Terakhir (untuk yang benar-benar penasaran), ada bagian histori untuk menunjukkan kepada Anda bagaimana kami sampai di sini dan ke mana kami berencana untuk melangkah dalam waktu dekat.

Ringkasan library

Berikut adalah ringkasan singkat dalam satu kalimat dari setiap library yang mungkin Anda gunakan:

  • androidx.browser, library Android untuk berinteraksi dengan browser yang diinstal di perangkat pengguna.
  • Android Browser Helper, library yang dibuat di androidx.browser untuk klien Aktivitas Web Tepercaya yang menyediakan metode praktis dan default yang masuk akal.
  • Bubblewrap, alat untuk membuat Aktivitas Web Tepercaya dari PWA tanpa menyentuh kode Java apa pun.

Selain itu, setiap library/alat ini menggantikan library/alat yang lebih lama:

Histori

Android Support Library

Android Support Library memperluas platform Android dengan API baru dan fitur kompatibilitas. Library ini dibagi menjadi beberapa paket, dengan Custom Tabs Support Library yang berisi fungsi untuk berinteraksi dengan browser di sistem pengguna. Pengembangan Support Library Custom Tabs terutama dilakukan di repo GitHub custom-tabs-client, dengan perubahan yang di-upstream kembali ke Android Support Library.

Tab Kustom adalah Aktivitas Android yang menggunakan browser untuk menampilkan halaman web. Manfaat utama bagi developer adalah aplikasi ini dapat diberi tema dan memiliki tombol tutup, sehingga pengguna tetap berada di aplikasi developer (bukan keluar dari aplikasi dan membuka pengalaman browser lengkap). Sebagai Android API, Tab Khusus dapat didukung oleh browser apa pun dan akan menggunakan browser default pengguna (meskipun ini dapat diganti oleh developer).

Karena Aktivitas Web Tepercaya dibuat di atas Tab Kustom, aktivitas ini dimulai di library custom-tabs-client ini. Aktivitas Web Tepercaya menghapus panel atas Tab Kustom saat pengguna menjelajahi situs yang dimiliki oleh developer aplikasi. Hal ini membuka peluang untuk integrasi yang lancar dari situs Anda dalam aplikasi Android native, dan dapat digunakan untuk membuat aplikasi dengan semua fungsi yang disediakan oleh web.

AndroidX

Android Support Library kemudian berganti nama menjadi AndroidX, yang merupakan bagian dari upaya yang lebih besar untuk meningkatkan pengalaman developer yang disebut JetPack. Jadi, Tab Khusus dan Aktivitas Web Tepercaya harus dipindahkan dari Support Library Custom Tabs ke androidx.browser baru.

Beberapa kode yang telah kita tulis di custom-tabs-client sesuai untuk library class helper Aktivitas Web Tepercaya, tetapi tidak untuk Android API. Kode yang menangani pemeriksaan versi Chrome yang sudah tidak berlaku dan meminta pengguna untuk mengupdate atau membuat keputusan tentang cara data harus disimpan tidak dapat dipindahkan ke AndroidX. Oleh karena itu, kami membuat library alternatif untuk memuat bagian custom-tabs-client ini yang tidak dapat masuk ke androidx.browser, sehingga Android Browser Helper lahir.

Android Browser Helper dibuat untuk berisi kode yang dapat spesifik untuk browser (tidak hanya Chrome, kami terbuka untuk kode khusus untuk browser lain) dan dapat membuat keputusan konkret yang tidak boleh dilakukan library. Kami memanfaatkan kesempatan ini untuk secara umum memisahkan peran kedua library ini:

  • androidx.browser berisi elemen penyusun dasar untuk berinteraksi dengan browser di sistem pengguna.
  • Android Browser Helper berisi implementasi default yang mudah digunakan dan masuk akal.

Bootstrap

Developer adalah orang yang sibuk, dengan banyak pekerjaan yang harus dilakukan dan tenggat waktu yang harus dipenuhi. Untuk membantu hal ini, kami membuat dua alat agar pengguna dapat mem-bootstrap Aktivitas Web Tepercaya mereka.

Yang pertama (dan tertua) adalah svgomg-twa, yang merupakan Project Android yang dihosting GitHub yang meluncurkan Trusted Web Activity. Awalnya, aplikasi ini dirancang sebagai project demo yang berkembang menjadi lebih banyak template. Pengguna dapat meng-clone repo tersebut dan mengubah file build.gradle untuk mengarah ke situs mereka sendiri, mem-build-nya, dan menghasilkan Aktivitas Web Tepercaya tanpa menyentuh kode Java apa pun. (Untuk memverifikasi Digital Asset Links, Anda harus melakukan lebih banyak upaya. Baca selengkapnya di sini.)

svgomg-twa awalnya bergantung pada custom-tabs-client, tetapi kemudian dipindahkan ke Android Browser Helper (dan secara transitif androidx.browser).

Alat terbaru dan paling canggih adalah Bubblewrap, alat Node.js yang akan mengambil Manifes Aplikasi Web Anda dan membuat Aktivitas Web Tepercaya untuk Anda. Ini adalah cara termudah untuk membuat Aktivitas Web Tepercaya dari PWA yang ada dan tidak memerlukan pengetahuan pengembangan Android apa pun.

Dalam Waktu Dekat

Kami akan menghentikan penggunaan svgomg-twa karena dua alasan:

  • Bubblewrap pada dasarnya menghasilkan svgomg-twa yang terisi untuk developer. Hal ini dilakukan secara interaktif dan dapat mengambil konfigurasi dari manifes Aplikasi Web (yang kemungkinan sudah dimiliki PWA).
  • Jika developer menginginkan referensi tentang cara memulai project Aktivitas Web Tepercaya mereka sendiri dari awal, mereka dapat melihat direktori demo Android Browser Helpers.

Developer baru sebaiknya menggunakan Bubblewrap untuk membuat project mereka. Jika sudah menggunakan svgomg-twa dan telah melakukan beberapa modifikasi berat, Anda dapat terus melakukannya, tetapi tidak akan mendapatkan update.

Kami berencana untuk membuat Bubblewrap semaksimal mungkin, jadi jika ada fitur yang jelas-jelas tidak ada atau Anda menemukan bug, jangan ragu untuk membuat masalah.