모바일/Android

인앱결제 구현시 "android.test.purchased" 를 이용한 테스트 문제점, 샘플앱을 이용시..

늘근이 2017. 6. 21. 07:39

인앱결제에서 API3 버전

android.test.purchased를 써야한다. 

근데 샘플앱이 제공하는 클래스를 그대로 쓰다가는 consume이 안되어 망한다.

https://stackoverflow.com/questions/14600664/android-in-app-purchase-signature-verification-failed/22088718#22088718

위의 글을 보고 참고한다.

Security.java를 가서 verifyPurchase를 true로 리턴하도록 바꾸고 consume을 강제적으로 써야한다.

if (inventory.hasPurchase(SKU_ANDROID_TEST_PURCHASE_GOOD)) {  
   mHelper.consumeAsync(inventory.getPurchase(SKU_ANDROID_TEST_PURCHASE_GOOD),null);
   }

문제는 test자체에 orderId가 없기때문에 이게 자꾸 security에서 false를 뱉어내어 inventory가 초기 세팅이 안된다는점이다.


In in-app billing API3, you sometimes are tempt to use android.test.purchased to check the logic is working right.

but, if you use helper classes from Trivial Drive, right after you purchase those test product, you will be stuck in owned item error.

this is the only solution I found from stack overflow

https://stackoverflow.com/questions/14600664/android-in-app-purchase-signature-verification-failed/22088718#22088718