Apple 소비 정보 전송 동의 여부 질의
'Apple 소비 정보 리포트' 기능을 사용하려면 유저의 인앱 상품 소비 정보 전송 동의가 필요합니다. 이에 대해, Hive SDK iOS에서는 유저에게 인앱 상품 소비 정보를 Apple App Store에 전송할지의 동의 여부를 질의하는 기능을 제공합니다.
Note
'Apple 소비 정보 리포트'란 게임에서 유저의 인앱 구매에 대한 환불을 진행하기에 앞서 유저의 소비 수준, 유저의 환불 성향 등을 분석하도록 App Store에 유저의 인앱 상품 소비 정보를 전송하는 기능입니다.
App Store에서는 해당 정보를 바탕으로 환불 기준을 제공하므로 게임에서는 유저의 부정 사용을 방지할 수 있습니다.
인앱 상품 소비 정보 전송 동의 여부 질의하기¶
인앱 상품 소비 정보 전송 동의 여부 질의하기는 Hive 콘솔에서 관련 사용 설정 이후, 아래의 2가지 API를 사용하여 구현할 수 있습니다.
showConsumeInfoAgreement
getConsumeInfoAgreement
showConsumeInfoAgreement¶
showConsumeInfoAgreement
는 유저에게 소비 정보 전송 여부를 질의하는 팝업 UI를 노출합니다.
유저가 인앱상품을 구매할 때나 별도의 버튼을 눌렀을 때 노출되도록 호출할 수 있으며, 호출 후 전송 동의 여부에 대한 결과를 ResultAPI와 Boolean으로 반환합니다.
원하는 타이밍에 팝업을 노출하여 유저의 의사를 물어보세요. 첫 질의이거나 이전에 거부했던 유저 대상으로는 전송 '동의' 여부를 묻는 버튼이, 이전에 동의했던 유저라면 전송 '동의 철회' 여부를 묻는 버튼이 노출됩니다. 만약 유저의 마지막 동의 상태나 시점에 따라 노출 여부를 달리하고 싶다면, 아래 getConsumeInfoAgreement
API를 활용할 수 있습니다.
전송 '동의' 여부 노출 예시 | 전송 '동의 철회' 여부 노출 예시 |
---|---|
getConsumeInfoAgreement¶
getConsumeInfoAgreement
는 유저의 마지막 응답 정보를 조회하여 그 결과를 ResultAPI와 객체로 반환합니다. 이 API를 사용하면 유저의 동의 상태와 시점을 게임에서 따로 저장할 필요가 없으므로 리소스를 절약할 수 있습니다.
결과에 해당하는 객체는 유저의 마지막 동의값(Boolean), 첫 응답 시기(Integer), 마지막 응답 시기(Integer) 정보를 포함합니다. 한 번도 팝업을 노출한 적이 없는 유저에 대해서는 null을, 이전 응답 정보가 존재한다면 세 가지 값을 한 객체에 담아 반환합니다.
예제 코드¶
인앱 상품 소비 정보 전송 동의 여부 질의하기 관련 API를 사용하는 예시 코드는 아래와 같습니다.
showConsumeInfoAgreement
using hive;
IAPV4.showConsumeInfoAgreement((ResultAPI result, bool didAgree) => {
if (result.isSuccess()) {
// 유저가 약관에 동의했는지 거부했는지를 didAgree로 알아보세요.
}
});
getConsumeInfoAgreement
showConsumeInfoAgreement
#include <HIVE_SDK_Plugin/HIVE_CPP.h>
using namespace std;
using namespace hive;
IAPV4::showConsumeInfoAgreement([=](ResultAPI const & result, bool didAgree) {
if (result.isSuccess()) {
// 유저가 약관에 동의했는지 거부했는지를 didAgree로 알아보세요.
}
}
getConsumeInfoAgreement
showConsumeInfoAgreement
import HIVEService
IAPV4Interface.showConsumeInfoAgreement() { result, didAgree in
if result.isSuccess() {
// 유저가 약관에 동의했는지 거부했는지를 didAgree로 알아보세요.
}
}
getConsumeInfoAgreement