私は自分のアプリで In App Store に取り組んでいます。robotmedia の AndroidBillingLibrary を使用しました。ライブラリを使用してandroid.test.purchasedを購入すると、応答は OK で、必要なデータはすべてそこにあります。
問題は、 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 で実行することもできますが、うまくいきません。
Base64 でエンコードされた RSA 公開鍵を正しく入力しました
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 が受け取っていないのは奇妙です。