Rumah > hujung hadapan web > tutorial js > Pemberitahuan Tolak Web dengan React dan Pad Tekan

Pemberitahuan Tolak Web dengan React dan Pad Tekan

Linda Hamilton
Lepaskan: 2025-01-23 18:49:11
asal
934 orang telah melayarinya

Web Push Notifications with React and Pushpad

Tutorial ini menunjukkan cara menyepadukan pemberitahuan tolak web dengan lancar ke dalam aplikasi React anda menggunakan SDK Pad Tekan. Kami akan mencipta komponen React yang mudah: butang yang membolehkan pengguna melanggan atau menyahlanggan pemberitahuan tolak.

Menyediakan SDK JavaScript Pad Tekan

Mulakan dengan menambahkan service-worker.js fail pada direktori akar tapak web anda. Tambahkan kod berikut pada fail ini:

<code class="language-javascript">importScripts('https://pushpad.xyz/service-worker.js');</code>
Salin selepas log masuk

Seterusnya, masukkan coretan kod ini dalam tapak web anda:

<code class="language-javascript">(function(p,u,s,h,x){p.pushpad=p.pushpad||function(){(p.pushpad.q=p.pushpad.q||[]).push(arguments)};h=u.getElementsByTagName('head')[0];x=u.createElement('script');x.async=1;x.src=s;h.appendChild(x);})(window,document,'https://pushpad.xyz/pushpad.js');

pushpad('init', PROJECT_ID);</code>
Salin selepas log masuk

Ingat untuk menggantikan PROJECT_ID dengan ID projek sebenar anda daripada papan pemuka Pushpad.

Nota: Fungsi init Pushpad cuba mendaftar service-worker.js. Jika anda telah mendaftarkan pekerja perkhidmatan, anda boleh memintas ini dengan menggunakan: pushpad('init', PROJECT_ID, { serviceWorkerPath: null });.

Fungsi SDK Pad Tekan

SDK Pad Tekan menyediakan beberapa fungsi berguna:

  • pushpad('subscribe'): Melanggan pengguna dan memaparkan gesaan kebenaran penyemak imbas.
  • pushpad('status'): Dapatkan semula status langganan semasa.
  • pushpad('unsubscribe'): Nyahlanggan pengguna.
  • pushpad('uid'): Mengesahkan pengguna.
  • pushpad('tags'): Menambah data penyasaran.

Komponen Reaksi: Butang Langgan/Nyahlanggan

Berikut ialah kod React untuk membuat butang langgan/nyahlanggan:

<code class="language-javascript">import React, { useState, useEffect } from 'react';

const PushSubscriptionButton = () => {
  const [subscribed, setSubscribed] = useState(null);

  useEffect(() => {
    pushpad('status', (isSubscribed) => {
      setSubscribed(isSubscribed);
    });
  }, []);

  const subscribe = () => {
    pushpad('subscribe', (isSubscribed) => {
      setSubscribed(isSubscribed);
      if (!isSubscribed) {
        alert('Notifications are blocked by browser settings.');
      }
    });
  };

  const unsubscribe = () => {
    pushpad('unsubscribe', () => {
      setSubscribed(false);
    });
  };

  if (subscribed === null) {
    return null;
  }

  return (
    subscribed ? (
      <button onClick={unsubscribe}>Unsubscribe</button>
    ) : (
      <button onClick={subscribe}>Subscribe</button>
    )
  );
};

export default PushSubscriptionButton;</code>
Salin selepas log masuk

Komponen ini menyemak status langganan, memaparkan butang yang sesuai ("Langgan" atau "Nyahlanggan") dan mengendalikan tindakan langganan/nyahlanggan. Ia juga menyediakan makluman mesra pengguna jika pemberitahuan disekat.

Menghantar Pemberitahuan

Setelah anda mempunyai pelanggan, anda boleh menghantar pemberitahuan menggunakan papan pemuka Pushpad (penghantaran manual) atau secara pengaturcaraan melalui API Pushpad (menggunakan Node.js atau pustaka bahasa lain mereka). Ini membolehkan anda menghantar pemberitahuan walaupun pengguna tidak aktif di tapak web anda. Contohnya termasuk pengumuman catatan blog baharu atau promosi e-dagang.

Atas ialah kandungan terperinci Pemberitahuan Tolak Web dengan React dan Pad Tekan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan