# Integración con Adapty

<Aside type="caution" icon="setting" title="Se necesita asistencia de un desarrollador">
Necesitará la ayuda de su equipo de desarrollo para configurar la integración. Comparta esta guía con ellos.
</Aside>

## Resumen de la integración y casos de uso

[Adapty](https://app.adapty.io/login) es una plataforma de gestión y monetización de suscripciones para aplicaciones móviles.

Al integrar Adapty con Pushwoosh, puede pasar cualquier evento relacionado con suscripciones e interacciones de muro de pago desde Adapty a Pushwoosh. Allí, puede iniciar campañas dirigidas para interactuar con su base de usuarios, promover ventas adicionales y estimular renovaciones.

Gracias a esta integración, los negocios de suscripción pueden hacer sus comunicaciones más eficientes y lograr un aumento sustancial de los ingresos.

## Configuración de la integración

1. **Comience en su** [**cuenta de Adapty**](https://app.adapty.io/login)

Navegue a la sección de Integraciones, seleccione Pushwoosh, actívelo cambiando el interruptor de apagado a encendido y luego complete los campos necesarios.

<img src="/integrations-adapty-integration-1.webp" alt="Integración de Pushwoosh y Adapty - paso 1"/>

2. **Vaya a Pushwoosh para configurar las credenciales esenciales**

Establezca una conexión entre sus cuentas de Pushwoosh y Adapty configurando las credenciales. Esto requiere su ID de aplicación de Pushwoosh y su token de autenticación.

<img src="/integrations-adapty-integration-2.webp" alt="Integración de Pushwoosh y Adapty - paso 2"/>

3. **Localice sus credenciales de Pushwoosh**

*   ID de aplicación: Se encuentra en el panel de control de Pushwoosh.
*   Token de autenticación: Se encuentra en la sección de Acceso a la API de la Configuración de Pushwoosh.

<img src="/integrations-adapty-integration-3.webp" alt="Integración de Pushwoosh y Adapty - paso 3"/>

4. **Configure Eventos y Etiquetas**

Debajo de la configuración de credenciales, encontrará opciones para seleccionar y renombrar varios grupos de eventos de Adapty para enviar a Pushwoosh. Revise y elija los eventos que necesita. Para obtener una lista completa de los eventos disponibles en Adapty, consulte [su guía detallada](https://docs.adapty.io/docs/events).

Adapty gestiona la transmisión de eventos de suscripción a Pushwoosh a través de una integración de servidor a servidor, lo que permite una visibilidad completa de estos eventos en su Panel de Control de Pushwoosh.

<img src="/integrations-adapty-integration-4.webp" alt="Integración de Pushwoosh y Adapty - paso 4"/>

5. **Habilite las etiquetas personalizadas**

Mejore su integración de Pushwoosh con Adapty utilizando etiquetas personalizadas. Estas etiquetas se pueden adaptar a sus requisitos específicos, como se detalla a continuación:

*   adapty\_customer\_user\_id: Un identificador de usuario único de Pushwoosh.
*   adapty\_profile\_id: ID de perfil de usuario de Adapty único, visible en el panel de control de Adapty.
*   environment: Identifica el entorno del usuario, ya sea 'Sandbox' o 'Producción'.
*   store: Indica la tienda de compra ('app\_store' o 'play\_store').
*   vendor\_product\_id: El ID del producto en la tienda de Apple/Google.
*   subscription\_expires\_at: La fecha de vencimiento de la última suscripción, en un formato específico.
*   last\_event\_type: Tipo del evento más reciente de Adapty.
*   purchase\_date: Fecha de la última transacción, en un formato específico.
*   original\_purchase\_date: Fecha de la primera compra, en un formato específico.
*   active\_subscription: Indica el estado de la suscripción.
*   period\_type: Último tipo de período de la compra o renovación.

Además, puede integrar atributos personalizados para una mayor flexibilidad de seguimiento. En la página de integración del lado de Adapty, marque la casilla 'Enviar atributos personalizados de usuario' para la transmisión automática a Pushwoosh.

6. **Requerido: Configurar el SDK**

Para completar la integración, envíe el valor HWID de Pushwoosh a Adapty:

<Tabs>
<TabItem label="Swift">
```
let params = AdaptyProfileParameters.Builder()
    .with(pushwooshHWID: Pushwoosh.sharedInstance().getHWID())
    .build()

Adapty.updateProfile(params: params) { error in
    // gestionar el error
}
```
</TabItem>

<TabItem label="Kotlin">
```
val params = AdaptyProfileParameters.Builder()
    .withPushwooshHwid(Pushwoosh.getInstance().hwid)
    .build()

Adapty.updateProfile(params) { error ->
    if (error != null) {
        // gestionar el error
    }
}
```
</TabItem>

<TabItem label="Java">
```
AdaptyProfileParameters params = new AdaptyProfileParameters.Builder()
    .withPushwooshHwid(Pushwoosh.getInstance().getHwid())
    .build();

Adapty.updateProfile(params, error -> {
    if (error != null) {
        // gestionar el error
    }
})
```
</TabItem>

<TabItem label="Flutter">
```
import 'package:pushwoosh/pushwoosh.dart';

final builder = AdaptyProfileParametersBuilder()
        ..setPushwooshHWID(
          await Pushwoosh.getInstance.getHWID,
        );
try {
    await adapty.updateProfile(builder.build());
} on AdaptyError catch (adaptyError) {
    // gestionar el error
} catch (e) {}
```
</TabItem>

<TabItem label="TypeScript">
```
import { adapty } from 'react-native-adapty';
import Pushwoosh from 'pushwoosh-react-native-plugin';

// ...
try {
  await adapty.updateProfile({
    pushwooshHWID: hwid,
  });
} catch (error) {
  // gestionar `AdaptyError`
}
```
</TabItem>

<TabItem label="Unity">
```
var builder = new Adapty.ProfileParameters.Builder();
builder.SetPushwooshHWID(Pushwoosh.Instance.HWID);

Adapty.UpdateProfile(builder.Build(), (error) => {
    // gestionar el error
});
```
</TabItem>
</Tabs>

<Aside type="note">
Lea más sobre [posibles casos de uso de la integración de Pushwoosh y Adapty](https://blog.pushwoosh.com/blog/adapty-integration/) en nuestro blog
</Aside>