개요
RevenueCat은 플랫폼 전반에서 인앱 구매 및 구독 수명 주기를 추적하는 데 도움이 됩니다. OneSignal을 사용하면 이 데이터를 사용하여 사용자의 구독 상태에 따라 개인화된 메시지를 보낼 수 있습니다. 이 통합은 최신 구독 정보로 OneSignal의 사용자 태그를 자동으로 업데이트합니다.주요 이점
RevenueCat–OneSignal 통합을 통해 다음을 수행할 수 있습니다:- 무료 평가판 또는 방금 구독한 사용자에게 온보딩 메시지를 보냅니다.
- 설문조사 또는 할인으로 이탈한 사용자를 다시 참여시킵니다.
- 구매, 청구 문제 또는 갱신에 대한 트랜잭션 메시지를 보냅니다.
요구 사항
- RevenueCat 계정
- RevenueCat Purchases SDK
- RevenueCat-OneSignal 통합 이해
- 통합된 SDK가 있는 OneSignal 계정
- Data Tags, Users 및 OneSignal Subscriptions 이해
설정
OneSignal을 RevenueCat에 연결
- RevenueCat 대시보드에서 프로젝트 설정으로 이동하고 Integrations 메뉴에서 ‘OneSignal’을 선택합니다.
- OneSignal 앱 ID와 OneSignal API 키를 추가합니다. 자세한 내용은 Keys and IDs를 참조하세요.
- RevenueCat이 사용해야 하는 태그 이름을 입력하거나 기본 태그 이름을 선택합니다.
RevenueCat에 OneSignal ID 전달
RevenueCat은 OneSignal 사용자 ID(OneSignal ID)를 사용하여 RevenueCat 사용자 세부 정보를 기반으로 OneSignal의 사용자 태그를 업데이트합니다.안정적인 식별자를 위해 OneSignal에서 External ID를 설정해야 합니다. 세션 중에 변경되면 OneSignal ID도 변경되어 RevenueCat 연결이 끊어질 수 있습니다.
1
OneSignal에서 External ID 설정
OneSignal에서 External ID를 메인 사용자 ID로 설정합니다. SDK
login 메서드를 사용하여 수행할 수 있습니다.2
OneSignal ID 가져오기
OneSignal ID를 가져오려면 사용자 상태 옵저버 메서드를 사용하는 것이 좋지만 getter 메서드도 제공합니다:
- 사용자 상태 옵저버:
- Getter 메서드:
3
OneSignal ID를 RevenueCat에 전달
OneSignal ID를 RevenueCat에 전달합니다.
- RevenueCat 속성:
$onesignalUserId - RevenueCat 도우미 메서드:
setOneSignalUserID()(권장)
RevenueCat 이벤트를 OneSignal로 전송
OneSignal ID가 RevenueCat에 매핑된 사용자는 태그가 자동으로 업데이트됩니다.통합 테스트
1
샌드박스 구매 수행
앱을 설치하는 새 사용자를 시뮬레이션하고 앱 플로우를 거쳐 샌드박스 구매를 완료합니다.
OneSignal ID가 RevenueCat에 설정되어 있는지 확인하세요.
2
필수 장치 데이터가 수집되었는지 확인
RevenueCat에서 방금 구매한 테스트 사용자의 Customer View로 이동합니다. 모든 필수 데이터가 사용자의 속성으로 나열되어 있는지 확인하세요.
3
OneSignal 이벤트가 성공적으로 전달되었는지 확인
Customer View에 있는 동안 Customer History에서 테스트 구매 이벤트를 클릭하고 OneSignal 통합 이벤트가 존재하고 성공적으로 전달되었는지 확인하세요.
4
OneSignal 태그가 업데이트되었는지 확인
OneSignal에서 Audience > Users로 이동하고 OneSignal ID를 검색합니다. RevenueCat에 의해 업데이트된 태그를 볼 수 있어야 합니다.
통합이 완료되었습니다! 이제 사용자가 구매하거나 구독 상태를 업데이트할 때 OneSignal의 태그가 자동으로 업데이트됩니다.
RevenueCat 이벤트 태그
RevenueCat의 모든 자동 갱신 구독 이벤트에 대해 다음 태그가 OneSignal의 사용자에 추가되거나 업데이트됩니다. RevenueCat 대시보드에서 태그를 비워두면 특정 태그에 대한 값을 보내지 않도록 선택할 수 있습니다.| Tag | 설명 |
|---|---|
app_user_id | 이벤트를 트리거한 RevenueCat 앱 사용자 ID |
period_type | 구매 또는 갱신의 최신 기간 유형. 다음 중 하나: TRIAL (무료 평가판), INTRO (소개 가격), NORMAL (표준 구독) |
purchased_at | 최신 구독 구매 또는 갱신의 Epoch 시간(초) |
expiration_at | 최신 구독 만료 날짜의 Epoch 시간(초) |
store | APP_STORE, PLAY_STORE 또는 STRIPE 중 하나 |
environment | SANDBOX 또는 PRODUCTION 중 하나 |
last_event_type | 사용자의 최신 이벤트 유형. 다음 중 하나: INITIAL_PURCHASE, TRIAL_STARTED, TRIAL_CONVERTED, TRIAL_CANCELLED, RENEWAL, CANCELLATION |
product_id | 사용자가 구매하거나 갱신한 최신 구독 제품 식별자 |
entitlement_ids | 사용자가 잠금 해제한 RevenueCat Entitlement 식별자의 쉼표로 구분된 문자열 |
active_subscription | 값은 모든 구매/갱신 이벤트에서 true로, EXPIRATION에서 false로 설정됩니다. |
subscription_status | 아래 구독 상태 속성 참조 |
grace_period_expiration_at | 청구 문제가 발생하면 유예 기간 만료 날짜를 보냅니다. |
- 자동 갱신 구독만 해당
- RevenueCat은 자동 갱신 구독 이벤트에 대한 응답으로만 OneSignal의 데이터 태그를 업데이트합니다.
RevenueCat 이벤트 예시
제공된 JSON 예시는 RevenueCat Events를 기반으로 OneSignal로 전송되는 태그를 보여줍니다. 이벤트는last_event_type 태그로 저장됩니다.
- initial_purchase
- trial_started
- trial_converted
- trial_cancelled
- renewal
- cancellation
- uncancellation
- non_subscription_purchase
- subscription_paused
- expiration
- billing_issue
- product_change
subscription_status 태그
RevenueCat이 OneSignal에 이벤트를 보낼 때마다 subscription_status 태그가 적용 가능한 변경 사항과 함께 다음 값 중 하나를 사용하여 추가되거나 업데이트됩니다:
| Status | 설명 |
|---|---|
| active | 고객은 다음 갱신 날짜에 갱신하도록 설정된 활성 유료 구독을 보유하고 있습니다. |
| intro | 고객은 유료 소개 제안을 통해 활성 유료 구독을 보유하고 있습니다. |
| cancelled | 고객은 다음 갱신 날짜에 만료되도록 설정된 유료 구독을 보유하고 있습니다. |
| grace_period | 고객은 갱신에 실패한 후 유예 기간에 들어간 유료 구독을 보유하고 있습니다. |
| trial | 고객은 평가 기간 종료 시 유료로 전환하도록 설정된 평가 기간에 있습니다. |
| cancelled_trial | 고객은 평가 기간 종료 시 만료되도록 설정된 평가 기간에 있습니다. |
| grace_period_trial | 고객은 평가 기간에 있었으며 갱신에 실패한 후 유예 기간에 들어갔습니다. |
| expired | 고객의 구독이 만료되었습니다. |
| promotional | 고객은 RevenueCat을 통해 자격에 액세스할 수 있습니다. |
| expired_promotional | 고객은 이전에 만료된 RevenueCat Granted Entitlement를 통해 자격에 액세스했습니다. |
| paused | 고객은 일시 중지된 유료 구독을 보유하고 있으며 향후 날짜에 재개되도록 설정되어 있습니다. |