Guía de integración básica del SDK de Capacitor
Esta sección contiene información sobre cómo integrar el SDK de Capacitor de Pushwoosh en su aplicación.
Prerrequisitos
Anchor link toPara integrar el SDK de Capacitor de Pushwoosh en su aplicación, necesitará lo siguiente:
Pasos de integración
Anchor link to1. Añadir la dependencia del SDK de Capacitor de Pushwoosh
Anchor link toAñada la dependencia del SDK de Capacitor de Pushwoosh a su proyecto:
npm install pushwoosh-capacitor-pluginSincronice la configuración de Capacitor:
npx cap sync2. Inicialización del SDK de Capacitor
Anchor link toEn su archivo principal de JavaScript, importe e inicialice el SDK de Pushwoosh:
import { Pushwoosh } from 'pushwoosh-capacitor-plugin';
// Initialize the SDKPushwoosh.onDeviceReady({ appid: "__YOUR_APP_CODE__", projectid: "__YOUR_FCM_SENDER_ID__"});
// Register for push notificationsPushwoosh.registerDevice() .then(result => { console.log("Push token:", result.pushToken); // Handle successful registration }) .catch(error => { console.error("Failed to register device:", error); // Handle registration error });Donde:
__YOUR_APP_ID__es el código de la aplicación del Panel de Control de Pushwoosh.__YOUR_FCM_SENDER_ID__es el número de proyecto de Firebase de la Consola de Firebase.
3. Configuración nativa de iOS
Anchor link to3.1 Capacidades
Anchor link toPara habilitar las Notificaciones Push en su proyecto, necesita añadir ciertas capacidades.
En la sección Signing & Capabilities, añada las siguientes capacidades:
Push NotificationsBackground Modes. Después de añadir esta capacidad, marque la casilla paraRemote notifications.
Si tiene la intención de usar Notificaciones Sensibles al Tiempo (iOS 15+), añada también la capacidad Time Sensitive Notifications.
3.2 Info.plist
Anchor link toEn su Runner/Info.plist establezca la clave __PUSHWOOSH_DEVICE_API_TOKEN__ con el Token de API de Dispositivo de Pushwoosh:
<key>Pushwoosh_API_TOKEN</key><string>__PUSHWOOSH_DEVICE_API_TOKEN__</string>3.3 Seguimiento de la entrega de mensajes
Anchor link toDebe añadir un objetivo de Extensión de Servicio de Notificación a su proyecto. Esto es esencial para un seguimiento preciso de la entrega y para características como Rich Media en iOS.
Siga los pasos de la guía nativa para añadir el objetivo de la extensión y el código de Pushwoosh necesario dentro de él.
4. Configuración nativa de Android
Anchor link to4.1 Instalar dependencias
Anchor link toAsegúrese de que las dependencias y plugins requeridos se añadan a sus scripts de Gradle:
Añada el plugin de Gradle de Google Services a las dependencias de su build.gradle a nivel de proyecto:
buildscript { dependencies { classpath 'com.google.gms:google-services:4.3.15' }}Aplique el plugin en su archivo build.gradle a nivel de aplicación:
apply plugin: 'com.google.gms.google-services'4.2 Añadir archivo de configuración de Firebase
Anchor link toColoque el archivo google-services.json en la carpeta android/app en el directorio de su proyecto.
4.3 Añadir metadatos de Pushwoosh
Anchor link toEn su main/AndroidManifest.xml añada el Token de API de Dispositivo de Pushwoosh dentro de la etiqueta <application>:
<meta-data android:name="com.pushwoosh.apitoken" android:value="__YOUR_DEVICE_API_TOKEN__" />Importante: Asegúrese de dar al token acceso a la aplicación correcta en su Panel de Control de Pushwoosh. Aprenda más
5. Ejecutar el proyecto
Anchor link to- Compile y ejecute el proyecto.
- Vaya al Panel de Control de Pushwoosh y envíe una notificación push.
- Debería ver la notificación en la aplicación.
Integración extendida
Anchor link toEn esta etapa, ya ha integrado el SDK y puede enviar y recibir notificaciones push. Ahora, exploremos la funcionalidad principal.
Escuchadores de eventos de notificaciones push
Anchor link toEn el SDK de Capacitor de Pushwoosh hay dos métodos de devolución de llamada para manejar las notificaciones push:
pushReceivedCallbackse activa cuando se recibe una notificación pushpushOpenedCallbackse activa cuando un usuario abre una notificación
Debe configurar estas devoluciones de llamada justo después de la inicialización del SDK:
import { Pushwoosh } from 'pushwoosh-capacitor-plugin';
// Set up push received callbackawait Pushwoosh.pushReceivedCallback((notification, err) => { if (err) { console.error("Failed to process received notification:", err); } else { console.log("Push received:", JSON.stringify(notification)); // Handle the received notification }});
// Set up push opened callbackawait Pushwoosh.pushOpenedCallback((notification, err) => { if (err) { console.error("Failed to process opened notification:", err); } else { console.log("Push opened:", JSON.stringify(notification)); // Handle the opened notification }});Configuración del usuario
Anchor link toAl centrarse en el comportamiento y las preferencias individuales de los usuarios, puede entregar contenido personalizado, lo que lleva a un aumento de la satisfacción y lealtad del usuario.
import { Pushwoosh } from 'pushwoosh-capacitor-plugin';
class Registration { async afterUserLogin(user) {
// Set user ID Pushwoosh.setUserId(user.getId);
// Setting additional user information as tags for Pushwoosh await Pushwoosh.setTags({ "age": user.getAge(), "name": user.getName(), "last_login": user.getLastLoginDate() }); }}Etiquetas
Anchor link toLas etiquetas son pares clave-valor asignados a usuarios o dispositivos, lo que permite la segmentación basada en atributos como preferencias o comportamiento, habilitando la mensajería dirigida.
import { Pushwoosh } from 'pushwoosh-capacitor-plugin';
class UpdateUser { async afterUserUpdateProfile(user) {
// Set list of favorite categories await Pushwoosh.setTags({ "favorite_categories": user.getFavoriteCategoriesList() });
// Set payment information await Pushwoosh.setTags({ "is_subscribed": user.isSubscribed(), "payment_status": user.getPaymentStatus(), "billing_address": user.getBillingAddress() }); }}Eventos
Anchor link toLos eventos son acciones específicas del usuario o sucesos dentro de la aplicación que se pueden rastrear para analizar el comportamiento y desencadenar los mensajes o acciones correspondientes.
import { Pushwoosh } from 'pushwoosh-capacitor-plugin';
class Registration {
// Track login event afterUserLogin(user) { Pushwoosh.postEvent("login", { "name": user.getName(), "last_login": user.getLastLoginDate() }); }
// Track purchase event afterUserPurchase(product) { Pushwoosh.postEvent("purchase", { "product_id": product.getId(), "product_name": product.getName(), "price": product.getPrice(), "quantity": product.getQuantity() }); }}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.