У меня возникла проблема с покупкой товаров по подписке с помощью новой версии InAppBilling V3.
Вот мой метод handleActivityResult IABHelper:
public boolean handleActivityResult(int requestCode, int resultCode, Intent data) {
IabResult result;
if (requestCode != mRequestCode)
return false;
checkSetupDone("handleActivityResult");
// end of async purchase operation
flagEndAsync();
if (data == null) {
Log.e(TAG + "Null data in IAB activity result.");
result = new IabResult(IABHELPER_BAD_RESPONSE, "Null data in IAB result");
if (mPurchaseListener != null)
mPurchaseListener.onIabPurchaseFinished(result, null);
return true;
}
int responseCode = getResponseCodeFromIntent(data);
String purchaseData = data.getStringExtra(RESPONSE_INAPP_PURCHASE_DATA);
String dataSignature = data.getStringExtra(RESPONSE_INAPP_SIGNATURE);\
...
PurchaseData и dataSignature после этого кода имеют значение null, и в результате процесс покупки не может быть завершен.
Когда я пытаюсь купить предметы в приложении, все работает хорошо. PurchaseData и dataSignature не равны нулю.
Похоже, у этого парня была та же проблема:
Покупка в приложении Google Play возвращает код ошибки -1008: null puchaseData or dataSignature
но у меня это не работает, я все еще получаю значение null для обоих полей.
Что я делаю неправильно? заранее спасибо!