Bas*_*sil 5 android in-app-purchase in-app-billing
我在Android InApp计费v3上面临一个问题.我在playstore中创建了一个托管的inapp产品,我需要从多个设备上多次购买.为此,我正在两个不同的设备上测试应用程序.我没有在本地服务器上保留任何购买数据.因此,每当我需要再次购买该项目时,我将查询该项目以获得购买状态,并且如果该项目被购买,我将使用该项目并将再次调用购买功能.我正在详细说明我的错误情况
inventory.hasPurchase(sku)是虚假和 inventory.getPurchase(sku)为空.谷歌搜索时,我发现这与Google Playstore缓存有关.执行此操作后,手动缓存清除,我按预期获得结果.任何人都可以指导我上述问题.
IabHelper.QueryInventoryFinishedListener mGotInventoryListener = new IabHelper.QueryInventoryFinishedListener() {
public void onQueryInventoryFinished(IabResult result, Inventory inventory) {
if (result.isFailure()) {
invokePurchaseError(ResponseCode.FAILED_TO_QUERY_INVENTORY, result.toString());
}
else{
if(mActionCode == RC_REQUEST_FOR_QUERYING){
boolean mIsPurchased = false;
Log.e("hasPurchase", inventory.hasPurchase(mSku)+"");
Log.e("getPurchase", inventory.getPurchase(mSku)+"");
if( inventory.hasPurchase(mSku)){
mPurchaseStatus = inventory.getPurchase(mSku);
mIsPurchased = (mPurchaseStatus != null && verifyDeveloperPayload(mPurchaseStatus));
if(mPurchaseStatus!=null){
mPurchaseStatus.getOriginalJson());
}
else{
//Not purchased
}
}
}
}
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
308 次 |
| 最近记录: |