In-app purchase Error while retrieving information from server [DF-AA-20]

我的梦境 提交于 2019-12-08 15:56:20

问题


i'm trying to enable in app billing. I've created In-app-products on my google play console and got my License key. When i try to purchase product. I get this image error.

Here is the code i use to create BillingProcessor.

bp = new BillingProcessor(this, LICENSE_KEY, MERCHANT_ID, new BillingProcessor.IBillingHandler() {
        @Override
        public void onProductPurchased(@NonNull String productId, @Nullable TransactionDetails details) {
            showToast("onProductPurchased: " + productId);
            updateTextViews();
        }
        @Override
        public void onBillingError(int errorCode, @Nullable Throwable error) {
            showToast("onBillingError: " + Integer.toString(errorCode));
        }
        @Override
        public void onBillingInitialized() {
            showToast("onBillingInitialized");
            readyToPurchase = true;
            updateTextViews();
        }
        @Override
        public void onPurchaseHistoryRestored() {
            showToast("onPurchaseHistoryRestored");
            for(String sku : bp.listOwnedProducts())
                Log.d(LOG_TAG, "Owned Managed Product: " + sku);
            for(String sku : bp.listOwnedSubscriptions())
                Log.d(LOG_TAG, "Owned Subscription: " + sku);
            updateTextViews();
        }
    });

LICENSE_KEY is my license key from google play console, and MERCHANT_ID is null.

This is how i buy items.

bp.purchase(this,PRODUCT_ID);

Where PRODUCT_ID is product1 which i use in my google play console, here is the example of my in-app products.

Any idea how to fix this ? There is only one stackoverflow question with DF-AA-20 problem which has no answers. And there is no information on the internet about it. I have tried to use emulator and my android phone.


回答1:


DF-AA-20 means your app is not published in any way on the Play store. This is normally because either:

  • you haven't published it yet. To test In-App Billing it must be pushed to at least alpha. See the testing IAB docs for more information
  • your app or developer account has been banned/suspended for abuse
  • you make some change to your package name/applicationId, so that in your apk it doesn't match the one on Play. Developers sometimes do this with build flavors



回答2:


Oh, I had this exception when I tested buys in my product with different sku.
Check your sku!
Sku must be not CAPS! Only [a-z][0-9]!




回答3:


Just wait some time. I waited 25 minute and then product registered in google play




回答4:


It might be handy to point out that you can also get this exact error code message when you simply haven't put your products as active yet in your Google Play Console. (Even in debug they need to be active.)




回答5:


You must publish your app to playstore(not even alpha or beta publish will help).



来源:https://stackoverflow.com/questions/47777955/in-app-purchase-error-while-retrieving-information-from-server-df-aa-20

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!