Zum Inhalt springen

Grundlegende Integrationsanleitung für das React Native SDK

Dieser Abschnitt enthält Informationen zur Integration des Pushwoosh React Native SDK in Ihre Anwendung.

Voraussetzungen

Anchor link to

Um das Pushwoosh React Native SDK in Ihre App zu integrieren, benötigen Sie Folgendes:

Integrationsschritte

Anchor link to

1. Pushwoosh React Native SDK-Abhängigkeit hinzufügen

Anchor link to

Fügen Sie die Pushwoosh React Native SDK-Abhängigkeit zu Ihrem Projekt hinzu:

Terminal window
npm install pushwoosh-react-native-plugin --save

2. Initialisierung des React Native SDK

Anchor link to

In der Root-Komponente Ihrer index.js-Datei:

  • Importieren Sie das pushwoosh-react-native-plugin.
  • Initialisieren Sie das Pushwoosh SDK.
  • Rufen Sie register() in Ihrer Initialisierungslogik auf, um sich für Push-Benachrichtigungen zu registrieren.
index.js
import Pushwoosh from 'pushwoosh-react-native-plugin';
AppRegistry.registerComponent(appName, () => App);
Pushwoosh.init({
"pw_appid" : "__YOUR_APP_ID__" ,
"project_number" : "__YOUR_FCM_SENDER_ID__"
});
Pushwoosh.register();

Wobei:

  • __YOUR_APP_ID__ ist der Anwendungscode aus dem Pushwoosh Control Panel.
  • __YOUR_FCM_SENDER_ID__ ist die Firebase-Projektnummer aus der Firebase Console.

3. Natives iOS-Setup

Anchor link to

3.1 Capabilities

Anchor link to

Um Push-Benachrichtigungen in Ihrem Projekt zu aktivieren, müssen Sie bestimmte Capabilities hinzufügen.

Fügen Sie im Abschnitt „Signing & Capabilities“ die folgenden Capabilities hinzu:

  • Push Notifications
  • Background Modes. Nachdem Sie diese Capability hinzugefügt haben, aktivieren Sie das Kontrollkästchen für Remote notifications.

Wenn Sie Time Sensitive Notifications (iOS 15+) verwenden möchten, fügen Sie auch die Capability Time Sensitive Notifications hinzu.

3.2 Info.plist

Anchor link to

Setzen Sie in Ihrer Runner/Info.plist den Schlüssel __PUSHWOOSH_DEVICE_API_TOKEN__ auf den Pushwoosh Device API Token:

info.plist
<key>Pushwoosh_API_TOKEN</key>
<string>__PUSHWOOSH_DEVICE_API_TOKEN__</string>

3.3 Nachverfolgung der Nachrichtenzustellung

Anchor link to

Sie müssen Ihrem Projekt ein Notification Service Extension-Ziel hinzufügen. Dies ist für eine genaue Zustellungsverfolgung und Funktionen wie Rich Media unter iOS unerlässlich.

Folgen Sie den Schritten der nativen Anleitung, um das Erweiterungsziel und den erforderlichen Pushwoosh-Code darin hinzuzufügen.

3.4 Installation von Abhängigkeiten für das iOS React Native-Projekt

Anchor link to

Um Abhängigkeiten für das iOS React Native-Projekt zu installieren, navigieren Sie im Terminal zum Ordner ios und führen Sie Folgendes aus:

Terminal window
pod install --repo-update

4. Natives Android-Setup

Anchor link to

4.1 Abhängigkeiten installieren

Anchor link to

Stellen Sie sicher, dass die erforderlichen Abhängigkeiten und Plugins zu Ihren Gradle-Skripten hinzugefügt werden:

Fügen Sie das Google Services Gradle-Plugin zu den Abhängigkeiten Ihrer build.gradle-Datei auf Projektebene hinzu:

android/build.gradle
buildscript {
dependencies {
classpath 'com.google.gms:google-services:4.3.15'
}
}

Wenden Sie das Plugin in Ihrer build.gradle-Datei auf App-Ebene an:

app/build.gradle
apply plugin: 'com.google.gms.google-services'

4.2 Firebase-Konfigurationsdatei hinzufügen

Anchor link to

Platzieren Sie die Datei google-services.json im Ordner android/app in Ihrem Projektverzeichnis.

4.3 Pushwoosh-Metadaten hinzufügen

Anchor link to

Fügen Sie in Ihrer main/AndroidManifest.xml den Pushwoosh Device API Token innerhalb des <application>-Tags hinzu:

AndroidManifest.xml
<meta-data android:name="com.pushwoosh.apitoken" android:value="__YOUR_DEVICE_API_TOKEN__" />

Wichtig: Stellen Sie sicher, dass Sie dem Token im Pushwoosh Control Panel Zugriff auf die richtige App gewähren. Mehr erfahren

5. Projekt ausführen

Anchor link to
  1. Erstellen Sie das Projekt und führen Sie es aus.
  2. Gehen Sie zum Pushwoosh Control Panel und senden Sie eine Push-Benachrichtigung.
  3. Sie sollten die Benachrichtigung in der App sehen.

Erweiterte Integration

Anchor link to

In diesem Stadium haben Sie das SDK bereits integriert und können Push-Benachrichtigungen senden und empfangen. Lassen Sie uns nun die Kernfunktionalität erkunden.

Event-Listener für Push-Benachrichtigungen

Anchor link to

Im Pushwoosh SDK gibt es zwei Event-Listener, die für die Verarbeitung von Push-Benachrichtigungen konzipiert sind:

  • Das pushReceived-Event wird ausgelöst, wenn eine Push-Benachrichtigung empfangen wird
  • Das pushOpened-Event wird ausgelöst, wenn ein Benutzer eine Benachrichtigung öffnet

Sie sollten diese Event-Listener direkt nach der Initialisierung des SDK beim Start der Anwendung einrichten:

import {DeviceEventEmitter} from 'react-native'
import Pushwoosh from 'pushwoosh-react-native-plugin';
class PushwooshNotificationHandler {
setupPushListeners() {
DeviceEventEmitter.addListener('pushReceived', (e) => {
console.warn("Push received: " + JSON.stringify(e));
});
DeviceEventEmitter.addListener('pushOpened', (e) => {
console.warn("Push accepted: " + JSON.stringify(e));
});
}
}

Benutzerkonfiguration

Anchor link to

Indem Sie sich auf das individuelle Nutzerverhalten und die Vorlieben konzentrieren, können Sie personalisierte Inhalte bereitstellen, was zu einer höheren Nutzerzufriedenheit und -loyalität führt.

import Pushwoosh from 'pushwoosh-react-native-plugin';
class Registration {
afterUserLogin(user: User) {
// Benutzer-ID setzen
Pushwoosh.setUserId(user.getId());
// Benutzer-E-Mail setzen
Pushwoosh.setEmails(user.getEmailList());
// Benutzer-SMS-Nummer setzen
Pushwoosh.registerSMSNumber(user.getPhoneNumber());
// Benutzer-WhatsApp-Nummer setzen
Pushwoosh.registerWhatsappNumber(user.getWhatsAppNumber());
// Zusätzliche Benutzerinformationen als Tags für Pushwoosh setzen
Pushwoosh.setTags({
"age": user.getAge(),
"name": user.getName(),
"last_login": user.getLastLoginDate()
});
}
}

Tags sind Schlüssel-Wert-Paare, die Benutzern oder Geräten zugewiesen werden und eine Segmentierung nach Attributen wie Vorlieben oder Verhalten ermöglichen, was gezielte Nachrichtenübermittlung ermöglicht.

import Pushwoosh from 'pushwoosh-react-native-plugin';
class UpdateUser {
afterUserUpdateProfile(user: User) {
// Liste der Lieblingskategorien setzen
Pushwoosh.setTags({
"favorite_categories": user.getFavoriteCategoriesList()
});
// Zahlungsinformationen setzen
Pushwoosh.setTags({
"is_subscribed": user.isSubscribed(),
"payment_status": user.getPaymentStatus(),
"billing_address": user.getBillingAddress()
});
}
}

Events sind spezifische Benutzeraktionen oder Vorkommnisse innerhalb der App, die verfolgt werden können, um das Verhalten zu analysieren und entsprechende Nachrichten oder Aktionen auszulösen.

import Pushwoosh from 'pushwoosh-react-native-plugin';
class Registration {
// Login-Event verfolgen
afterUserLogin(user: User) {
Pushwoosh.postEvent("login", {
"name": user.getName(),
"last_login": user.getLastLoginDate()
});
}
// Kauf-Event verfolgen
afterUserPurchase(product: Product) {
Pushwoosh.postEvent("purchase", {
"product_id": product.getId(),
"product_name": product.getName(),
"price": product.getPrice(),
"quantity": product.getQuantity()
});
}
}

Fehlerbehebung

Anchor link to

Sollten Sie während des Integrationsprozesses auf Probleme stoßen, lesen Sie bitte den Abschnitt Support und Community.