# RevenueCat 통합

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

[RevenueCat](https://www.revenuecat.com/)은 iOS, Android 및 웹 플랫폼 전반에 걸쳐 기업의 인앱 구매 및 구독을 단순화하는 구독 관리 플랫폼입니다. 인앱 구독을 구축, 분석 및 향상하기 위한 포괄적인 도구를 제공합니다.

Pushwoosh를 [RevenueCat](https://www.revenuecat.com/)과 통합함으로써 기업은 RevenueCat에서 Pushwoosh로 전송된 구독 이벤트를 기반으로 사용자에게 타겟 푸시 알림, 인앱 프롬프트 및 기타 메시지를 보낼 수 있습니다. 이를 통해 사용자가 구독을 갱신하거나, 더 높은 등급으로 업그레이드하거나, 특별 혜택을 이용하도록 유도하여 참여도를 높이고 수익을 극대화하며 구독 관리를 단순화할 수 있습니다.

## 사용 사례

#### 개인화된 커뮤니케이션

기업은 이 통합을 사용하여 고객과의 커뮤니케이션을 개인화할 수 있습니다. 예를 들어, 이러닝 플랫폼은 구독 요금제 변경을 감지했을 때 개인화된 푸시 알림을 보내 사용자 참여를 높일 수 있습니다. 이러한 알림은 전환 안내를 제공하고, 새로운 요금제에 기반한 관련 강좌를 추천하며, 업데이트에 맞는 독점 혜택을 제공합니다.

#### 결제 문제 알림

사용자의 구독에 결제 문제가 발생했을 때, 기업은 RevenueCat과 Pushwoosh 통합을 사용하여 신속하게 타겟 알림을 보낼 수 있습니다. 예를 들어, 스트리밍 서비스는 사용자에게 결제 문제를 알리고 결제 정보 업데이트와 같은 해결 지침을 제공할 수 있습니다.

#### 비갱신 구매 알림

기업은 RevenueCat과 Pushwoosh 통합을 활용하여 일회성 구매를 지속적인 고객 관계로 전환할 수 있습니다. 예를 들어, 음식 배달 서비스는 구매 후 푸시 알림을 보내 고객에게 감사 인사를 전하고 관련 제품을 추천하거나 지속적인 편의를 위해 구독 요금제를 홍보할 수 있습니다. 이는 고객 충성도를 높이고, 상향 판매 기회를 창출하며, 일회성 구매자를 구독자로 전환할 수 있는 잠재력을 가집니다.

#### 등급 업그레이드 프로모션

여러 구독 등급이 있는 앱은 이 통합을 사용하여 사용자 구독을 모니터링하고 맞춤형 업그레이드 프롬프트를 보낼 수 있습니다. 예를 들어, 게임 앱은 푸시 알림을 사용하여 독점 콘텐츠나 할인과 같은 프리미엄 레벨의 이점을 강조하여 사용자가 구독을 업그레이드하도록 유도할 수 있습니다.

## 이벤트

이 통합을 통해 다양한 이벤트를 추적할 수 있으며, RevenueCat에서 첫 번째 이벤트가 전송되면 Pushwoosh에서 자동으로 이벤트가 생성됩니다. 이러한 이벤트는 다음과 같습니다:

| 이벤트 | 이벤트 이름 <div style="width:160px"></div> | 설명 | 속성 <div style="width:200px"></div> |
|---|---|---|---|
| 최초 구매 | `RC_INITIAL_PURCHASE` | 새로운 구독이 구매되었습니다. | <ul><li>price</li><li>price_in_purchased_currency</li><li>currency</li></ul> |
| 비갱신 구매 | `RC_NON_RENEWING_PURCHASE` | 고객이 자동 갱신되지 않는 구매를 했습니다. | <ul><li>price</li><li>price_in_purchased_currency</li><li>currency</li></ul> |
| 갱신 | `RC_RENEWAL` | 기존 구독이 갱신되었거나, 만료된 사용자가 다시 구독했습니다. | <ul><li>price</li><li>price_in_purchased_currency</li><li>currency</li></ul> |
| 상품 변경 | `RC_PRODUCT_CHANGE` | 구독자가 구독 상품을 변경했습니다. | |
| 취소 | `RC_CANCELLATION` | 구독 또는 비갱신 구매가 취소되었습니다. | |
| 결제 문제 | `RC_BILLING_ISSUE` | 구독자에게 요금을 청구하는 동안 문제가 발생했습니다. | |
| 구독자 별칭 | `RC_SUBSCRIBER_ALIAS` | 기존 구독자에 대해 새로운 `app_user_id`가 등록될 때마다 발생합니다. | |
| 구독 일시 중지 | `RC_SUBSCRIPTION_PAUSED` | 구독이 기간 종료 시점에 일시 중지되도록 설정되었습니다. | |
| 취소 철회 | `RC_UNCANCELLATION` | 만료되지 않은 취소된 구독이 다시 활성화되었습니다. | |
| 이전 | `RC_TRANSFER` | 하나의 App User ID에서 다른 App User ID로 거래 및 권한 이전이 시작되었습니다. | |
| 구독 연장 | `RC_SUBSCRIPTION_EXTENDED` | 기존 구독이 연장되었습니다 (현재 구독 기간의 만료일이 연기되었습니다). | |
| 만료 | `RC_EXPIRATION` | 고객의 구독이 만료됩니다. | <ul><li>price</li><li>price_in_purchased_currency</li><li>currency</li><li>expiration_at</li><li>purchased_at</li></ul> |

이 모든 이벤트를 [고객 여정(customer journeys)](/ko/product/customer-journey/pushwoosh-journey-overview)에서 사용할 수 있습니다. price 속성이 있는 이벤트는 [RFM 세분화(RFM segmentation)](/ko/product/audience-data-and-segmentation/segmentation/rfm-segmentation)와 함께 사용할 수 있습니다.

## 통합 설정하기

### Pushwoosh와 RevenueCat 간의 User ID 및 HWID 동기화

RevenueCat과 Pushwoosh 간의 이벤트를 동일한 사용자에게 동기화하려면 Pushwoosh UserID를 RevenueCat App User Id와 일치하도록 설정해야 합니다. 이를 위해 RevenueCat SDK의 appUserID를 Pushwoosh SDK에 설정하세요. [RevenueCat appUserID에 대해 자세히 알아보기](https://www.revenuecat.com/docs/customers/user-ids#provide-app-user-id-on-configuration)

#### Android의 경우

`Pushwoosh.getInstance().setUserId(appUserIDFromRC);` 메서드를 사용하여 RevenueCat SDK에서 얻은 appUserID를 Pushwoosh SDK에 설정합니다.

#### iOS의 경우

`[[Pushwoosh sharedInstance] setUserId: appUserIDFromRC];` 메서드를 사용하여 RevenueCat SDK에서 얻은 appUserID를 Pushwoosh SDK에 설정합니다.

### RevenueCat 이벤트를 Pushwoosh로 보내기

Pushwoosh와 RevenueCat에서 User ID와 HWID를 동기화한 후, RevenueCat 대시보드에서 Pushwoosh 통합을 활성화합니다.

1. RevenueCat 대시보드에서 프로젝트로 이동하여 왼쪽 메뉴에서 통합(Integrations) 카드를 찾습니다. **+ 새로 만들기(+ New)** 또는 **통합 추가(Add integration)**를 클릭합니다.

<img src="/integrations-revenuecat-integration-1.webp" alt="RevenueCat 대시보드에서 통합 찾기"/>

2. **통합(Integrations)** 메뉴에서 **웹훅(Webhooks)**을 선택합니다.

<img src="/integrations-revenuecat-integration-2.webp" alt="통합 메뉴에서 웹훅 선택하기"/>

3. 쉽게 식별할 수 있도록 통합에 _Pushwoosh_와 같이 간단한 이름을 지정합니다.
4. **웹훅 URL(Webhook URL)** 필드에 다음 URL을 입력합니다:

`https://integration-revenuecat.svc-nue.pushwoosh.com/integration-revenuecat/v1/post-event?pwapp=APP_CODE"`

<img src="/integrations-revenuecat-integration-3.webp" alt="Pushwoosh 통합을 위한 웹훅 URL 입력"/>

URL에서 **APP_CODE**를 Pushwoosh 계정의 애플리케이션 이름 아래에 있는 기존 Pushwoosh 애플리케이션 코드로 교체합니다.

<img src="/integrations-revenuecat-integration-4.webp" alt="Pushwoosh 애플리케이션 코드 찾기"/>

5. **인증 헤더 값(Authorization header value)** 필드에 **Pushwoosh API 토큰**을 삽입합니다. 이 토큰은 Pushwoosh의 **설정(Settings) > API 액세스(API Access)**에서 찾을 수 있습니다.

<img src="/integrations-revenuecat-integration-5.webp" alt="인증 헤더에 Pushwoosh API 토큰 입력"/>

6. 프로덕션(실제) 구매, 샌드박스(테스트) 구매 또는 둘 다에 대한 이벤트를 전송할지 결정합니다.
7. **앱(App)** 드롭다운에서 웹훅 이벤트를 단일 앱에 대해 보낼지 프로젝트 내의 모든 앱에 대해 보낼지 지정합니다.
8. **이벤트 유형(Event Type)** 드롭다운에서 모든 이벤트를 보낼지 또는 Pushwoosh로 보낼 이벤트를 지정할지 선택합니다.

<img src="/integrations-revenuecat-integration-6.webp" alt="RevenueCat 웹훅에서 이벤트 유형 구성"/>

9. 모든 이벤트, 성공한 이벤트만 또는 실패한 이벤트만 표시하도록 선택합니다.

<img src="/integrations-revenuecat-integration-7.webp" alt="웹훅에서 이벤트 표시 옵션 선택"/>

추가적으로, 테스트 웹훅을 보낼 수 있는 옵션이 있습니다.