Я пытаюсь управлять биллингом в приложении в своем приложении, и раньше мне это удавалось, и я получал окно оплаты тестера в приложении, но через некоторое время я всегда получаю этот тип кода результата от покупки, который:
BILLING_RESPONSE_RESULT_ITEM_ALREADY_OWNED 7 - Невозможность покупки, поскольку товар уже принадлежит
есть ли способ предотвратить это?
управляемые покупки
вам нужно употребить его перед повторной покупкой.
использовать эту строку? mBillingManager.consumeAsync (Purchase.getPurchaseToken ());
mHelper.consumeAsync (PurchaseObject, mConsumeFinishedListener);
какие бывают типы mHelper, PurchaseObject и mConsumeFiniedListener?
Я загрузил ответ.




Purchase purchasePremium = null;
// The helper object
IabHelper mHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
{
// Create the helper, passing it our context and the public key to verify signatures with
Log.d(TAG, "Creating IAB helper.");
mHelper = new IabHelper(this, base64EncodedPublicKey);
}
public void onConsumePremiumButtonClicked(View arg0) {
if (purchasePremium != null)
{
Log.d(TAG, "We have Premium. Consuming it.");
try {
mHelper.consumeAsync(purchasePremium, mConsumeFinishedListener);
} catch (IabHelper.IabAsyncInProgressException e) {
complain("Error consuming Premium. Another async operation in progress.");
writeToLogFile("\nError consuming Premium. Another async operation in progress.");
}
}
else
{
alert("Please Subscribe the Product before Consuming it.",TAG,ActivityPurchaseManagedProduct.this);
}
}
// Called when consumption is complete
IabHelper.OnConsumeFinishedListener mConsumeFinishedListener = new IabHelper.OnConsumeFinishedListener() {
public void onConsumeFinished(Purchase purchase, IabResult result) {
Log.d(TAG, "Consumption finished. Purchase: " + purchase + ", result: " + result);
// if we were disposed of in the meantime, quit.
if (mHelper == null) return;
if (result.isSuccess()) {
// successfully consumed, so we apply the effects of the item in our
// game world's logic, which in our case means filling the Premium tank a bit
alert(" Consume Premium Success full",TAG,ActivityPurchaseManagedProduct.this);;
purchasePremium = null;
}
else {
complain("Error while consuming: " + result);
}
Log.d(TAG, "End consumption flow.");
}
};
Какой продукт вы пытаетесь приобрести? Я имею ввиду управляемую или Подписку ...