Unity SDK: Grundlegende Integrationsanleitung
Diese Anleitung führt Sie durch die Integration des Pushwoosh Unity SDK in Ihre Anwendung.
Voraussetzungen
Anchor link toIntegrationsschritte
Anchor link to1. Pushwoosh Unity SDK hinzufügen
Anchor link toFügen Sie Folgendes zu Ihrer Packages/manifest.json hinzu:
{ "dependencies": { "com.pushwoosh.unity.core": "6.2.7", "com.pushwoosh.unity.android": "6.2.7", "com.pushwoosh.unity.ios": "6.2.7" }, "scopedRegistries": [ { "name": "npmjs", "url": "https://registry.npmjs.org", "scopes": ["com.pushwoosh"] } ]}Fügen Sie nur die Plattform-Pakete hinzu, die Sie benötigen. Lassen Sie zum Beispiel com.pushwoosh.unity.android weg, wenn Sie nur auf iOS abzielen.
Gehen Sie in Unity zu Window > Package Manager > + > Add package from git URL und fügen Sie die folgenden URLs nacheinander hinzu:
https://github.com/Pushwoosh/pushwoosh-unity.git?path=com.pushwoosh.unity.corehttps://github.com/Pushwoosh/pushwoosh-unity.git?path=com.pushwoosh.unity.androidhttps://github.com/Pushwoosh/pushwoosh-unity.git?path=com.pushwoosh.unity.iosLaden Sie Pushwoosh.unitypackage von GitHub Releases herunter und importieren Sie es über Assets > Import Package > Custom Package.
2. External Dependency Manager installieren
Anchor link toDas SDK benötigt den External Dependency Manager for Unity (EDM4U), um native Android- und iOS-Abhängigkeiten aufzulösen.
Fügen Sie die folgende Scoped Registry zu Ihrer Packages/manifest.json hinzu:
{ "scopedRegistries": [ { "name": "package.openupm.com", "url": "https://package.openupm.com", "scopes": ["com.google.external-dependency-manager"] } ]}Fügen Sie dann das Paket zu Ihren Abhängigkeiten hinzu:
"com.google.external-dependency-manager": "1.2.183"3. Das SDK initialisieren
Anchor link toErstellen Sie ein PushNotificator.cs-Skript und hängen Sie es an ein beliebiges GameObject in der Szene an:
using UnityEngine;using System.Collections.Generic;
public class PushNotificator : MonoBehaviour{ void Start() { Pushwoosh.ApplicationCode = "XXXXX-XXXXX"; Pushwoosh.FcmProjectNumber = "XXXXXXXXXXXX";
Pushwoosh.Instance.OnRegisteredForPushNotifications += (token) => { Debug.Log("Push token: " + token); };
Pushwoosh.Instance.OnFailedToRegisteredForPushNotifications += (error) => { Debug.Log("Registration failed: " + error); };
Pushwoosh.Instance.RegisterForPushNotifications(); }}Ersetzen Sie:
XXXXX-XXXXXdurch Ihren Pushwoosh Application Code.XXXXXXXXXXXXdurch Ihre Firebase-Projektnummer (nur Android).
4. Natives iOS-Setup
Anchor link to4.1 Capabilities
Anchor link toNachdem Sie das iOS-Projekt aus Unity erstellt haben, öffnen Sie das generierte Xcode-Projekt und fügen Sie die folgenden Capabilities unter Signing & Capabilities hinzu:
- Push Notifications
- Background Modes mit aktivierten Remote notifications
Fügen Sie für Time Sensitive Notifications (iOS 15+) auch die Capability Time Sensitive Notifications hinzu.
4.2 Info.plist
Anchor link toFügen Sie den Pushwoosh Device API Token zu Ihrer Info.plist hinzu:
<key>Pushwoosh_API_TOKEN</key><string>__PUSHWOOSH_DEVICE_API_TOKEN__</string>4.3 Nachverfolgung der Nachrichtenzustellung
Anchor link toFügen Sie Ihrem Xcode-Projekt ein Notification Service Extension Target hinzu. Dies ist für eine genaue Zustellungsverfolgung und Rich Media auf iOS erforderlich.
Folgen Sie der nativen Anleitung, um das Extension Target hinzuzufügen.
5. Natives Android-Setup
Anchor link to5.1 Firebase-Konfigurationsdatei hinzufügen
Anchor link toPlatzieren Sie die Datei google-services.json im Assets-Verzeichnis Ihres Unity-Projekts.
5.2 Pushwoosh-Metadaten hinzufügen
Anchor link toFügen Sie den Pushwoosh Device API Token zu Ihrer Assets/Plugins/Android/AndroidManifest.xml innerhalb des <application>-Tags hinzu:
<meta-data android:name="com.pushwoosh.apitoken" android:value="__YOUR_DEVICE_API_TOKEN__" />6. Das Projekt ausführen
Anchor link to- Erstellen und führen Sie das Projekt auf Ihrer Zielplattform aus.
- Erteilen Sie die Erlaubnis für Push-Benachrichtigungen, wenn Sie dazu aufgefordert werden.
- Gehen Sie zum Pushwoosh Control Panel und senden Sie eine Push-Benachrichtigung.
Erweiterte Integration
Anchor link toIn diesem Stadium können Sie Push-Benachrichtigungen senden und empfangen. Die folgenden Abschnitte behandeln die Kernfunktionalität des SDK.
Event-Listener für Push-Benachrichtigungen
Anchor link toDas SDK bietet zwei Event-Listener zur Behandlung von Push-Benachrichtigungen:
OnPushNotificationsReceived— wird ausgelöst, wenn eine Push-Benachrichtigung ankommtOnPushNotificationsOpened— wird ausgelöst, wenn ein Benutzer auf eine Benachrichtigung tippt
Richten Sie diese Listener während der SDK-Initialisierung ein:
void Start(){ Pushwoosh.ApplicationCode = "XXXXX-XXXXX"; Pushwoosh.FcmProjectNumber = "XXXXXXXXXXXX";
Pushwoosh.Instance.OnPushNotificationsReceived += (payload) => { Debug.Log("Push received: " + payload); };
Pushwoosh.Instance.OnPushNotificationsOpened += (payload) => { Debug.Log("Push opened: " + payload); };
Pushwoosh.Instance.RegisterForPushNotifications();}Benutzerkonfiguration
Anchor link toPersonalisieren Sie Push-Benachrichtigungen, indem Sie Benutzer identifizieren und deren Eigenschaften festlegen:
// Benutzer-ID für geräteübergreifendes Tracking festlegenPushwoosh.Instance.SetUserId("user-123");
// Benutzer-E-Mail festlegenPushwoosh.Instance.SetEmail("user@example.com");
// Benutzer mit ID und E-Mail festlegenPushwoosh.Instance.SetUser("user-123", new List<string> { "user@example.com" });
// Bevorzugte Sprache festlegenPushwoosh.Instance.SetLanguage("en");Tags
Anchor link toTags sind Schlüssel-Wert-Paare, die Geräten zugewiesen werden und die Segmentierung von Benutzern sowie gezielte Nachrichten ermöglichen:
// String-TagPushwoosh.Instance.SetStringTag("favorite_category", "electronics");
// Integer-TagPushwoosh.Instance.SetIntTag("purchase_count", 5);
// Listen-TagPushwoosh.Instance.SetListTag("interests", new List<object> { "sports", "music", "tech" });
// Alle Tags abrufenPushwoosh.Instance.GetTags((tags, error) => { if (error != null) { Debug.Log("Error: " + error.Message); return; } foreach (var tag in tags) { Debug.Log(tag.Key + ": " + tag.Value); }});Events
Anchor link toVerfolgen Sie Benutzeraktionen, um das Verhalten zu analysieren und automatisierte Nachrichten auszulösen:
// Ein Login-Event verfolgenPushwoosh.Instance.PostEvent("login", new Dictionary<string, object> { { "username", "user-123" }, { "login_type", "email" }});
// Ein Kauf-Event verfolgenPushwoosh.Instance.PostEvent("purchase", new Dictionary<string, object> { { "product_id", "SKU-001" }, { "price", 29.99 }, { "currency", "USD" }});Kommunikationseinstellungen
Anchor link toErmöglichen Sie Benutzern, sich programmgesteuert für oder gegen Push-Benachrichtigungen zu entscheiden:
// Kommunikation aktivierenPushwoosh.Instance.SetCommunicationEnabled(true);
// Kommunikation deaktivierenPushwoosh.Instance.SetCommunicationEnabled(false);
// Aktuellen Status prüfenbool isEnabled = Pushwoosh.Instance.IsCommunicationEnabled();Badge-Verwaltung
Anchor link toSteuern Sie die App-Badge-Nummer auf unterstützten Plattformen:
// Badge auf eine bestimmte Zahl setzenPushwoosh.Instance.SetBadgeNumber(3);
// Badge erhöhenPushwoosh.Instance.AddBadgeNumber(1);
// Badge löschenPushwoosh.Instance.SetBadgeNumber(0);Fehlerbehebung
Anchor link toSollten Sie während des Integrationsprozesses auf Probleme stoßen, lesen Sie den Abschnitt Support und Community.