인앱 구매(IAP) 유효성 검사는 싱귤러가 앱(안드로이드 및 iOS)의 수익 이벤트를 평가하고 무효/부정 사용자 구매를 감지하여 수익 지표가 왜곡되지 않도록 하는 프로세스입니다.
SDK 연동에서 이벤트를 설정하는 방법에 대한 자세한 내용은 해당 SDK 가이드와 이벤트 및 수익 테스트를 참조하세요.
일반적인 질문
무효 구매는 일반적으로 다음과 같은 유형의 사기로 인해 발생합니다:
-
사용자 사기: 실제 사용자가 앱을 해킹하거나 속여 비용을 지불하지 않고 IAP 기반 혜택/아이템을 획득하는 경우입니다.
-
마케팅 사기: 사기성 퍼블리셔가 가짜 수익 이벤트를 전송하여 KPI를 높이고 양질의 사용자를 유치한 것처럼 보이게 합니다.
구글 플레이와 애플 앱스토어는 사용자가 안드로이드 및 iOS 앱을 통해 금융 거래를 할 때 디지털 영수증을생성합니다. 각 영수증은 구매 세부 정보를 인코딩하고 구글/애플이 암호화하여 서명합니다.
구매 영수증을 수익 이벤트와 함께 싱귤러에 전송하면 싱귤러가 구매의 적법성을 확인할 수 있습니다.
영수증과 함께 수익 이벤트를 받으면 Singular는 다음을 확인합니다:
- 싱귤러가 영수증을 받았습니다.
- 영수증이 재사용되지 않았습니다(즉, 과거 거래에서 전송된 영수증).
- 영수증의 서명이 유효합니다.
- iOS에서 Singular는 Apple의 인증서를 사용하여 서명을 확인합니다.
- Android에서는 앱의 라이선스 키가 제공된 경우 이를 사용합니다.
- 영수증 세부 정보가 앱 및 거래 세부 정보와 일치하는 경우
수익 이벤트가 유효하지 않은 것으로 Singular에서 확인되면 __iapinvalid__로 이름이 변경됩니다.
구매 영수증을 전송하려면 플랫폼과 연동 유형에 따라 올바른 IAP 보고 방법을 사용하세요:
영수증이 누락되면 사기성 수익일 수 있습니다.
모든 구매에 대해 영수증을 Singular에 전송하는 앱 버전이 있고 해당 새 버전이 앱 스토어에 출시되면, 이 버전 이후의 모든 새 이벤트에 영수증이 포함되어야 합니다.
영수증과 함께 제공되지 않는 모든 구매에 대한 수익을 Singular에서 거부하려면 앱 페이지에서 앱에 대해 영수증 없이 IAP 거부 옵션을 활성화하세요.
참고: 이 옵션을 활성화하기 전에 앱을 설치하거나 업데이트한 사용자의 수익은 거부되지 않습니다. 정확한 날짜는 토글 옆에 표시됩니다.
구매 유효성 검사를 사용하도록 설정하면 보고의 수익 필드에 유효한 수익만 표시됩니다.
이벤트 및 포스트백유형 모두에 대해 다음 필드가 로그에표시됩니다:
필드 | 확인해야 할사항 |
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__ 이벤트에 대한 포스트백을 구성할 수 있습니다.