# Интеграция с Qonversion

<Aside type="caution" icon="setting" title="Требуется помощь разработчика">
 Вам понадобится помощь вашей команды разработчиков для настройки интеграции. Пожалуйста, поделитесь с ними этим руководством.
</Aside>


[Qonversion](https://qonversion.io/) — это платформа данных, которая поможет вам увеличить доход от подписок в приложении. Платформа упрощает интеграцию подписок в приложении и проведение тестов монетизации.

Qonversion предлагает необходимую бэкенд-инфраструктуру для проверки чеков пользователей и обеспечения кросс-платформенного доступа к платному контенту в вашем приложении, избавляя вас от необходимости разрабатывать собственный сервер. Кроме того, вы можете воспользоваться обширной аналитикой подписок и бесшовной интеграцией с ведущими платформами маркетинга, атрибуции и продуктовой аналитики.

## Варианты использования

Qonversion отправляет в Pushwoosh [события подписки](https://documentation.qonversion.io/docs/integrations-overview#tracked-events), включая покупки, подписки после бесплатного пробного периода, продления, возвраты и т.д. Это позволяет вам активно взаимодействовать с пользователями для повышения удержания клиентов и, в конечном итоге, увеличения доходов вашего бизнеса.

### Напоминания о продлении подписки

Вы можете использовать данные Qonversion об истекших подписках для создания Customer Journey, которая автоматически отправляет персонализированные напоминания через push-уведомления или in-app сообщения.

### Персонализированные предложения

Используйте данные о подписках из Qonversion для таргетинга на пользователей, отменивших подписку, и создайте Customer Journey, которая начинается с привлекательного push-уведомления с эксклюзивной скидкой. Если пользователь взаимодействует с push-уведомлением, но не совершает покупку, Journey может отправить in-app сообщение с дополнительными бонусами, побуждая его вернуться и воспользоваться предложением.

### Конверсия из пробной версии

Используйте Qonversion для отслеживания пользователей, у которых скоро закончится пробный период, и создавайте Customer Journeys, чтобы побудить их стать платными подписчиками.

## Настройка интеграции

### Настройка SDK

1. Установите Pushwoosh SDK. Узнайте больше о том, как установить Pushwoosh SDK на [IOS](/ru/developer/pushwoosh-sdk/ios-sdk), [Android](/ru/developer/pushwoosh-sdk/android-sdk) и [кросс-платформенных фреймворках](/ru/developer/pushwoosh-sdk/cross-platform-frameworks).
2. Следуйте [руководству по установке Qonversion SDK](https://documentation.qonversion.io/docs/install-sdk), чтобы настроить Qonversion SDK.
3. Чтобы атрибутировать события, отправленные из [Qonversion](https://dash.qonversion.io/site/login), конкретному пользователю Pushwoosh, установите Hardware ID (HWID) 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. (Опционально) Для повышения точности атрибуции установите одинаковый User ID для Pushwoosh и 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> 

### Настройка интеграции с Pushwoosh

1. Перейдите в [панель управления Pushwoosh](https://app.pushwoosh.com/projects), чтобы получить следующее:

* **Pushwoosh Application Code** (XXXXX-XXXXX), который находится под названием вашего приложения.

<img src="/integrations-qonversion-integration-1.webp" alt="Код приложения Pushwoosh"/>

* **Pushwoosh API Access Token**. Чтобы получить токен, перейдите в Settings > API Access и скопируйте код.

<img src="/integrations-qonversion-integration-2.webp" alt="Токен доступа к API Pushwoosh"/>

Вы можете узнать больше о токене доступа к API [в этом руководстве](/ru/developer/api-reference/api-access-token).

2. В [разделе Integrations](https://dash.qonversion.io/app/integration/) вашего [проекта Qonversion](https://dash.qonversion.io/site/login) выберите **Pushwoosh** и укажите Pushwoosh Application Key и API Access Token. Нажмите **Save**.

<img src="/integrations-qonversion-integration-3.webp" alt="Настройка интеграции Pushwoosh в Qonversion"/>

3. Вы можете использовать имена событий по умолчанию, предоставляемые Qonversion, или настроить их в соответствии с вашими потребностями.

После выполнения этих шагов Qonversion начнет отправлять данные о покупках в приложении и подписках в ваш аккаунт Pushwoosh, что позволит вам использовать эту информацию для более целенаправленного и эффективного обмена сообщениями с вашими пользователями.