Saat pengguna menambahkan Progressive Web App Anda ke layar utama di Android, Chrome akan otomatis membuat APK untuk Anda, yang terkadang kami sebut WebAPK. Dengan diinstal melalui APK, aplikasi Anda dapat muncul di peluncur aplikasi, di setelan aplikasi Android, dan mendaftarkan serangkaian filter intent.
Menginstal PWA di Android tidak hanya menambahkan Progressive Web App ke Layar Utama pengguna. Chrome otomatis membuat dan menginstal APK khusus aplikasi Anda. Terkadang kami menyebutnya sebagai WebAPK. Dengan diinstal melalui APK, aplikasi Anda dapat muncul di peluncur aplikasi, di setelan aplikasi Android, dan mendaftarkan serangkaian filter intent.
Untuk membuat WebAPK, Chrome melihat manifes aplikasi web dan metadata lainnya. Saat update pada manifes terdeteksi, Chrome harus membuat APK baru.
Filter intent Android
Saat diinstal di Android, Progressive Web App akan mendaftarkan kumpulan filter intent untuk semua URL dalam cakupan aplikasi. Saat pengguna mengklik link yang berada dalam cakupan aplikasi, aplikasi akan terbuka, bukan membuka dalam tab browser.
Pertimbangkan manifest.json
sebagian berikut:
"start_url": "/",
"display": "standalone",
Saat aplikasi web yang menggunakannya diluncurkan dari peluncur aplikasi, aplikasi akan membuka
https://example.com/
sebagai aplikasi mandiri, tanpa browser Chrome.
WebAPK akan menyertakan filter intent berikut:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="https"
android:host="example.com"
android:pathPrefix="/" />
</intent-filter>
Jika pengguna mengklik link dalam aplikasi terinstal ke
https://example.com/read
, link tersebut akan ditangkap oleh intent dan dibuka
di Progressive Web App.
Menggunakan scope
untuk membatasi filter intent
Jika tidak ingin Progressive Web App menangani semua URL dalam situs,
Anda dapat menambahkan properti scope
ke
manifes aplikasi web. Properti scope
memberi tahu Android untuk hanya membuka aplikasi
web Anda jika URL cocok dengan origin
+ scope
. Hal ini memberi Anda kontrol atas URL
yang akan ditangani oleh aplikasi Anda, dan URL yang harus dibuka di browser.
Hal ini berguna jika Anda memiliki aplikasi dan konten non-aplikasi lainnya di domain
yang sama.
Pertimbangkan manifest.json
sebagian berikut:
"scope": "/app/",
"start_url": "/app/",
"display": "standalone",
Saat diluncurkan dari peluncur aplikasi, aplikasi akan membuka https://example.com/app/
sebagai aplikasi mandiri, tanpa browser Chrome.
Seperti sebelumnya, WebAPK yang dihasilkan akan menyertakan filter intent, tetapi dengan
atribut android:pathPrefix
yang berbeda di AndroidManifest.xml
APK:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="https"
android:host="example.com"
android:pathPrefix="/app/" />
</intent-filter>
Mari kita lihat beberapa contohnya:
https://example.com/app/
- dalam /app/
https://example.com/app/read/book
- dalam /app/
https://example.com/help/
- tidak ada di /app/
https://example.com/about/
- tidak ada di /app/
Lihat scope
untuk mengetahui informasi selengkapnya tentang
scope
, hal yang terjadi jika Anda tidak menetapkannya, dan cara menggunakannya untuk menentukan
cakupan aplikasi Anda.
Mengelola Izin
Izin berfungsi dengan cara yang sama seperti aplikasi web lainnya dan tidak dapat diminta pada waktu penginstalan. Sebagai gantinya, izin harus diminta pada waktu proses, idealnya hanya saat Anda benar-benar membutuhkannya. Misalnya, jangan meminta izin kamera saat pertama kali dimuat, tetapi tunggu hingga pengguna mencoba mengambil gambar.
Mengelola penyimpanan dan status aplikasi
Meskipun aplikasi web progresif diinstal melalui APK, Chrome menggunakan profil saat ini untuk menyimpan data apa pun, dan data tersebut tidak akan dipisahkan. Hal ini memungkinkan pengalaman bersama antara browser dan aplikasi yang diinstal. Cookie dibagikan dan aktif, penyimpanan sisi klien dapat diakses, dan pekerja layanan diinstal dan siap digunakan.
Mengupdate WebAPK
Informasi tentang cara WebAPK diupdate telah dipindahkan ke Cara Chrome menangani update pada manifes aplikasi web.
Pertanyaan umum (FAQ)
- Ikon apa yang digunakan untuk membuat layar pembuka? :
- Sebaiknya berikan minimal dua ikon: 192 piksel dan 512 piksel untuk layar pembuka. Kami telah menerima masukan dari Anda bahwa ikon di layar pembuka terlalu kecil. WebAPK yang dibuat di Chrome 71 atau yang lebih baru akan menampilkan ikon yang lebih besar di layar pembuka. Anda tidak perlu melakukan tindakan apa pun, selama ikon yang direkomendasikan diberikan.
- Apa yang terjadi jika pengguna telah menginstal aplikasi native untuk situs?
- Seperti menambahkan ke layar utama saat ini, pengguna akan dapat menambahkan situs yang tidak bergantung pada aplikasi native apa pun. Jika Anda memperkirakan pengguna berpotensi menginstal keduanya, sebaiknya bedakan ikon atau nama situs Anda dari aplikasi native Anda.
- Apakah penyimpanan situs yang saya instal akan dihapus jika pengguna menghapus cache Chrome?
- Ya.
- Apakah aplikasi saya akan diinstal ulang saat saya mendapatkan perangkat baru?
- Untuk saat ini belum, tetapi kami menganggapnya sebagai area penting dan kami sedang menyelidiki cara untuk mewujudkannya.
- Bagaimana izin ditangani? Apakah saya akan melihat perintah Chrome atau Android?
- Izin akan tetap dikelola melalui Chrome. Pengguna akan melihat perintah Chrome untuk memberikan izin dan akan dapat mengeditnya di setelan Chrome.
- Versi Android apa yang akan berfungsi?
- Progressive web apps dapat diinstal di semua versi Android yang menjalankan Chrome untuk Android, khususnya Jelly Bean dan yang lebih baru.
- Apakah ini menggunakan WebView?
- Tidak, situs akan terbuka di versi Chrome tempat pengguna menambahkan situs.
- Dapatkah kami mengupload APK yang dibuat ke Play Store?
- Tidak. Jika Anda ingin mengupload APK Anda sendiri, lihatAktivitas Web Tepercaya.
- Apakah aplikasi tersebut tercantum di Play Store?
- Tidak. Jika Anda ingin mengupload APK Anda sendiri untuk dicantumkan di Play Store, lihat Aktivitas Web Tepercaya.
- Saya adalah developer browser lain di Android, apakah saya bisa mendapatkan proses penginstalan yang lancar ini? :
- Kami sedang mengatasinya. Kami berkomitmen untuk menyediakannya bagi semua browser di Android dan akan segera memberikan detail selengkapnya.