Невозможно приобрести что-либо в режиме тестирования. Вот код. Когда я нажал ДА в своем диалоговом окне, ничего не изменилось. Но если я попытаюсь купить в релизе APK все нормально. Какие проблемы ребята?Google InApp Billing test purchase
public void StupidLogic(){
ITEM_SKU = "android.test.purchased";
mHelper.launchPurchaseFlow(getActivity(), ITEM_SKU, 10001, mPurchaseFinishedListener, "mytoken");
}
IabHelper.OnIabPurchaseFinishedListener mPurchaseFinishedListener
= new IabHelper.OnIabPurchaseFinishedListener() {
public void onIabPurchaseFinished(IabResult result,
Purchase purchase)
{
if (result.isFailure()) {
// Handle error
return;
}
else if (purchase.getSku().equals(ITEM_SKU)) {
consumeItem();
}
}
};
public void consumeItem() {
mHelper.queryInventoryAsync(mReceivedInventoryListener);
}
IabHelper.QueryInventoryFinishedListener mReceivedInventoryListener
= new IabHelper.QueryInventoryFinishedListener() {
public void onQueryInventoryFinished(IabResult result,
Inventory inventory) {
if (result.isFailure()) {
Log.d("Billing"," Such Failure! WOW!");
} else {
mHelper.consumeAsync(inventory.getPurchase(ITEM_SKU),
mConsumeFinishedListener);
}
}
};
IabHelper.OnConsumeFinishedListener mConsumeFinishedListener =
new IabHelper.OnConsumeFinishedListener() {
public void onConsumeFinished(Purchase purchase,
IabResult result) {
if (result.isSuccess()) {
//Приходящий ответ!!!!!--------------------------------------------------------------------------------------------
//String URL = "http://cybergenesis.ru/egor/add_service?ontime=" + ontimeString + "&offtime=" + offtimeString + "&user_id=" + info_id + "&service=" + Integer.toString(position + 1) + "&balance=" + String.valueOf(balance);
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://cybergenesis.ru/egor/")
.addConverterFactory(GsonConverterFactory.create())
.build();
APIService service = retrofit.create(APIService.class);
Call<Post> call = service.addService(ontimeString, offtimeString, info_id, positionStr, Balance);
call.enqueue(new Callback<Post>() {
@Override
public void onResponse(Call<Post> call, retrofit2.Response<Post> response) {
}
@Override
public void onFailure(Call<Post> call, Throwable t) {
}
});
} else {
// handle error
}
}
};
@Override
public void onDestroy() {
super.onDestroy();
if (mHelper != null) mHelper.dispose();
mHelper = null;
}
}
Все в порядке, если я покупать не в диалоге.
Уже сделано, нужно ли изменить свою Security.java перед выпуском? Или он должен работать с реальными покупками? Иногда в режиме тестирования я могу делать покупки, но очень редко. –
Что, как я понимаю, использует режим тестирования, игнорирует проверки безопасности, которые необходимы для предотвращения мошенничества с измененными без подписью apks в выпуске. Как выглядит ваш журнал ошибок? – brunoschalch
ничего !!! нажмите кнопку - ничего! измените ITEM SKU на реальную и нажмите кнопку - IAb запущен –