Guía de integración básica del SDK de Unity
Esta guía le guiará a través de la integración del SDK de Unity de Pushwoosh en su aplicación.
Prerrequisitos
Anchor link toPasos de integración
Anchor link to1. Añadir el SDK de Unity de Pushwoosh
Anchor link toAñada lo siguiente a su Packages/manifest.json:
{ "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"] } ]}Añada solo los paquetes de plataforma que necesite. Por ejemplo, omita com.pushwoosh.unity.android si solo se dirige a iOS.
En Unity, vaya a Window > Package Manager > + > Add package from git URL y añada las siguientes URLs una por una:
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.iosDescargue Pushwoosh.unitypackage desde los Lanzamientos de GitHub e impórtelo a través de Assets > Import Package > Custom Package.
2. Instalar el External Dependency Manager
Anchor link toEl SDK requiere el External Dependency Manager for Unity (EDM4U) para resolver las dependencias nativas de Android e iOS.
Añada el siguiente scoped registry a su Packages/manifest.json:
{ "scopedRegistries": [ { "name": "package.openupm.com", "url": "https://package.openupm.com", "scopes": ["com.google.external-dependency-manager"] } ]}Luego añada el paquete a sus dependencias:
"com.google.external-dependency-manager": "1.2.183"3. Inicializar el SDK
Anchor link toCree un script PushNotificator.cs y adjúntelo a cualquier GameObject en la escena:
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(); }}Reemplace:
XXXXX-XXXXXcon su Código de Aplicación de Pushwoosh.XXXXXXXXXXXXcon su número de proyecto de Firebase (solo para Android).
4. Configuración nativa de iOS
Anchor link to4.1 Capacidades
Anchor link toDespués de compilar el proyecto de iOS desde Unity, abra el proyecto de Xcode generado y añada las siguientes capacidades en Signing & Capabilities:
- Push Notifications
- Background Modes con Remote notifications marcado
Para las Notificaciones Sensibles al Tiempo (iOS 15+), añada también la capacidad de Time Sensitive Notifications.
4.2 Info.plist
Anchor link toAñada el Token de API de Dispositivo de Pushwoosh a su Info.plist:
<key>Pushwoosh_API_TOKEN</key><string>__PUSHWOOSH_DEVICE_API_TOKEN__</string>4.3 Seguimiento de la entrega de mensajes
Anchor link toAñada un objetivo de Extensión de Servicio de Notificación a su proyecto de Xcode. Esto es necesario para un seguimiento preciso de la entrega y para Rich Media en iOS.
Siga la guía nativa para añadir el objetivo de la extensión.
5. Configuración nativa de Android
Anchor link to5.1 Añadir archivo de configuración de Firebase
Anchor link toColoque el archivo google-services.json en el directorio Assets de su proyecto de Unity.
5.2 Añadir metadatos de Pushwoosh
Anchor link toAñada el Token de API de Dispositivo de Pushwoosh a su Assets/Plugins/Android/AndroidManifest.xml dentro de la etiqueta <application>:
<meta-data android:name="com.pushwoosh.apitoken" android:value="__YOUR_DEVICE_API_TOKEN__" />6. Ejecutar el proyecto
Anchor link to- Compile y ejecute el proyecto en su plataforma de destino.
- Conceda permiso para las notificaciones push cuando se le solicite.
- Vaya al Panel de Control de Pushwoosh y envíe una notificación push.
Integración extendida
Anchor link toEn esta etapa, puede enviar y recibir notificaciones push. Las secciones a continuación cubren la funcionalidad principal del SDK.
Escuchadores de eventos de notificaciones push
Anchor link toEl SDK proporciona dos escuchadores de eventos para manejar las notificaciones push:
OnPushNotificationsReceived— se activa cuando llega una notificación pushOnPushNotificationsOpened— se activa cuando un usuario toca una notificación
Configure estos escuchadores durante la inicialización del SDK:
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();}Configuración de usuario
Anchor link toPersonalice las notificaciones push identificando a los usuarios y estableciendo sus propiedades:
// Establecer el ID de usuario para el seguimiento entre dispositivosPushwoosh.Instance.SetUserId("user-123");
// Establecer el correo electrónico del usuarioPushwoosh.Instance.SetEmail("user@example.com");
// Establecer usuario con ID y correo electrónicoPushwoosh.Instance.SetUser("user-123", new List<string> { "user@example.com" });
// Establecer idioma preferidoPushwoosh.Instance.SetLanguage("en");Etiquetas
Anchor link toLas etiquetas son pares clave-valor asignados a los dispositivos, lo que permite la segmentación de usuarios y la mensajería dirigida:
// Etiqueta de cadenaPushwoosh.Instance.SetStringTag("favorite_category", "electronics");
// Etiqueta de enteroPushwoosh.Instance.SetIntTag("purchase_count", 5);
// Etiqueta de listaPushwoosh.Instance.SetListTag("interests", new List<object> { "sports", "music", "tech" });
// Obtener todas las etiquetasPushwoosh.Instance.GetTags((tags, error) => { if (error != null) { Debug.Log("Error: " + error.Message); return; } foreach (var tag in tags) { Debug.Log(tag.Key + ": " + tag.Value); }});Eventos
Anchor link toRastree las acciones del usuario para analizar el comportamiento y activar mensajes automatizados:
// Rastrear un evento de inicio de sesiónPushwoosh.Instance.PostEvent("login", new Dictionary<string, object> { { "username", "user-123" }, { "login_type", "email" }});
// Rastrear un evento de compraPushwoosh.Instance.PostEvent("purchase", new Dictionary<string, object> { { "product_id", "SKU-001" }, { "price", 29.99 }, { "currency", "USD" }});Preferencias de comunicación
Anchor link toPermita a los usuarios optar por recibir o no notificaciones push de forma programática:
// Habilitar la comunicaciónPushwoosh.Instance.SetCommunicationEnabled(true);
// Deshabilitar la comunicaciónPushwoosh.Instance.SetCommunicationEnabled(false);
// Comprobar el estado actualbool isEnabled = Pushwoosh.Instance.IsCommunicationEnabled();Gestión de badges
Anchor link toControle el número del badge de la aplicación en las plataformas compatibles:
// Establecer el badge a un número específicoPushwoosh.Instance.SetBadgeNumber(3);
// Incrementar el badgePushwoosh.Instance.AddBadgeNumber(1);
// Limpiar el badgePushwoosh.Instance.SetBadgeNumber(0);Solución de problemas
Anchor link toSi encuentra algún problema durante el proceso de integración, consulte la sección de soporte y comunidad.