Cordova SDK - 인앱 이벤트 추적

인앱 이벤트 추적

인앱 이벤트를 추적하여 캠페인 성과를 분석하고 사용자 로그인, 회원가입, 튜토리얼 완료, 진행 단계 달성과 같은 핵심 성과 지표(KPI)를 측정하세요.

표준 이벤트 및 속성

이벤트 유형 이해하기

Singular은 범용 추적 요구사항과 앱별 추적 요구사항을 모두 충족하기 위해 두 가지 유형의 이벤트를 지원합니다.

  • 표준 이벤트: Singular이 인식하고 광고 네트워크가 리포팅 및 최적화에 지원하는 사전 정의된 이벤트입니다(예: sngLogin , sngContentView ). 표준 이벤트를 사용하면 Singular이 수동 정의 없이 이벤트 목록에 자동으로 추가하므로 설정이 간단해집니다. 전체 이벤트 이름과 권장 속성은 표준 이벤트 및 속성 목록 을 참조하세요.
  • 커스텀 이벤트: Singular의 표준 이벤트와 일치하지 않는, 앱에 고유한 이벤트입니다(예: Signup , AchievementUnlocked ).

권장 사항: 광고 네트워크와의 호환성 및 Singular 이벤트 목록에서의 자동 인식을 위해 가능하면 표준 이벤트를 사용하세요.

UA, 마케팅 또는 비즈니스 팀이 조직의 마케팅 KPI를 기준으로 이벤트 목록을 작성해야 합니다. 계획 수립 시에는 인앱 이벤트 추적 방법: Singular 어트리뷰션 고객용 가이드 를 참조하세요.


커스텀 이벤트 제한 사항

커스텀 이벤트에는 서드파티 파트너 및 분석 솔루션과의 호환성을 보장하기 위한 문자 및 인코딩 제한이 있습니다.

커스텀 이벤트 제한 사항:

  • 언어: 서드파티 파트너 및 분석 솔루션과의 호환성을 위해 이벤트 이름과 속성은 영문으로 전달하세요
  • 이벤트 이름: ASCII 32자로 제한됩니다. ASCII가 아닌 문자열은 UTF-8로 변환했을 때 32바이트 미만이어야 합니다
  • 속성 및 값: ASCII 500자로 제한됩니다

이벤트 전송

event 메서드

추가 속성이 없는 간단한 이벤트를 추적하려면 event() 메서드를 사용하세요.

JavaScript
// Track a simple custom event
cordova.plugins.SingularCordovaSdk.event('SignUp');

// Track a standard event
cordova.plugins.SingularCordovaSdk.event('sngLogin');

메서드 시그니처:

event(eventName: string): void

전체 메서드 목록은 event 메서드 레퍼런스 를 참조하세요.


eventWithArgs 메서드

추가 커스텀 속성과 함께 이벤트를 추적하여 더 풍부한 컨텍스트를 제공하고 리포트에서 상세한 세분화를 사용할 수 있습니다.

JavaScript
// Track custom event with attributes
cordova.plugins.SingularCordovaSdk.eventWithArgs('LevelComplete', {
  level: 5,
  score: 1250,
  time_spent: 45.3
});

// Track standard event with recommended attributes
cordova.plugins.SingularCordovaSdk.eventWithArgs('sngTutorialComplete', {
  sngAttrContent: 'Cordova Basics',
  sngAttrContentId: '32',
  sngAttrContentType: 'video',
  sngAttrSuccess: 'yes'
});

메서드 시그니처:

eventWithArgs(eventName: string, args: Object): void

전체 메서드 목록은 eventWithArgs 메서드 레퍼런스 를 참조하세요.


모범 사례

  • 표준 이벤트 사용: 광고 네트워크와의 호환성 및 Singular 이벤트 목록에서의 자동 인식을 위해 표준 이벤트를 우선 사용하세요
  • 속성 검증: 전송하기 전에 속성이 예상 형식과 문자 수 제한에 맞는지 확인하세요
  • 이벤트 디버깅: 개발 중에는 SDK 로깅을 활성화하여 이벤트가 올바르게 전송되고 적절한 시점에 발생하는지 확인하세요
  • 팀과의 협업: UA/마케팅 팀과 협력하여 추적 중인 이벤트가 앱의 KPI와 일치하는지 확인하세요
  • 프로덕션 전 테스트: 개발 환경에서 이벤트를 테스트하여 Singular 대시보드의 데이터 정확성을 확인하세요

인앱 구매 추적

인앱 구매(IAP), 구독, 커스텀 구매원의 구매을 추적하여 캠페인 성과와 광고 투자 구매률(ROAS)을 측정할 수 있습니다.

구매 데이터는 세 가지 채널을 통해 전달됩니다:

  • 인터랙티브 보고서: Singular 대시보드에서 구매 지표를 볼 수 있습니다.
  • 로그 내보내기: 사용자 지정 분석을 위해 상세한 ETL 데이터에 액세스
  • 실시간 포스트백: 구매 이벤트를 외부 플랫폼으로 전송

왜 구매 이벤트를 추적해야 하나요?

  • 풍부한 분석: 상세한 거래 데이터를 캡처하여 Singular 리포트 강화
  • 사기 방지: 거래 영수증(예: 구글 플레이 또는 애플 앱스토어)을 포함시켜 구매를 검증하고 인앱 사기를 방지합니다.
  • 캠페인 최적화: 구매을 마케팅 활동과 연결하여 ROI 측정

모범 사례: 전체 구매 개체 전달

안드로이드(구글 플레이 청구) 또는 iOS(스토어키트)의 인앱 구매(IAP) 프로세스에서 반환된 구매 객체를 전달할 것을 강력히 권장합니다. 이렇게 하면 Singular가 다음과 같은 포괄적인 거래 세부 정보를 수신할 수 있습니다:

  • 제품 ID
  • 가격
  • 통화
  • 거래 ID
  • 영수증 데이터(유효성 검사용)

전체 구매 개체를 전달하면 더욱 풍부한 리포팅이 가능하며, 특히 구글 플레이 거래에 대한 Singular의 사기 탐지 기능을 활용할 수 있습니다.


인앱 구매 연동

IAP 구매 개체 캡처

Cordova IAP 플러그인을 사용하면 플랫폼 스토어에서 전체 거래 세부 정보가 포함된 구매 개체를 검색할 수 있습니다.


SingularIAP 생성자

플랫폼별 영수증 유효성 검사 및 사기 방지를 통해 구매을 추적하기 위한 인앱 구매 객체를 생성합니다.

생성자 서명 :

function SingularIAP(product: Object): SingularIAP

전체 생성자 참조는 SingularIAP 생성자 참조를 참조하세요.


전체 IAP 구현 예시

플랫폼별 구매 객체를 사용하여 IAP 이벤트를 캡처하고 이를 Singular로 전송하는 전체 구매 리스너를 구현합니다.

JavaScript
// Import Singular SDK and SingularIAP constructor
var Singular = cordova.plugins.SingularCordovaSdk;
var SingularIAP = cordova.plugins.SingularCordovaSdk.SingularIAP;

// iOS App Store purchase example
function handleiOSPurchase(purchase) {
  // Create iOS product object
  var iosProduct = {
    currency: 'USD',
    price: '$4.99',
    id: 'com.app.premiumgems',
    transaction: {
      type: 'ios-appstore',
      appStoreReceipt: purchase.receipt, // Base64 receipt from StoreKit
      id: purchase.transactionId // Transaction identifier
    }
  };

  // Create SingularIAP object
  var iosIAP = new SingularIAP(iosProduct);

  // Track the purchase with Singular
  // The SingularIAP object is passed as additional args
  cordova.plugins.SingularCordovaSdk.eventWithArgs('iap_purchase', iosIAP);
}

// Android Play Store purchase example
function handleAndroidPurchase(purchase) {
  // Create Android product object
  var androidProduct = {
    currency: 'USD',
    price: '$4.99',
    id: 'com.app.premiumgems',
    transaction: {
      type: 'android-playstore',
      receipt: purchase.receipt, // JSON receipt from Google Play
      signature: purchase.signature // Signature from Google Play
    }
  };

  // Create SingularIAP object
  var androidIAP = new SingularIAP(androidProduct);

  // Track the purchase with Singular
  cordova.plugins.SingularCordovaSdk.eventWithArgs('iap_purchase', androidIAP);
}

// Example integration with cordova-plugin-purchase
document.addEventListener('deviceready', function() {
  // Initialize the store
  store.register({
    id: 'com.app.premiumgems',
    type: store.CONSUMABLE
  });

  // Handle purchase approved
  store.when('com.app.premiumgems').approved(function(product) {
    // Determine platform and handle accordingly
    if (device.platform === 'iOS') {
      handleiOSPurchase(product.transaction);
    } else if (device.platform === 'Android') {
      handleAndroidPurchase(product.transaction);
    }

    // Finish the transaction
    product.finish();
  });

  // Refresh the store
  store.refresh();
});

핵심 포인트 :

  • SingularIAP 생성자는 iOS 및 Android 플랫폼 모두에 대해 구매 데이터 형식을 지정합니다.
  • eventWithArgs() 에서 결과 IAP 객체를 args 파라미터로 전달합니다.
  • IAP 객체에는 사기 방지를 위한 영수증 유효성 검사 데이터가 포함됩니다.
  • Singular는 자동으로 매출, 통화 및 제품 세부 정보를 추출합니다.

수동 구매 추적

구매 유효성 검사 없는 구매

구매 개체 없이 통화, 금액, 선택적 제품 세부 정보를 전달하여 구매을 추적합니다. 이 방법은 유효성 검사를 위한 거래 영수증을 제공하지 않습니다.

중요: 유효한 구매 개체 없이 구매 이벤트를 전송하는 경우 Singular는 거래의 유효성을 검사하지 않습니다. 가능하면 위에서 설명한 SingularIAP 생성자를 사용하는 것이 좋습니다.

참고: 통화를 세 글자 ISO 4217 통화 코드(예: USD , EUR , INR )로 전달하세요.


구매 방법

지정된 통화와 금액으로 간단한 구매 이벤트를 추적합니다.

JavaScript
// Track revenue without product details
cordova.plugins.SingularCordovaSdk.revenue('USD', 4.99);

메소드 서명 :

revenue(currency: string, amount: number): void

전체 메소드 목록은 구매 메소드 참조를 참조하세요.


RevenueWithArgs 메서드

지정된 통화, 금액 및 추가 사용자 지정 속성을 사용하여 구매 이벤트를 추적합니다.

JavaScript
// Track revenue with attributes
cordova.plugins.SingularCordovaSdk.revenueWithArgs('USD', 9.98, {
  productSKU: 'coin_package_abc123',
  productName: 'Coin Pack 10',
  productCategory: 'Bundles',
  productQuantity: 2,
  productPrice: 4.99,
  transaction_id: 'T12345'
});

메소드 서명 :

revenueWithArgs(currency: string, amount: number, args: Object): void

전체 메소드 목록은 구매 메소드 참조를 참조하세요.


CustomRevenue 메서드

지정된 이벤트 이름, 통화 및 금액으로 사용자 지정 구매 이벤트를 추적합니다.

JavaScript
// Track custom revenue event
cordova.plugins.SingularCordovaSdk.customRevenue('PremiumUpgrade', 'USD', 9.99);

메서드 서명 :

customRevenue(eventName: string, currency: string, amount: number): void

전체 메소드 목록은 customRevenue 메소드 참조를 참조하세요.


CustomRevenueWithArgs 메서드

지정된 이벤트 이름, 통화, 금액 및 추가 사용자 지정 속성을 사용하여 사용자 지정 구매 이벤트를 추적합니다.

JavaScript
// Track custom revenue event with attributes
cordova.plugins.SingularCordovaSdk.customRevenueWithArgs('PremiumBundlePurchase', 'USD', 99.99, {
  productSKU: 'premium_bundle_xyz',
  productName: 'Premium Bundle',
  productCategory: 'Bundles',
  productQuantity: 1,
  productPrice: 99.99,
  discount_applied: true
});

메서드 서명 :

customRevenueWithArgs(eventName: string, currency: string, amount: number, args: Object): void

전체 메소드 목록은 customRevenueWithArgs 메소드 참조를 참조하세요.


구독 구매

구독 추적

Singular는 Singular SDK를 사용하여 구독 이벤트를 구현하는 방법에 대한 포괄적인 가이드를 제공합니다. 이 가이드는 다양한 플랫폼에서 인앱 구독 이벤트 추적을 다룹니다.


하이브리드 이벤트 추적(고급)

CDP 및 서드파티 연동 비호환성: SDID는 CDP(Segment, mParticle) 또는 서드파티 구독 제공업체(RevenueCat, Adapty)와 호환되지 않습니다. SDID가 활성화된 경우 이러한 플랫폼을 이벤트 전달에 병행하여 사용할 수 없으며, 이는 불완전하거나 손상된 어트리뷰션으로 이어집니다.

Singular는 최적의 어트리뷰션을 위해 앱에 연동된 Singular SDK를 통해 모든 이벤트와 구매을 전송할 것을 권장합니다. 하지만, 필요한 경우 Singular는 다른 소스에서 이벤트를 수집할 수 있습니다.

Singular SDK 외부에서 전송되는 이벤트는 Singular의 서버 간 이벤트 문서 요구사항을 준수해야 하며, 정확한 어트리뷰션을 위해 일치하는 기기 식별자를 제공해야 합니다.

중요:

서버 간 이벤트 요청에 사용된 디바이스 식별자가 Singular에 일치하는 디바이스 식별자가 없는 경우 불일치가 발생할 수 있습니다. 다음과 같은 가능성에 유의하세요:

  • 초기 이벤트: 이벤트 요청이 앱 세션에서 디바이스 식별자를 기록하기 전에 수신된 경우, 이벤트 요청은 알 수 없는 디바이스에 대한 "첫 번째 세션"으로 간주되며, Singular는 해당 디바이스를 오가닉 어 트리뷰션으로 어트리뷰션합니다.
  • 불일치 식별자: Singular SDK가 디바이스 식별자를 기록했지만 서버 간 이벤트 요청에 지정된 디바이스 식별자와 다른 경우, 해당 이벤트는 잘못 어트리뷰션됩니다 .

하이브리드 이벤트 추적 가이드

내부 서버에서 이벤트 보내기

내부 서버에서 구매 데이터를 수집하여 캠페인 성과와 ROI를 분석하세요.

요구 사항

  • 디바이스 식별자를 캡처합니다: 인앱 등록 또는 로그인 이벤트에서 디바이스 식별자를 캡처하여 전달하고 이 데이터를 서버에 사용자 ID와 함께 저장하세요. 디바이스 식별자는 사용자에 따라 변경될 수 있으므로 사용자가 앱 세션을 생성할 때 식별자를 업데이트하세요. 이렇게 하면 서버 측 이벤트가 올바른 디바이스에 어트리뷰션되도록 보장할 수 있습니다.
  • 플랫폼별 식별자: 서버 측 이벤트는 플랫폼별로 다르며 디바이스 플랫폼과 일치하는 디바이스 식별자(예: iOS 디바이스의 경우 IDFA 또는 IDFV, 안드로이드 디바이스의 경우 GAID)로만 전송해야 합니다.
  • 실시간 업데이트: Singular 내부 BI 포스트백 메커니즘을 사용하여 이벤트를 내부 엔드포인트에 실시간으로 푸시하여 서버 측의 데이터 집합을 업데이트할 수 있습니다. 내부 BI 포스트백 FAQ를 참조하세요.
  • 구현 세부 정보: 자세한 내용은 서버 간 연동 가이드의 구매 추적 섹션을 검토하세요.

구매 제공업체에서 이벤트 보내기

RevenueCat 또는 어댑터와 같은 타사 구매 제공업체를 연동하여 구매 및 구독 구매을 Singular로 전송하세요.

지원되는 제공업체


세그먼트에서 이벤트 보내기

세그먼트에 "클라우드 모드" 대상을 추가하여 세그먼트에서 이벤트를 Singular SDK와 병행하여 Singular로 전송할 수 있도록 설정하세요.

자세한 설정 지침은 구현 가이드 Singular-Segment 연동을 참조하세요.