인앱 구매 검증 FAQ

인앱 구매(IAP) 유효성 검사는 싱귤러가 앱(안드로이드 및 iOS)의 수익 이벤트를 평가하고 무효/부정 사용자 구매를 감지하여 수익 지표가 왜곡되지 않도록 하는 프로세스입니다.

SDK 연동에서 이벤트를 설정하는 방법에 대한 자세한 내용은 해당 SDK 가이드와 이벤트 및 수익 테스트를 참조하세요.

 

일반적인 질문

무효 구매의 원인은 무엇인가요?
#

무효 구매는 일반적으로 다음과 같은 유형의 사기로 인해 발생합니다:

  1. 사용자 사기: 실제 사용자가 앱을 해킹하거나 속여 비용을 지불하지 않고 IAP 기반 혜택/아이템을 획득하는 경우입니다.

  2. 마케팅 사기: 사기성 퍼블리셔가 가짜 수익 이벤트를 전송하여 KPI를 높이고 양질의 사용자를 유치한 것처럼 보이게 합니다.

싱귤러는 구매를 어떻게 검증하나요?
#

구글 플레이와 애플 앱스토어는 사용자가 안드로이드 및 iOS 앱을 통해 금융 거래를 할 때 디지털 영수증을생성합니다. 각 영수증은 구매 세부 정보를 인코딩하고 구글/애플이 암호화하여 서명합니다.

구매 영수증을 수익 이벤트와 함께 싱귤러에 전송하면 싱귤러가 구매의 적법성을 확인할 수 있습니다.

영수증과 함께 수익 이벤트를 받으면 Singular는 다음을 확인합니다:

  1. 싱귤러가 영수증을 받았습니다.
  2. 영수증이 재사용되지 않았습니다(즉, 과거 거래에서 전송된 영수증).
  3. 영수증의 서명이 유효합니다.
    1. iOS에서 Singular는 Apple의 인증서를 사용하여 서명을 확인합니다.
    2. Android에서는 앱의 라이선스 키가 제공된 경우 이를 사용합니다.
  4. 영수증 세부 정보가 앱 및 거래 세부 정보와 일치하는 경우

수익 이벤트가 유효하지 않은 것으로 Singular에서 확인되면 __iapinvalid__로 이름이 변경됩니다.

참고: 프로세스의 보안을 더욱 강화하기 위해 다음을 제공할 수 있습니다:

싱귤러에 구매 영수증을 보내려면 어떻게 해야 하나요?
#

구매 영수증을 전송하려면 플랫폼과 연동 유형에 따라 올바른 IAP 보고 방법을 사용하세요:

영수증 없이 구매 이벤트가 접수되면 어떻게 되나요?
#

영수증이 누락되면 사기성 수익일 수 있습니다.

모든 구매에 대해 영수증을 Singular에 전송하는 앱 버전이 있고 해당 새 버전이 앱 스토어에 출시되면, 이 버전 이후의 모든 새 이벤트에 영수증이 포함되어야 합니다.

영수증과 함께 제공되지 않는 모든 구매에 대한 수익을 Singular에서 거부하려면 페이지에서 앱에 대해 영수증 없이 IAP 거부 옵션을 활성화하세요.

참고: 이 옵션을 활성화하기 전에 앱을 설치하거나 업데이트한 사용자의 수익은 거부되지 않습니다. 정확한 날짜는 토글 옆에 표시됩니다.

mceclip0.png

구매 유효성 검사는 보고에 어떤 영향을 주나요?
#

구매 유효성 검사를 사용하도록 설정하면 보고의 수익 필드에 유효한 수익만 표시됩니다.

mceclip0.png

구매 유효성 검사는 Singular의 로그(내보내기 로그)에 어떻게 반영되나요?
#

이벤트포스트백유형 모두에 대해 다음 필드가 로그에표시됩니다:

필드 확인해야 사항
Event name 영수증이 유효하지 않은 경우 이벤트의 이름은 __iapinvalid__입니다.
Event revenue 영수증이 유효하지 않은 경우 이벤트의 수익은 0입니다.
Received revenue event 원래 이벤트 이름입니다.
Received revenue 원래 청구된 수익입니다.
Is revenue receipt included 구매에 대한 영수증이 제공되었는지 여부입니다.
Is revenue valid 구매가 유효한 것으로 확인되었는지 여부.
구매 유효성 검사는 포스트백에 어떻게 반영되나요?
#

내부 BI 포스트백

Singular는 다음 매개 변수를 전송합니다:

파라미터 확인 내용
event_name 영수증이 유효하지 않은 경우 이벤트의 이름은 __iapinvalid__입니다.
amount 영수증이 유효하지 않은 경우 이벤트의 수익은 0입니다.
received_revenue_event 원래 이벤트 이름입니다.
received_revenue 원래 청구된 수익입니다.
purchase_receipt_included 구매에 대한 영수증이 제공되었는지 여부입니다.
purchase_receipt_valid 구매가 유효한 것으로 확인되었는지 여부.

사용자 지정 포스트백

사용자 지정 포스트백을 구성하려면 포스트백 매크로 및 통과 매개변수에서 이벤트 매크로섹션을 참조하십시오.

참고: 거부된 매출에 대한 포스트백을 받으려면 __iapinvalid__ 이벤트에 대한 포스트백을 구성할 수 있습니다.