Heim > Web-Frontend > js-Tutorial > Web-Push-Benachrichtigungen mit React und Pushpad

Web-Push-Benachrichtigungen mit React und Pushpad

Linda Hamilton
Freigeben: 2025-01-23 18:49:11
Original
880 Leute haben es durchsucht

Web Push Notifications with React and Pushpad

Dieses Tutorial zeigt, wie Sie Web-Push-Benachrichtigungen mithilfe des Pushpad SDK nahtlos in Ihre React-Anwendung integrieren. Wir erstellen eine einfache React-Komponente: eine Schaltfläche, mit der Benutzer Push-Benachrichtigungen abonnieren oder abbestellen können.

Einrichten des Pushpad JavaScript SDK

Fügen Sie zunächst eine service-worker.js-Datei zum Stammverzeichnis Ihrer Website hinzu. Fügen Sie dieser Datei den folgenden Code hinzu:

<code class="language-javascript">importScripts('https://pushpad.xyz/service-worker.js');</code>
Nach dem Login kopieren

Fügen Sie als Nächstes dieses Code-Snippet in Ihre Website ein:

<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>
Nach dem Login kopieren

Denken Sie daran, PROJECT_ID durch Ihre tatsächliche Projekt-ID aus dem Pushpad-Dashboard zu ersetzen.

Hinweis: Die init-Funktion von Pushpad versucht, service-worker.js zu registrieren. Wenn Sie bereits einen Servicemitarbeiter registriert haben, können Sie dies umgehen, indem Sie Folgendes verwenden: pushpad('init', PROJECT_ID, { serviceWorkerPath: null });.

Pushpad SDK-Funktionen

Das Pushpad SDK bietet mehrere nützliche Funktionen:

  • pushpad('subscribe'): Abonniert den Benutzer und zeigt die Berechtigungsaufforderung des Browsers an.
  • pushpad('status'): Ruft den aktuellen Abonnementstatus ab.
  • pushpad('unsubscribe'): Abmelden des Benutzers.
  • pushpad('uid'): Authentifiziert Benutzer.
  • pushpad('tags'): Fügt Targeting-Daten hinzu.

React-Komponente: Eine Schaltfläche zum Abonnieren/Abmelden

Hier ist der React-Code zum Erstellen einer Schaltfläche zum Abonnieren/Abmelden:

<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>
Nach dem Login kopieren

Diese Komponente prüft den Abonnementstatus, zeigt die entsprechende Schaltfläche („Abonnieren“ oder „Abbestellen“) an und verwaltet An-/Abmeldeaktionen. Es bietet auch eine benutzerfreundliche Warnung, wenn Benachrichtigungen blockiert sind.

Benachrichtigungen senden

Sobald Sie Abonnenten haben, können Sie Benachrichtigungen über das Pushpad-Dashboard (manuelles Senden) oder programmgesteuert über die Pushpad-API (mithilfe ihrer Node.js oder anderen Sprachbibliotheken) senden. Dadurch können Sie Benachrichtigungen senden, auch wenn Benutzer nicht aktiv auf Ihrer Website sind. Beispiele hierfür sind Ankündigungen neuer Blogbeiträge oder E-Commerce-Werbeaktionen.

Das obige ist der detaillierte Inhalt vonWeb-Push-Benachrichtigungen mit React und Pushpad. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage