메인 콘텐츠로 건너뛰기

개요

RevenueCat은 플랫폼 전반에서 인앱 구매 및 구독 수명 주기를 추적하는 데 도움이 됩니다. OneSignal을 사용하면 이 데이터를 사용하여 사용자의 구독 상태에 따라 개인화된 메시지를 보낼 수 있습니다. 이 통합은 최신 구독 정보로 OneSignal의 사용자 태그를 자동으로 업데이트합니다.

주요 이점

RevenueCat–OneSignal 통합을 통해 다음을 수행할 수 있습니다:
  • 무료 평가판 또는 방금 구독한 사용자에게 온보딩 메시지를 보냅니다.
  • 설문조사 또는 할인으로 이탈한 사용자를 다시 참여시킵니다.
  • 구매, 청구 문제 또는 갱신에 대한 트랜잭션 메시지를 보냅니다.
OneSignal의 정확한 구독 데이터로 캠페인이 더 스마트하고 효과적으로 만들 수 있습니다.

요구 사항


설정

OneSignal을 RevenueCat에 연결

  1. RevenueCat 대시보드에서 프로젝트 설정으로 이동하고 Integrations 메뉴에서 ‘OneSignal’을 선택합니다.
  2. OneSignal 앱 ID와 OneSignal API 키를 추가합니다. 자세한 내용은 Keys and IDs를 참조하세요.
  3. RevenueCat이 사용해야 하는 태그 이름을 입력하거나 기본 태그 이름을 선택합니다.

RevenueCat에 OneSignal ID 전달

RevenueCat은 OneSignal 사용자 ID(OneSignal ID)를 사용하여 RevenueCat 사용자 세부 정보를 기반으로 OneSignal의 사용자 태그를 업데이트합니다.
안정적인 식별자를 위해 OneSignal에서 External ID를 설정해야 합니다. 세션 중에 변경되면 OneSignal ID도 변경되어 RevenueCat 연결이 끊어질 수 있습니다.
OneSignal ID를 RevenueCat에 전달하려면 다음을 수행해야 합니다:
1

OneSignal에서 External ID 설정

OneSignal에서 External ID를 메인 사용자 ID로 설정합니다. SDK login 메서드를 사용하여 수행할 수 있습니다.
2

OneSignal ID 가져오기

OneSignal ID를 가져오려면 사용자 상태 옵저버 메서드를 사용하는 것이 좋지만 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 시간(초)
storeAPP_STORE, PLAY_STORE 또는 STRIPE 중 하나
environmentSANDBOX 또는 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
{
    "app_id": "12345678-1234-1234-1234-123456789012",
    "tags": {
        "user_id": "$RCAnonymousID:87c6049c58069238dce29853916d624c",
        "period_type": "NORMAL",
        "purchased_at": 1600016247,
        "expiration_at": 1602608247,
        "store": "APP_STORE",
        "environment": "PRODUCTION",
        "last_event_type": "initial_purchase",
        "last_event_at": 1600016250,
        "product_id": "monthly_sub",
        "entitlement_ids": "Pro"
    }
}

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고객은 일시 중지된 유료 구독을 보유하고 있으며 향후 날짜에 재개되도록 설정되어 있습니다.
여러 활성 구독이 있는 고객의 경우 이 속성은 가장 최근 이벤트가 발생한 구독의 상태만 나타냅니다.

FAQ

통합이 작동하는지 어떻게 알 수 있나요?

OneSignal에서 Audience > Users로 이동하고 OneSignal ID를 검색합니다. RevenueCat에 의해 업데이트된 태그를 볼 수 있어야 합니다. Audience > Segments로 이동하여 RevenueCat을 통해 설정한 태그를 필터링하는 세그먼트를 만들 수도 있습니다.

몇 개의 태그를 설정할 수 있나요?

OneSignal에서 설정할 수 있는 태그 수에는 제한이 없지만 각 사용자가 특정 시점에 보유할 수 있는 태그 수에는 제한이 있습니다. 자세한 내용은 가격 페이지를 참조하세요.