繁体   English   中英

购买后的应用内结算

[英]In-App Billing After Purchase

我想知道我如何才能让我的应用删除用户在应用内结算中购买商品的按钮。 我可以使用sharedpreferences,但是我将如何去做。 这是我使用的教程: http : //www.anddev.org/advanced-tutorials-f21/simple-inapp-billing-payment-t52060.html

谢谢

public Handler mTransactionHandler = new Handler(){
    public void handleMessage(android.os.Message msg) {
            Log.i(TAG, "Transaction complete");
            Log.i(TAG, "Transaction status: "+BillingHelper.latestPurchase.purchaseState);
            Log.i(TAG, "Item attempted purchase is: "+BillingHelper.latestPurchase.productId);



    };     
};

如果您遵循Dungeons示例,则可能已经实现了ResponsHandler / PurchaseObserver?

在代码中的某处,您已经像这样注册了PurchaseObserver

ResponseHandler.register(purchaseObserver); 

在purchaseObserver中,您覆盖了称为

public void onPurchaseStateChange(...)

通过使用共享的首选项,您可以通过该方法跟踪应用程序的状态。 处理取消/退款很重要。 如果没有,您将免费提供您的东西。 该代码可能看起来像这样

SharedPreferences p = PreferenceManager.getDefaultSharedPreferences(context);
SharedPreferences.Editor e = p.edit();
if (purchaseState == Consts.PurchaseState.CANCELED 
         || purchaseState ==   Consts.PurchaseState.REFUNDED) {
      e.putBoolean("PURCHASED", false);
} else if (purchaseState == Consts.PurchaseState.PURCHASED) {
      e.putBoolean("PURCHASED", true);
}
e.commit();

您可以使用SharedPreferences保留购买的物品。 然后在您的InAppActivity的onCreate()中,执行以下操作:

if(settings.getBoolean("isAwesomeItemBought") {
   buyButton.setVisibility(View.GONE);
   buyText.setVisibility(View.VISIBLE);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM