Uygulama içi faturalandırma sürecinde sıkıntı verici bir sorun yaşıyorum. Dev konsolda yeni bir uygulama oluşturdum, şu anda aktif olan "P1" adlı bir inapp ürün ekledim; Uygulamamı alfa sürümünde mağazaya yükledim, ardından beta sürümüne terfi ettim, bir test hesabı ekledim ve apk'yı test hesabıyla ve bir başka hesabı devredeyken bir cihazda (tablet) yükledim.Android Uygulama İçi Faturalandırma - queryInventoryAsync 0 sonuç döndürüyor
Şimdi, sahip olunan skusların fiyatı gibi bilgileri almak için mağazayı sorgulamak istiyorum. Sorgu tamamlandığında
private void istantiate() {
List<String> tmp = new List<String>();
tmp.add("P1");
final List<String> skus = tmp;
mHelper = new IabHelper(mContext, base64EncodedPublicKey);
// enable debug logging (for a production application, you should set this to false).
mHelper.enableDebugLogging(true);
//create listener
bListener = new BillingListener(mHelper, mContext);
// Start setup. This is asynchronous and the specified listener will be called once setup completes.
mHelper.startSetup(new IabHelper.OnIabSetupFinishedListener() {
public void onIabSetupFinished(IabResult result) {
if (!result.isSuccess()) {
// There was a problem.
return;
}
getInventory(skus);
}
});
}
...
private void getInventory(List<String> skuList) {
// Have we been disposed of in the meantime? If so, quit.
if (mHelper == null) return;
// IAB is fully set up. Now, let's get an inventory of stuff we own.
mHelper.queryInventoryAsync(true, skuList, bListener.mQueryFinishedListener);
}
Sonra bu kod parçası denir: İşte benim aktivite benim kod
IabHelper.QueryInventoryFinishedListener mQueryFinishedListener = new IabHelper.QueryInventoryFinishedListener() {
public void onQueryInventoryFinished(IabResult result, Inventory inventory) {
if (result.isFailure()) {
// handle error
return;
}
...
}
};
Ama envanter boş döndü. İşte logcat var:
12-13 11:21:36.977: D/IabHelper(6034): Billing service connected.
12-13 11:21:36.977: D/IabHelper(6034): Checking for in-app billing 3 support.
12-13 11:21:36.987: D/IabHelper(6034): In-app billing version 3 supported for ***
12-13 11:21:36.987: D/IabHelper(6034): Subscriptions AVAILABLE.
12-13 11:21:36.987: D/IabHelper(6034): Starting async operation: refresh inventory
12-13 11:21:36.987: D/IabHelper(6034): Querying owned items, item type: inapp
12-13 11:21:36.987: D/IabHelper(6034): Package name: ***
12-13 11:21:36.987: D/IabHelper(6034): Calling getPurchases with continuation token: null
12-13 11:21:36.997: D/IabHelper(6034): Owned items response: 0
12-13 11:21:36.997: D/IabHelper(6034): Continuation token: null
12-13 11:21:36.997: D/IabHelper(6034): Querying SKU details.
12-13 11:21:37.097: D/IabHelper(6034): Querying owned items, item type: subs
12-13 11:21:37.097: D/IabHelper(6034): Package name: ***
12-13 11:21:37.097: D/IabHelper(6034): Calling getPurchases with continuation token: null
12-13 11:21:37.097: D/IabHelper(6034): Owned items response: 0
12-13 11:21:37.097: D/IabHelper(6034): Continuation token: null
12-13 11:21:37.097: D/IabHelper(6034): Querying SKU details.
12-13 11:21:37.097: D/IabHelper(6034): Ending async operation: refresh inventory
Benim inapp ürün yayınlandığından beri yaklaşık bir hafta, bu yüzden zaman meselesi değildir. Uygulama verilerini temizlemeye çalıştım ve cihazı yeniden başlattım.
Edit: Her şey, test sku olarak android.test.purchased kullanarak çalışır.
Düzenleme 2: SKU'ların "yönetilmeyen" dir
Bir çözüm bulmayı başardınız mı? Aynı problemle yüzleşiyorum. –
Ben de bunu yaşıyorum ... herhangi bir sonuç? –
Şu anda hala sorun yaşıyorsanız –