# Integração com a Qonversion

<Aside type="caution" icon="setting" title="É necessária a ajuda do desenvolvedor">
 Você precisará da ajuda da sua equipe de desenvolvimento para configurar a integração. Por favor, compartilhe este guia com eles.
</Aside>


A [Qonversion](https://qonversion.io/) é uma plataforma de dados que pode ajudá-lo a aumentar a receita de assinaturas no aplicativo. A plataforma facilita a integração de assinaturas no aplicativo e a realização de testes de monetização.

A Qonversion oferece a infraestrutura de backend necessária para validar os recibos dos usuários e facilitar o acesso multiplataforma ao conteúdo pago em seu aplicativo, eliminando a necessidade de você desenvolver seu próprio servidor. Além disso, você pode aproveitar as análises detalhadas de assinaturas e as integrações perfeitas com as principais plataformas de marketing, atribuição e análise de produtos.

## Casos de uso

A Qonversion envia [eventos de assinatura](https://documentation.qonversion.io/docs/integrations-overview#tracked-events), incluindo compras, assinaturas após testes gratuitos, renovações, reembolsos, etc. para o Pushwoosh. Isso permite que você se conecte ativamente com os usuários para melhorar a retenção de clientes e, por fim, gerar maior receita para o seu negócio.

### Lembretes de renovação de assinatura

Você pode usar os dados da Qonversion sobre assinaturas expiradas para criar uma Customer Journey que envia automaticamente lembretes personalizados por meio de push notifications ou in-app messages.

### Ofertas personalizadas

Use os dados de assinatura da Qonversion para segmentar usuários que cancelaram suas assinaturas e criar uma Customer Journey que começa com uma push notification atraente oferecendo um desconto exclusivo. Se o usuário interagir com a push notification, mas não concluir a compra, a jornada pode então enviar uma in-app message com vantagens adicionais, incentivando-o a retornar e resgatar a oferta.

### Conversão de período de teste

Use a Qonversion para rastrear usuários cujo período de teste está prestes a terminar e crie Customer Journeys para incentivá-los a se converterem em assinantes pagantes.

## Configurando a integração

### Configurar os SDKs

1. Instale o SDK do Pushwoosh. Saiba mais sobre como instalar o SDK do Pushwoosh no [IOS](/pt/developer/pushwoosh-sdk/ios-sdk), [Android](/pt/developer/pushwoosh-sdk/android-sdk) e [Multiplataforma](/pt/developer/pushwoosh-sdk/cross-platform-frameworks).
2. Siga o [guia de instalação do SDK da Qonversion](https://documentation.qonversion.io/docs/install-sdk) para configurar o SDK da Qonversion.
3. Para atribuir eventos enviados da [Qonversion](https://dash.qonversion.io/site/login) a um usuário específico do Pushwoosh, defina o Hardware ID (HWID) do Pushwoosh:

<Tabs>
<TabItem label="Swift">
```swift
Qonversion.shared().setUserProperty(.pushWooshHwId, value: Pushwoosh.sharedInstance().getHWID())
```
</TabItem>

<TabItem label="Objective-C">
```objective-c
[[Qonversion sharedInstance] setUserProperty:QONUserPropertyKeyPushWooshHwId, value: [[Pushwoosh sharedInstance] getHWID]];
```
</TabItem>

<TabItem label="Java">
```java
Qonversion.getSharedInstance().setUserProperty(QUserPropertyKey.PushWooshHwId, Pushwoosh.getInstance().getHWID());
```
</TabItem>

<TabItem label="Kotlin">
```kotlin
Qonversion.shared.setUserProperty(QUserPropertyKey.PushWooshHwId, Pushwoosh.getInstance().getHWID())
```
</TabItem>


</Tabs>

<Tabs> 

<TabItem label="Flutter">
```
String hwid = await Pushwoosh.getInstance.getHWID;
Qonversion.getSharedInstance().setUserProperty(QUserPropertyKey.pushWooshHwId, hwid);
```
</TabItem>

<TabItem label="React Native">
```
Pushwoosh.getHwid( function(hwId) { Qonversion.getSharedInstance().setUserProperty(UserPropertyKey.PUSH_WOOSH_HW_ID, hwId); } );
```
</TabItem>

<TabItem label="Unity">
```
Qonversion.GetSharedInstance().SetUserProperty(UserPropertyKey.PushWooshHwId, Pushwoosh.Instance.HWID);
```
</TabItem>

<TabItem label="Cordova">
```
pushwoosh.getPushwooshHWID(
  function(hwId) {
    Qonversion.getSharedInstance().setUserProperty(Qonversion.UserPropertyKey.PUSH_WOOSH_HW_ID, hwId);
  }
);
```
</TabItem>
</Tabs>


4. (Opcional) Para maior precisão na atribuição, defina o mesmo user ID para o Pushwoosh e a Qonversion

<Tabs>
<TabItem label="Swift">
```swift
Pushwoosh.sharedInstance.setUserId("yourSideUserID")
Qonversion.shared().setUserProperty(.pushwooshUserId, value: "yourSideUserID")
```
</TabItem>

<TabItem label="Objective-C">
```objective-c
[[Pushwoosh sharedInstance] setUserId:@"yourSideUserID"];
[[Qonversion sharedInstance] setUserProperty:QONUserPropertyKeyPushwooshUserId, value: @"yourSideUserID";
```
</TabItem>

<TabItem label="Java">
```java
Pushwoosh.getInstance().setUserId("yourSideUserID");
Qonversion.getSharedInstance().setUserProperty(QUserPropertyKey.PushwooshUserId, "yourSideUserID");
```
</TabItem>

<TabItem label="Kotlin">
```kotlin
Pushwoosh.getInstance().setUserId("yourSideUserID")
Qonversion.shared.setUserProperty(QUserPropertyKey.PushwooshUserId, "yourSideUserID")
```
</TabItem>


</Tabs>

<Tabs> 
<TabItem label="Flutter">
```
Pushwoosh.getInstance.setUserId('yourSideUserID');
Qonversion.getSharedInstance().setUserProperty(QUserPropertyKey.pushwooshUserId, 'yourSideUserID');
```
</TabItem>

<TabItem label="React Native">
```
Pushwoosh.setUserId('yourSideUserID');
Qonversion.getSharedInstance().setUserProperty(UserPropertyKey.PUSH_WOOSH_USER_ID, 'yourSideUserID');
```
</TabItem>

<TabItem label="Unity">
```
Pushwoosh.Instance.SetUserId("yourSideUserID");
Qonversion.GetSharedInstance().SetUserProperty(UserPropertyKey.PushwooshUserId, "yourSideUserID");
```
</TabItem>

<TabItem label="Cordova">
```
pushwoosh.setUserId('yourSideUserID');
Qonversion.getSharedInstance().setUserProperty(Qonversion.UserPropertyKey.PUSH_WOOSH_USER_ID, 'yourSideUserID');
```
</TabItem>
</Tabs> 

### Configurar a integração com o Pushwoosh

1. Navegue até o seu [painel do Pushwoosh](https://app.pushwoosh.com/projects) para obter o seguinte:

* **Pushwoosh Application Code** (XXXXX-XXXXX) que está localizado abaixo do nome do seu aplicativo.

<img src="/integrations-qonversion-integration-1.webp" alt="Código de Aplicação do Pushwoosh"/>

* **Pushwoosh API Access Token**. Para obter o token, vá para Configurações > Acesso à API e copie o código.

<img src="/integrations-qonversion-integration-2.webp" alt="Token de Acesso à API do Pushwoosh"/>

Você pode saber mais sobre o API Access Token [neste guia](/pt/developer/api-reference/api-access-token).

2. Na [seção de Integrações](https://dash.qonversion.io/app/integration/) do seu [projeto Qonversion](https://dash.qonversion.io/site/login), selecione **Pushwoosh** e forneça a Chave de Aplicação do Pushwoosh e o Token de Acesso à API. Clique em **Salvar**.

<img src="/integrations-qonversion-integration-3.webp" alt="Configurando a integração do Pushwoosh na Qonversion"/>

3. Você pode usar os nomes de eventos padrão fornecidos pela Qonversion ou personalizá-los para atender às suas necessidades.

Depois de concluir essas etapas, a Qonversion começará a enviar dados de compras no aplicativo e de assinaturas para sua conta do Pushwoosh, permitindo que você aproveite essas informações para enviar mensagens mais direcionadas e eficazes aos seus usuários.