アプリのサブスクリプションを使用してアンドロイドでアプリを開発しています。IabHelper.QueryInventoryFinishedListener を使用して購入アイテムをクエリしようとしています。しかし、それは常に失敗の結果として起こります。IabResult は失敗を返します。開発者コンソールのアプリ製品に追加しました。誰でもこれについて私を助けることができますか?
ここに私のコードの一部があります、
bindService(new Intent("com.android.vending.billing.InAppBillingService.BIND"),
mServiceConn, Context.BIND_AUTO_CREATE);
String base64EncodedPublicKey = "my key";
mHelper = new IabHelper(this, base64EncodedPublicKey);
mHelper.enableDebugLogging(true);
mHelper.startSetup(new IabHelper.OnIabSetupFinishedListener() {
public void onIabSetupFinished(IabResult result) {
if (!result.isSuccess()) {
System.out.println("Not Success");
Log.d("In APP Billing", "Problem setting up In-app Billing: " + result);
return;
} else {
System.out.println("Success");
Log.d(" In APP Billing", "Setting up In-app Billing Success: " + result);
}
List<String> additionalSkuList = new ArrayList<String>();
additionalSkuList.add(SKU_ID);
mHelper.queryInventoryAsync(true, additionalSkuList,
mQueryFinishedListener);
}
});
IabHelper.QueryInventoryFinishedListener mQueryFinishedListener = new IabHelper.QueryInventoryFinishedListener() {
@Override
public void onQueryInventoryFinished(IabResult result, Inventory inv) {
// TODO Auto-generated method stub
if (result.isFailure()) {
// handle error
System.out.println("mQueryFinishedListener is Failure"); // i am always getting this
return;
}
System.out.println("mQueryFinishedListener is Success");
Boolean hasPur = inv.hasPurchase(SKU_ID);
if (hasPur) {
System.out.println("Query - - subscribed ");
isSubscribed = true;
} else {
System.out.println("Query - not subscribed ");
isSubscribed = false;
}
System.out.println("Purchase panic:"+inv.getPurchase(SKU_ID));
}
};
なぜそれが機能しないのですか?前もって感謝します。