Cara Mengintegrasikan Tambahkan ke Layar Utama ke PWA Anda

Diterbitkan: 2021-05-13

Daftar Isi

Add to Home screen (singkatnya A2HS) merupakan hal mendasar bagi pengalaman Progressive Web Apps karena memungkinkan pengalaman aplikasi asli penuh, yang mencakup peluncuran aplikasi dari layar beranda pengguna.

 Bacaan yang disarankan: PWA vs Asli: Mana yang Lebih Cocok untuk Anda?

Menjadi fitur yang sangat penting untuk PWA Anda, tentunya Anda tidak dapat tidak memilikinya terintegrasi, itulah sebabnya hari ini dalam tutorial PWA SimiCart, kami akan membahas alasan mengapa A2HS diperlukan, bagaimana digunakan dan bagaimana membuat PWA A2HS-ready, baik di perangkat seluler maupun desktop.

Mendukung browser

A2HS sangat dekat untuk menjadi fitur universal antar browser. Saat ini, saat ini didukung oleh Mobile Chrome/Android Webview (dari versi 31 dan seterusnya), Opera untuk Android (dari versi 32 dan seterusnya) dan Firefox untuk Android (dari versi 58 dan seterusnya). Untuk tampilan yang lebih detail, lihat situs web CanIUse.

PWA Tambahkan ke layar Utama beraksi

Saat menemukan situs yang PWA Add to Home screen diaktifkan (A2HS-Enabled), spanduk yang memberitahukan bahwa situs tersebut dapat ditambahkan ke layar Beranda Anda dapat dilihat di bagian bawah antarmuka pengguna:

Harlow Bros - Tambahkan PWA ke Layar Utama
Harlow Bros – karya bangga SimiCart

Ini adalah promosi pemasangan bawaan yang disediakan browser , yang terjadi bila kriteria tertentu yang dapat dipasang terpenuhi. Pemberitahuan itu sendiri akan ditampilkan saat pertama kali pengguna mengunjungi situs web Anda dan kemudian lagi setelah sekitar 90 hari.

Cara membuat aplikasi web Anda berkemampuan A2HS di ponsel

Kriteria yang dapat diinstal

Agar aplikasi web Anda dapat diinstal, aplikasi tersebut harus:

  • belum dipasang
  • memenuhi heuristik keterlibatan pengguna (pengguna harus berinteraksi dengan halaman setidaknya selama 30 detik)
  • dilayani dari koneksi aman (HTTPS)
  • memiliki pekerja layanan terdaftar
  • memiliki file manifes yang dikonfigurasi dengan benar
  • Dan yang terpenting, browser yang digunakan harus mendukung event beforeinstallprompt . Untuk daftar lengkap browser yang mendukung event beforeinstallprompt , lihat CanIUse.

Mulai

Untuk tujuan demonstrasi, dalam artikel ini kita akan menggunakan proyek create-react-app sebagai dasar untuk membuat PWA yang dapat diinstal. create-react-app adalah perintah React sederhana untuk membuat aplikasi satu halaman.

Catatan : create-react-app membutuhkan setidaknya node >= 10.16 dan npm >= 5.6

Buka Command Prompt Node.js Anda, jalankan perintah berikut:

 npx create-react-app pwa-a2hs
cd pwa-a2hs
benang mulai 
Buat demo aplikasi reaksi
Aplikasi web dasar kami setelah menjalankan perintah

Buat file manifes

Biasanya terletak jauh di dalam folder akar aplikasi web, manifes web Anda adalah file yang berisi semua informasi yang diperlukan situs web Anda—seperti judul aplikasi, jalur ke berbagai ikon, warna latar belakang, dll—dalam format JSON. File manifes web sangat penting untuk aplikasi web fungsional karena memungkinkan penyajian aplikasi web Anda dengan benar di berbagai tahap pengalaman pengguna.

Sebaiknya gunakan Generator Manifes untuk membuat file secara otomatis, bersama dengan ikon ukuran yang dioptimalkan untuk aplikasi Anda.

Konfigurasi optimal untuk generator manifes aplikasi web

Menggunakan generator manifes, Anda dapat memiliki file manifest.zip dengan konten seperti ini:

manifes aplikasi web yang dihasilkan

Dan manifest.webmanifest Anda akan terlihat seperti ini:

 {
    "theme_color": "#f69435",
    "background_color": "#f69435",
    "tampilan": "mandiri",
    "lingkup": "/",
    "start_url": ".",
    "nama": "PWA-A2HS",
    "short_name": "PWA",
    "description": "Demo PWA untuk fitur A2HS",
    "ikon": [
        {
            "src": "/icon-192x192.png",
            "ukuran": "192x192",
            "ketik": "gambar/png"
        },
        {
            "src": "/icon-256x256.png",
            "ukuran": "256x256",
            "ketik": "gambar/png"
        },
        {
            "src": "/icon-384x384.png",
            "ukuran": "384x384",
            "ketik": "gambar/png"
        },
        {
            "src": "/icon-512x512.png",
            "ukuran": "512x512",
            "ketik": "gambar/png"
        }
    ]
}

Sekarang salin konten file manifes yang Anda buat ke folder /public/ , hapus file manifest.json default di folder ini, dan lanjutkan ke langkah berikutnya.

Tautkan HTML ke manifes

Setelah selesai mengonfigurasi file manifes, simpan di direktori root situs web Anda sehingga dapat dipanggil nanti dengan jalur relatif, yaitu /manifest.webmanifest .Untuk menyelesaikan penyiapan file manifes, rujuk ke header HTML Anda ( \pwa-a2hs\public\index.html ), seperti ini:

 <kepala>
    <meta charset="utf-8" />
    <link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="theme-color" content="#000000" />
    <meta
      nama = "deskripsi"
      content="Situs web dibuat menggunakan create-react-app"
    />
    <link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
    <link rel="manifest" href="%PUBLIC_URL%/manifest.webmanifest" />
       <title>PWA A2HS</title>
  </head>

Atur alur instalasi

Manifes aplikasi web tidak cukup untuk membuat aplikasi web Anda dapat diinstal. Ada beberapa konfigurasi tambahan yang harus Anda buat untuk membuat aplikasi web Anda dapat diinstal dan dengan demikian, membuatnya selangkah lebih dekat ke PWA.

Buat pekerja layanan

Pekerja layanan mencegat permintaan jaringan Anda dan mengaktifkan berbagai fitur seperti aplikasi yang terkenal dengan PWA. Buat file service-worker.js di pwa-a2hs\public dan isi dengan konten berikut:

 self.addEventListener('mengambil', fungsi(acara) {
  acara.responsDengan(
      caches.match(event.request).lalu(fungsi(respon){
          balas tanggapan || ambil(acara.permintaan);
      })
  );
});

Di sini kita perlu mendengarkan acara fetch karena sangat penting untuk pengalaman menambahkan ke layar beranda Anda, tanpanya aplikasi React Anda tidak akan dapat memenuhi persyaratan kemampuan instal.

Daftarkan pekerja layanan Anda

Dan agar service-worker.js kita berfungsi, kita harus mendaftarkannya dengan memasukkan kode ini di akhir <body> index.html kita :

 //index.html
<skrip>
    if ('serviceWorker' di navigator) {
      // Daftarkan service worker yang di-host di root
      // situs menggunakan cakupan default.
      navigator.serviceWorker.register('/service-worker.js').lalu(fungsi(registrasi) {
        console.log('Pendaftaran pekerja layanan berhasil:', pendaftaran);
      }, /*catch*/ function(error) {
        console.log('Pendaftaran pekerja layanan gagal:', kesalahan);
      });
    } kalau tidak {
      console.log('Pekerja layanan tidak didukung.');
    }
  </skrip>

Saatnya untuk mengujinya!

PWA Anda sekarang harus dapat diinstal. Segarkan frontend Anda dan Anda akan melihat tombol instal di bilah tugas (desktop) atau spanduk pemberitahuan kecil (seluler).

Tombol instal PWA di bilah browser

Mengklik Instal akan menghasilkan pintasan PWA seperti di desktop/layar beranda Anda:

Ikon PWA di desktop/layar beranda

Ada lebih banyak pengalaman A2HS

Hal di atas hanyalah tambahan dasar untuk pengalaman layar beranda menggunakan promosi pemasangan yang disediakan browser. Untuk meningkatkannya, Anda juga dapat menyimpan event beforeinstallprompt untuk secara manual memicu alur penginstalan dengan berbagai pola untuk mempromosikan penginstalan PWA.

Tombol instal di halaman Daftar
Tampilkan tombol Instal di halaman Daftar

Dengan tombol instal khusus, Anda dapat menghindari mengganggu perjalanan pengguna dengan menargetkan pengguna tertentu yang akan mendapat manfaat dari penginstalan aplikasi. Dan dengan mempertimbangkan di mana dan di mana menempatkan UI promosi, PWA Anda kemungkinan akan bekerja lebih baik daripada pesaing Anda dan sebagai hasilnya, akan mendapatkan rasio konversi aplikasi yang jauh lebih baik.