마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

인앱 결제 관련 질문입니다.

0 추천
인앱 결제를 구현하려는 중입니다.
테스트를 하려는데, 결제가 완료 되었을 때
아이템을 주는 코드를 어디다 넣어야 할지
모르겠어서 이렇게 질문 올립니다.

 

IabHelper.startSetup(new IabHelper.OnIabSetupFinishedListener()
        {
            public void onIabSetupFinished(IabResult result)
            {
                if(!result.isSuccess())
                    Log.d(TAG, "In-app Billing setup failed : "+result);
                else
                    Log.d(TAG, "In-app Billing is set up OK");
            }
        });

 

------------------------------

 

IabHelper.OnIabPurchaseFinishedListener mPurchaseFinishedListener = new IabHelper.OnIabPurchaseFinishedListener()
    {
        @Override
        public void onIabPurchaseFinished(IabResult result, Purchase purchase)
        {
            if(result.isFailure())
                Log.d("Purchase : ", "Fail");
            else if(purchase.getSku().equals(ITEM_SKU))
                consumeItem();
        }
    };

 

------------------------------

 

IabHelper.QueryInventoryFinishedListener mReceivedInventoryListener = new IabHelper.QueryInventoryFinishedListener()
    {
        @Override
        public void onQueryInventoryFinished(IabResult result, Inventory inventory)
        {
            if(result.isFailure())
                Log.d("QueryInventory : ", "Fail");
            else
                mHelper.consumeAsync(inventory.getPurchase(ITEM_SKU), mConsumeFinishedListener);
        }
    };

 

------------------------------

 

IabHelper.OnConsumeFinishedListener mConsumeFinishedListener = new IabHelper.OnConsumeFinishedListener()
    {
        @Override
        public void onConsumeFinished(Purchase purchase, IabResult result)
        {
            if(result.isSuccess())
                Log.d("OnConsume : ", "Success");
            else
                Log.d("OnConsume : ", "Fail");
        }
    };

 

위 예제에서 어느 부분에 아이템을 지급하는 코드를
넣어야 하나요? 아니면 위 예제에 나와있는 부분 말고
아예 다른 곳에다가 아이템 지급 코드를 넣어야 하는 건가요?

.
abchs8wyw (1,710 포인트) 님이 2017년 3월 6일 질문
결제 완료 콜백 메서드가 없나요?

1개의 답변

0 추천
onIabPurchaseFinished()에서 처리하면 되겠네요.

else에서 consumeItem()하기 전에 처리하면 될거 같아요..

좀 더 안정적으로 하려면 아래 제가 작성한 구글플레이 결제 과정 참고해보세요.

http://isulnara.com/wp/archives/981
isul (7,920 포인트) 님이 2017년 3월 7일 답변
...