यह सर्वर साइड बग नहीं है। नमूना अनुप्रयोग के डंगऑन कक्षा में खरीद बटन के लिए ऑनक्लिक पर बग है।
आपूर्ति विधि में {} और अगर {} कथन है जहां यह mBillingService.request खरीद को दो बार बुलाया जाता है, जब चयनित आइटम सदस्यता आइटम नहीं है (mManagedType! = प्रबंधित। सदस्यता)। तो एक ही आइटम से दो बार अनुरोध किया जाएगा, एक बार आइटम के "इनएप" (जो वैध अनुरोध है) के साथ और उसके बाद तुरंत "सबस" के आइटम प्रकार के साथ (जो गलत है और यह दिखाता है "आइटम नहीं मिला") ।
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);
}
इसे ठीक करने के कुछ और करने के लिए mManagedType == Managed.SUBSCRIPTION जोड़ने के ऊपर है, तो:
यहाँ गाड़ी कोड है।
@Override
public void onClick(View v) {
if (v == mBuyButton) {
if (Consts.DEBUG) {
Log.d(TAG, "buying: " + mItemName + " sku: " + mSku);
}
if (mManagedType != Managed.SUBSCRIPTION &&
!mBillingService.requestPurchase(mSku, Consts.ITEM_TYPE_INAPP, mPayloadContents)) {
showDialog(DIALOG_BILLING_NOT_SUPPORTED_ID);
} else if (mManagedType == Managed.SUBSCRIPTION && !mBillingService.requestPurchase(mSku, Consts.ITEM_TYPE_SUBSCRIPTION, mPayloadContents)) {
// Note: mManagedType == Managed.SUBSCRIPTION
showDialog(DIALOG_SUBSCRIPTIONS_NOT_SUPPORTED_ID);
}
} else if (v == mEditPayloadButton) {
showPayloadEditDialog();
} else if (v == mEditSubscriptionsButton) {
editSubscriptions();
}
}
स्रोत
2012-07-07 03:03:12
यह बेवकूफ बग है ... मुझे लगता है कि इसे रिलीज़ करने से पहले किसी ने भी इस डेमो/ट्यूटोरियल का परीक्षण नहीं किया। –
यहां पहुंचने वाले किसी के लिए: ** यह उत्तर इन-ऐप-बिलिंग-v02 नमूना के बारे में है-इन-ऐप-बिलिंग-v03 ** – bitek