Я работаю над In App Store в своем приложении, я использовал AndroidBillingLibrary от robotmedia, когда я покупаю android.test.purchased, используя библиотеку, ответ в порядке, все данные, которые мне нужны, находятся там.
Проблема в том, что когда я переключился на Android In-App Billing v3, это все получено из ответа, без подписей.
{"packageName":"com.my.sampleapp","orderId":"transactionId.android.test.purchased","productId":"android.test.purchased","developerPayload":"","purchaseTime":0,"purchaseState":0,"purchaseToken":"inapp:com.my.sampleapp:android.test.purchased"}
Я следовал именно этому образцу https://developer.android.com/training/in-app-billing/preparing-iab-app.html#GetSample, но нет подписи. Я даже запускаю данное примерное приложение Google, но не повезло.
Я правильно установил открытый ключ RSA с кодировкой Base64
mHelper = new IabHelper(this, myPublicKey);
и это мой код покупки mHelper.launchPurchaseFlow(this, itempackage, 10001, mPurchaseFinishedListener);
OnIabPurchaseFinishedListener mPurchaseFinishedListener = new OnIabPurchaseFinishedListener() {
public void onIabPurchaseFinished(IabResult result, Purchase purchase) {
Log.i("Billing", "purchasing: " + result.getMessage());
if (result.isFailure()) {
Log.i("Billing", "Error purchasing: " + result);
return;
} else if (purchase.getSku().equals("android.test.purchased")) {
Log.i("Billing - signature", purchase.getSignature());
consumeItems();
} else {
Log.i("Billing", "Error purchasing: " + result);
}
}
};
Как-то мой mPurchaseFinishedListener ничего не получает после покупки, но protected void onActivityResult(int requestCode, int resultCode, Intent data)
получает что-то, но там нет подписи.
Какие-нибудь решения? Странно, что v2 получает сигнатуры, а v3 - нет.