# Adapty 통합

<Aside type="caution" icon="setting" title="개발자 지원 필요">
통합을 설정하려면 개발팀의 도움이 필요합니다. 이 가이드를 개발팀과 공유하세요.
</Aside>

## 통합 개요 및 사용 사례

[Adapty](https://app.adapty.io/login)는 모바일 앱 구독 관리 및 수익화 플랫폼입니다.

Adapty를 Pushwoosh와 통합하면 Adapty의 모든 구독 관련 이벤트와 페이월 상호작용을 Pushwoosh로 전달할 수 있습니다. 여기에서 타겟 캠페인을 시작하여 사용자 기반을 참여시키고, 업셀을 촉진하며, 갱신을 유도할 수 있습니다.

이 통합 덕분에 구독 기반 비즈니스는 커뮤니케이션을 더욱 효율적으로 만들고 상당한 수익 증대를 달성할 수 있습니다.

## 통합 설정하기

1. **[Adapty 계정](https://app.adapty.io/login)에서 시작하세요**

통합 섹션으로 이동하여 Pushwoosh를 선택하고, 토글을 off에서 on으로 전환하여 활성화한 다음, 필요한 필드를 완료하세요.

<img src="/integrations-adapty-integration-1.webp" alt="Pushwoosh와 Adapty 통합 - 1단계"/>

2. **Pushwoosh로 이동하여 필수 자격 증명 설정하기**

자격 증명을 설정하여 Pushwoosh와 Adapty 계정 간의 연결을 설정합니다. 이를 위해서는 Pushwoosh 앱 ID와 인증 토큰이 필요합니다.

<img src="/integrations-adapty-integration-2.webp" alt="Pushwoosh와 Adapty 통합 - 2단계"/>

3. **Pushwoosh 자격 증명 찾기**

*   앱 ID: Pushwoosh 대시보드에서 찾을 수 있습니다.
*   인증 토큰: Pushwoosh 설정의 API 액세스 섹션에 있습니다.

<img src="/integrations-adapty-integration-3.webp" alt="Pushwoosh와 Adapty 통합 - 3단계"/>

4. **이벤트 및 태그 구성하기**

자격 증명 설정 아래에는 Adapty에서 Pushwoosh로 보낼 다양한 이벤트 그룹을 선택하고 이름을 바꿀 수 있는 옵션이 있습니다. 필요한 이벤트를 검토하고 선택하세요. Adapty에서 사용 가능한 전체 이벤트 목록은 [자세한 가이드](https://docs.adapty.io/docs/events)를 참조하세요.

Adapty는 서버 간 통합을 통해 구독 이벤트를 Pushwoosh로 전송하며, 이를 통해 Pushwoosh 대시보드에서 이러한 이벤트를 완전히 볼 수 있습니다.

<img src="/integrations-adapty-integration-4.webp" alt="Pushwoosh와 Adapty 통합 - 4단계"/>

5. **사용자 지정 태그 활성화하기**

사용자 지정 태그를 활용하여 Adapty와의 Pushwoosh 통합을 강화하세요. 이 태그는 아래에 설명된 대로 특정 요구 사항에 맞게 조정할 수 있습니다:

*   adapty\_customer\_user\_id: Pushwoosh의 고유 사용자 식별자입니다.
*   adapty\_profile\_id: Adapty 대시보드에 표시되는 고유한 Adapty 사용자 프로필 ID입니다.
*   environment: 사용자의 환경을 식별하며, 'Sandbox' 또는 'Production'입니다.
*   store: 구매한 스토어를 나타냅니다 ('app\_store' 또는 'play\_store').
*   vendor\_product\_id: Apple/Google 스토어의 제품 ID입니다.
*   subscription\_expires\_at: 최신 구독의 만료 날짜이며, 특정 형식입니다.
*   last\_event\_type: Adapty의 가장 최근 이벤트 유형입니다.
*   purchase\_date: 마지막 거래 날짜이며, 특정 형식입니다.
*   original\_purchase\_date: 첫 구매 날짜이며, 특정 형식입니다.
*   active\_subscription: 구독 상태를 나타냅니다.
*   period\_type: 구매 또는 갱신의 최신 기간 유형입니다.

또한, 더 큰 추적 유연성을 위해 사용자 지정 속성을 통합할 수 있습니다. Adapty 측의 통합 페이지에서 'Send user custom attributes' 체크박스를 선택하면 Pushwoosh로 자동 전송됩니다.

6. **필수: SDK 구성하기**

통합을 완료하려면 Pushwoosh의 HWID 값을 Adapty로 보내세요:

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

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

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

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

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

Adapty.updateProfile(params, error -> {
    if (error != null) {
        // handle the 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) {
    // handle 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) {
  // handle `AdaptyError`
}
```
</TabItem>

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

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

<Aside type="note">
블로그에서 [Pushwoosh와 Adapty 통합의 가능한 사용 사례](https://blog.pushwoosh.com/blog/adapty-integration/)에 대해 더 자세히 알아보세요
</Aside>