Zum Inhalt springen

Unity SDK: Grundlegende Integrationsanleitung

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

Voraussetzungen

Anchor link to

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

Integrationsschritte

Anchor link to

1. Pushwoosh Unity SDK-Abhängigkeit hinzufügen

Anchor link to

Importieren Sie das Unity Push-Benachrichtigungs-Plugin in Ihren Assets-Ordner in Unity.

2. Unity SDK-Initialisierung

Anchor link to

Erstellen Sie das Skript PushNotificator.cs und hängen Sie es an das Camera Object in der Szene an. Im Skript:

  • Initialisieren Sie das Pushwoosh SDK mit dem Anwendungscode und der Firebase-Projektnummer.
  • Rufen Sie RegisterForPushNotifications() in Ihrer Initialisierungslogik auf, um sich für Push-Benachrichtigungen zu registrieren.
  • Fügen Sie Registrierungs-Event-Handler hinzu, um Push-Registrierungs-Events zu verwalten:
PushNotificator.cs
using UnityEngine;
using UnityEngine.UI;
public class PushNotificator : MonoBehaviour {
void Start () {
Pushwoosh.ApplicationCode = "__YOUR_APP_ID__";
Pushwoosh.FcmProjectNumber = "__YOUR_FCM_SENDER_ID__";
Pushwoosh.Instance.OnRegisteredForPushNotifications += OnRegisteredForPushNotifications;
Pushwoosh.Instance.OnFailedToRegisteredForPushNotifications += OnFailedToRegisteredForPushNotifications;
Pushwoosh.Instance.RegisterForPushNotifications();
}
void OnRegisteredForPushNotifications(string token) {
Debug.LogFormat(LogType.Log, LogOption.NoStacktrace, null, "Received token: \n{0}", token);
}
void OnFailedToRegisteredForPushNotifications(string error) {
Debug.LogFormat(LogType.Log, LogOption.NoStacktrace, null, "Error ocurred while registering to push notifications: \n{0}", error);
}
}

Wobei:

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

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 Target 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 Extension Target und den erforderlichen Pushwoosh-Code darin hinzuzufügen.

4. Natives Android-Setup

Anchor link to

4.1 Firebase-Konfigurationsdatei hinzufügen

Anchor link to

Platzieren Sie die Datei google-services.json in den Assets-Ordner in Ihrem Projektverzeichnis.

4.2 Build-Einstellungen anpassen

Anchor link to

Aktivieren Sie im Abschnitt Publishing Settings Ihres Android-Build-Profils die Option Custom Main Manifest.

4.3 Pushwoosh-Metadaten hinzufügen

Anchor link to

Fügen Sie in Ihrer Assets/Plugins/Android/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. Erfahren Sie mehr

5. Windows Store-Integration

Anchor link to
  1. Fügen Sie link.xml zu Ihrem Assets/-Verzeichnis mit dem folgenden Inhalt hinzu:
<linker>
<assembly fullname="PushSDK" preserve="all"/>
</linker>
  1. Sie müssen auch die App mit dem Store verknüpfen im exportierten Visual Studio-Projekt. Stellen Sie sicher, dass Ihre App mit einem Zertifikat signiert ist, das Ihrer Publisher-Identität entspricht.

Aktivieren Sie die Capability „Internet (Client)“ im Tab Capabilities Ihrer .appxmanifest-Datei im exportierten Visual Studio-Projekt.

6. 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 OnPushNotificationsReceived-Event wird ausgelöst, wenn eine Push-Benachrichtigung empfangen wird.
  • Das OnPushNotificationsOpened-Event wird ausgelöst, wenn ein Benutzer eine Benachrichtigung öffnet.

Sie sollten diese Event-Listener direkt nach der Initialisierung des SDK in der PushNotificator.cs einrichten:

PushNotificator.cs
using UnityEngine;
using UnityEngine.UI;
public class PushNotificator : MonoBehaviour {
void Start () {
Pushwoosh.ApplicationCode = "__YOUR_APP_ID__";
Pushwoosh.FcmProjectNumber = "__YOUR_FCM_SENDER_ID__";
Pushwoosh.Instance.OnPushNotificationsReceived += OnPushNotificationsReceived;
Pushwoosh.Instance.OnPushNotificationsOpened += OnPushNotificationsOpened;
Pushwoosh.Instance.RegisterForPushNotifications();
}
void OnPushNotificationsReceived(string payload) {
Debug.LogFormat(LogType.Log, LogOption.NoStacktrace, null, "Received push notificaiton: \n{0}", payload);
}
void OnPushNotificationsOpened(string payload) {
Debug.LogFormat(LogType.Log, LogOption.NoStacktrace, null, "Opened push notificaiton: \n{0}", payload);
}

Benutzerkonfiguration

Anchor link to

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

public class Registration {
public void afterUserLogin(User user) {
// Benutzer-ID setzen
Pushwoosh.Instance.SetUserId(user.getId());
// Benutzer-E-Mail setzen
Pushwoosh.Instance.SetEmail(user.getEmail());
// Zusätzliche Benutzerinformationen als Tags für Pushwoosh setzen
Pushwoosh.Instance.SetIntTag("Age", user.getAge());
Pushwoosh.Instance.SetStringTag("Name", user.getName());
Pushwoosh.Instance.SetStringTag("LastLoginDate", 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 erlaubt.

public class UpdateUser {
public void afterUserUpdateProfile(User user) {
// Liste der bevorzugten Kategorien setzen
Pushwoosh.Instance.SetListTag(
"favorite_categories": user.getFavoriteCategoriesList()
);
// Zahlungsinformationen setzen
Pushwoosh.Instance.SetStringTag("is_subscribed", user.isSubscribed());
Pushwoosh.Instance.SetStringTag("payment_status", user.getPaymentStatus());
Pushwoosh.Instance.SetStringTag("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.

public class Registration {
// Login-Event verfolgen
public void afterUserLogin(User user) {
Pushwoosh.Instance.PostEvent("login", new Dictionary<string, object>() {
{ "name", user.getName() },
{ "last_login", user.getLastLoginDate() }
});
}
public void afterUserPurchase(Product product) {
// Kauf-Event verfolgen
Pushwoosh.Instance.PostEvent("purchase", new Dictionary<string, object>() {
{ "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.