簡體   English   中英

Android 應用內計費響應列表為空

[英]Android inapp billing responseList is empty

我在我的應用中定義了一些應用內產品。 我已將 apk 上傳到 Google Play,並在 Google Play 上添加了應用內購買產品。

我的ServiceConnection定義如下:

ServiceConnection mServiceConn = new ServiceConnection() {
        @Override
        public void onServiceDisconnected(ComponentName name) {
            mService = null;
        }

        @Override
        public void onServiceConnected(ComponentName name, IBinder service) {
            mService = IInAppBillingService.Stub.asInterface(service);
            connect();
        }
    };

onServiceConnected函數被調用, bindService返回true。

接下來是connect功能。

public void connect() {
        new Thread(new Runnable() {
            public void run() {
                try {

                    // Purchase type is "inapp", as required by  API v3
                    Bundle skuDetails = mService.getSkuDetails(3, PACKET, "inapp", querySkus);

                    }

                    int response = skuDetails.getInt("RESPONSE_CODE");

                    Log.e("IAP connect", response + "");


                    if (response == 0) {
                        ArrayList<String> responseList = skuDetails.getStringArrayList("DETAILS_LIST");
                        Log.e("size list", responseList.size()+"");
                        ...
                      }
                    }
            } catch (RemoteException e) {
                e.printStackTrace();
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
    }).start();
}

此處的 PACKET 設置為getPackageName() 響應代碼為 0,但日志打印列表的大小為 0。我不知道為什么列表為空,因為我在 Google Play 中總共輸入了 5 個項目,並且每個項目都處於活動狀態。 我現在已經等了 2 天並用三個設備進行了測試,但仍然沒有任何項目通過。

我幾乎嘗試了我能想到的一切,所以歡迎提出任何建議。

您需要您的應用程序發布到 Beta/Alpha 版才能訪問應用內計費功能。 最近改了,但他們沒有公布:)

http://developer.android.com/google/play/billing/billing_testing.html#draft_apps

值得一提的是,您不必上傳每個新版本即可對其進行測試。 只需使用相同的 versionCode 和 versionName,如果應用程序發布,它將起作用。

您的代碼看起來不錯。

確保查詢正確的 SKU。 querySkus 中的單個項目必須與應用內產品的 id 完全匹配。

其次確保查詢正確的類型如果項目。 如果您將“應用內產品”配置為要在開發者控制台中購買的汽車,請像您一樣使用“應用內產品”。 如果您有訂閱,請使用“訂閱”作為針對 Google Play 的查詢類型。

希望這可以幫助。

我在舊設備上遇到了問題。 刪除 Play Services 應用程序數據修復了該問題。

所以我們只需要為糟糕的評論做好准備......

我遇到了同樣的問題,修復方法是將我的訂閱狀態設置為“活動”。 幾分鍾后,它終於奏效了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM