안녕하세요. 고생이 많으십니다..
다름이 아니고 인앱 결제 테스트를 진행하면 예제로 있는 Dungeons를 사용하여
인앱 결제 테스트를 진행중에 있습니다.
이래저래 테스트를 해보고 있는데 한가지 오류로 인해 질문을 드리고자 합니다.
구매하고 싶은 아이템을 정하고 구입 버튼을 누르면
마켓 페이지로 이동을 하는데요.
http://www.androidpub.com/1945117
링크된 곳에 있는 4번에 해당하는 글을 보면
"항목을 찾을 수 없습니다"라는 오류에 대해 설명을 해주셨는데.
저같은 경우는 처음 구매버튼을 누르면 무조건 "항목을 찾을 수 없습니다"라는 오류가 뜹니다.
그 후 확인버튼을 누르면 정상적인 결제 페이지로 이동이 되더군요.
실제 코드에서 등록한 아이디와 인앱제품을 추가할때 등록한 아이디가 서로 다르거나, 인앱제품을 아직 추가하지 않았을때 발생
이라고 하셔서 제품을 추가하지 않고 테스트를 해 본 결과
첫 화면은 역시 동일하게 항목을 찾을 수 없다고 나오고 확인 버튼을 누르면
두 번째 화면에서도 동일하게 항목을 찾을 수 없다고 나오더라구요.
그래서 이번엔 항목을 제대로 추가하고 진행을 해보니
첫번째 화면에선 똑같이 항목을 찾을 수 없다고 나오고
두번쨰 화면에서 정상적인 결제 페이지로 이동이 되었습니다.
특별히 익셉션이 발생하는 것도 아니고 무조건적으로 저렇게 나와버리니 참으로 답답하네요 ㅠ,.ㅠ
혹시 같은 증상을 겪어보신분이 계신지 여쭙고 싶습니다.
그럼 좋은하루 되시기 바랍니다 ;ㅁ;
아 그러셨군요..그럼 이건 현재 Dungeons에 구현되어 있는 로직상의 문제인거군요.
답변주셔서 감사합니다 이것저것 고쳐봐야겠어요 ㅠ
시간이 많다면 직접 만들어서 테스트를 해보겠지만
시간이 없는 관계로 dungeons 예제를 조금만 손봐서 적용시키려고 하거든요.
혹시라도 알게되면 다시 여기에 답글 달도록 할께요!!
Dungeons 부분 OnClick부분에서
if (mManagedType != Managed.SUBSCRIPTION &&//타입이 구독이 아니고
!mBillingService.requestPurchase(mSku, Consts.ITEM_TYPE_INAPP, mPayloadContents)) {
showDialog(DIALOG_BILLING_NOT_SUPPORTED_ID);//판매 불가. 현재 재공되지 않음.
} else if (!mBillingService.requestPurchase(mSku, Consts.ITEM_TYPE_SUBSCRIPTION, mPayloadContents)) {
// Note: mManagedType == Managed.SUBSCRIPTION
showDialog(DIALOG_SUBSCRIPTIONS_NOT_SUPPORTED_ID);//판매 불가. 현재 구독을 재공하지 않음.
이 부분이 있는데요.
이 부분에서 마켓을 찔러보며 발생하는 현상이었네요.
이부분을 지우고
mBillingService.requestPurchase(mSku, Consts.ITEM_TYPE_INAPP, mPayloadContents);
이렇게 넘겨주기만 하면 문제가 없습니다.
헌데 저 위에 부분을 없에버리는게 맞을지는 모르겠네요...




저 같은 경우는 소스를 수정해서
mBillingService.requestPurchase 이것만 따로 빼내어서 테스트 했었어요.
저도 같은 현상으로 참 괴로웠지만...
왜 그런지 잘 모르겠더군요...
consts.java에 이부분을 디폴트로 그대로 놔둬서 그런가 해서 이걸 바꾸고
public static final String ACTION_CONFIRM_NOTIFICATION
public static final String ACTION_GET_PURCHASE_INFORMATION
public static final String ACTION_RESTORE_TRANSACTIONS
requestPurchase 이 부분을 따로 빼서 테스트하니 한번에 뜨더군요...
저도 원인을 모르고 그냥 넘어거사 찝찝한데... 음...
따로 하나만 구매요청 테스트 해보시는 건 어떨까요?