소비 정보 전송 동의 여부 질의
‘소비 정보 전송’ 기능을 사용하려면 유저의 인앱 구매 상품에 대한 소비 정보 전송 동의가 필요합니다. 이에 대해, Hive SDK에서는 유저에게 해당 소비 정보를 마켓에 전송할지의 동의 여부를 질의하는 기능 을 제공합니다.
Hive SDK의 ‘소비 정보 전송 동의 여부 질의하기’ 기능은 SDK v1 25.1.0 이상부터 사용할 수 있습니다.
Hive SDK의 ‘소비 정보 전송 동의 여부 질의하기’ 기능은 콘솔에서 사용 설정을 마친 후, 아래 두 가지 API를 통해 구현할 수 있습니다.
-
showConsumeInfoAgreement API:
유저에게 소비 정보 전송 동의 여부를 질의하는 팝업 UI를 노출합니다. 유저가 인앱 상품을 구매할 때나 별도의 버튼을 눌렀을 때 해당 팝업 UI가 노출되도록 호출할 수 있으며, 호출 후 전송 동의 여부에 대한 결과를 ResultAPI와 Boolean으로 반환합니다.
상품 구매 또는 구매 완료 시점에 Hive SDK의 showConsumeInfoAgreement API를 호출하여 소비 정보 전송에 대한 유저의 의사를 물어보세요. 게임 내 ‘소비 정보 전송 동의 여부 질의’ 팝업 UI을 노출할 수 있으며, 동의 여부에 대한 결과 값은 Hive 서버에서 저장하고 관리합니다 -
getConsumeInfoAgreement API:
Hive 서버로부터 이전 동의 정보를 획득하려면, getConsumeInfoAgreement API를 이용할 수 있습니다. getConsumeInfoAgreement API는 유저의 마지막 응답 정보를 조회하여 그 결과를 ResultAPI와 객체로 반환합니다. 결과로 반환되는 객체에는 유저의 마지막 동의값(Boolean), 첫 응답 시기(Integer), 마지막 응답 시기(Integer) 정보가 포함됩니다. 응답 시기는 Unix timestamp 형식으로 제공됩니다.
한 번도 팝업을 노출한 적이 없는 유저에 대해서는 null 값이, 이전 응답 정보가 존재한다면 위 세 개 값이 하나의 객체로 반환됩니다.
예제 코드
각 API의 예제 코드는 다음과 같습니다.
Unity®
1 2 3 4 5 6 7 8 9 10 11 12 13 |
// showConsumeInfoAgreement C2SModule.Parameter arg = new C2SModule.Parameter(); C2SModule.Error error; if (!C2SModule.InappV4.ShowConsumeInfoAgreement (arg, out error)) { // 에러 발생 시 처리 } // getConsumeInfoAgreement C2SModule.Parameter arg = new C2SModule.Parameter(); C2SModule.Error error; if (!C2SModule.InappV4.GetConsumeInfoAgreement (arg, out error)) { // 에러 발생 시 처리 } |
Cocos2d-x
1 2 3 4 5 6 7 8 9 |
// showConsumeInfoAgreement CS_IapV4ShowConsumeInfoAgreement([](CS_IapV4Result iapResult, bool didAgree){ // 결과 및 동의 여부 확인 } // getConsumeInfoAgreement CS_IapV4GetConsumeInfoAgreement([](CS_IapV4Result iapResult, CS_IapV4ConsumeInfoUserAgreement* info){ // 결과 및 정보 확인 }); |
iOS
1 2 3 4 5 6 7 8 9 10 11 12 13 |
// showConsumeInfoAgreement [C2SModuleInappV4 ShowConsumeInfoAgreement:nil error:&error completionHandler:^(NSDictionary *resultArg, NSError *resultError) { if(resultError == nil) { // 성공 } }]; // getConsumeInfoAgreement [C2SModuleInappV4 GetConsumeInfoAgreement:nil error:&error completionHandler:^(NSDictionary *resultArg, NSError *resultError) { if(resultError == nil) { // 성공 } }]; |