Capacitor SDK: Leitfaden zur Basis-Integration
Dieser Abschnitt enthält Informationen zur Integration des Pushwoosh Capacitor SDK in Ihre Anwendung.
Voraussetzungen
Anchor link toUm das Pushwoosh Capacitor SDK in Ihre App zu integrieren, benötigen Sie Folgendes:
Integrationsschritte
Anchor link to1. Pushwoosh Capacitor SDK-Abhängigkeit hinzufügen
Anchor link toFügen Sie die Pushwoosh Capacitor SDK-Abhängigkeit zu Ihrem Projekt hinzu:
npm install pushwoosh-capacitor-pluginSynchronisieren Sie die Capacitor-Konfiguration:
npx cap sync2. Initialisierung des Capacitor SDK
Anchor link toImportieren und initialisieren Sie das Pushwoosh SDK in Ihrer Haupt-JavaScript-Datei:
import { Pushwoosh } from 'pushwoosh-capacitor-plugin';
// Initialisieren Sie das SDKPushwoosh.onDeviceReady({ appid: "__YOUR_APP_CODE__"});
// Für Push-Benachrichtigungen registrierenPushwoosh.registerDevice() .then(result => { console.log("Push token:", result.pushToken); // Erfolgreiche Registrierung behandeln }) .catch(error => { console.error("Failed to register device:", error); // Registrierungsfehler behandeln });Wobei:
__YOUR_APP_CODE__ist der Anwendungscode aus dem Pushwoosh Control Panel.
3. Natives iOS-Setup
Anchor link to3.1 Capabilities
Anchor link toUm 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 NotificationsBackground Modes. Nachdem Sie diese Capability hinzugefügt haben, aktivieren Sie das Kontrollkästchen fürRemote 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 toSetzen Sie in Ihrer Runner/Info.plist den Schlüssel __PUSHWOOSH_DEVICE_API_TOKEN__ auf den Pushwoosh Device API Token:
<key>Pushwoosh_API_TOKEN</key><string>__PUSHWOOSH_DEVICE_API_TOKEN__</string>3.3 Nachverfolgung der Nachrichtenzustellung
Anchor link toSie müssen Ihrem Projekt ein „Notification Service Extension“-Ziel hinzufügen. Dies ist für eine genaue Zustellungsverfolgung und Funktionen wie Rich Media auf iOS unerlässlich.
Befolgen Sie die Schritte der nativen Anleitung, um das Erweiterungsziel und den erforderlichen Pushwoosh-Code darin hinzuzufügen.
4. Natives Android-Setup
Anchor link to4.1 Abhängigkeiten installieren
Anchor link toStellen 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:
buildscript { dependencies { classpath 'com.google.gms:google-services:4.3.15' }}Wenden Sie das Plugin in Ihrer build.gradle-Datei auf App-Ebene an:
apply plugin: 'com.google.gms.google-services'4.2 Firebase-Konfigurationsdatei hinzufügen
Anchor link toPlatzieren Sie die Datei google-services.json im Ordner android/app in Ihrem Projektverzeichnis.
4.3 Pushwoosh-Metadaten hinzufügen
Anchor link toFügen Sie in Ihrer main/AndroidManifest.xml den Pushwoosh Device API Token innerhalb des <application>-Tags hinzu:
<meta-data android:name="com.pushwoosh.apitoken" android:value="__YOUR_DEVICE_API_TOKEN__" />Wichtig: Stellen Sie sicher, dass der Token im Pushwoosh Control Panel Zugriff auf die richtige App hat. Erfahren Sie mehr
5. Das Projekt ausführen
Anchor link to- Erstellen Sie das Projekt und führen Sie es aus.
- Gehen Sie zum Pushwoosh Control Panel und senden Sie eine Push-Benachrichtigung.
- Sie sollten die Benachrichtigung in der App sehen.
Erweiterte Integration
Anchor link toIn 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 toIm Pushwoosh Capacitor SDK gibt es zwei Callback-Methoden zur Behandlung von Push-Benachrichtigungen:
pushReceivedCallbackwird ausgelöst, wenn eine Push-Benachrichtigung empfangen wirdpushOpenedCallbackwird ausgelöst, wenn ein Benutzer eine Benachrichtigung öffnet
Sie sollten diese Callbacks direkt nach der Initialisierung des SDK einrichten:
import { Pushwoosh } from 'pushwoosh-capacitor-plugin';
// Callback für empfangene Pushes einrichtenawait Pushwoosh.pushReceivedCallback((notification, err) => { if (err) { console.error("Failed to process received notification:", err); } else { console.log("Push received:", JSON.stringify(notification)); // Die empfangene Benachrichtigung behandeln }});
// Callback für geöffnete Pushes einrichtenawait Pushwoosh.pushOpenedCallback((notification, err) => { if (err) { console.error("Failed to process opened notification:", err); } else { console.log("Push opened:", JSON.stringify(notification)); // Die geöffnete Benachrichtigung behandeln }});Benutzerkonfiguration
Anchor link toIndem Sie sich auf das individuelle Benutzerverhalten und die Vorlieben konzentrieren, können Sie personalisierte Inhalte bereitstellen, was zu einer höheren Benutzerzufriedenheit und -loyalität führt.
import { Pushwoosh } from 'pushwoosh-capacitor-plugin';
class Registration { async afterUserLogin(user) {
// Benutzer-ID setzen Pushwoosh.setUserId(user.getId);
// Zusätzliche Benutzerinformationen als Tags für Pushwoosh setzen await Pushwoosh.setTags({ "age": user.getAge(), "name": user.getName(), "last_login": user.getLastLoginDate() }); }}Tags
Anchor link toTags 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-capacitor-plugin';
class UpdateUser { async afterUserUpdateProfile(user) {
// Liste der Lieblingskategorien setzen await Pushwoosh.setTags({ "favorite_categories": user.getFavoriteCategoriesList() });
// Zahlungsinformationen setzen await Pushwoosh.setTags({ "is_subscribed": user.isSubscribed(), "payment_status": user.getPaymentStatus(), "billing_address": user.getBillingAddress() }); }}Events
Anchor link toEvents 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-capacitor-plugin';
class Registration {
// Login-Event verfolgen afterUserLogin(user) { Pushwoosh.postEvent("login", { "name": user.getName(), "last_login": user.getLastLoginDate() }); }
// Kauf-Event verfolgen afterUserPurchase(product) { Pushwoosh.postEvent("purchase", { "product_id": product.getId(), "product_name": product.getName(), "price": product.getPrice(), "quantity": product.getQuantity() }); }}Fehlerbehebung
Anchor link toWenn Sie während des Integrationsprozesses auf Probleme stoßen, lesen Sie bitte den Abschnitt Support und Community.