0

我刚刚在我的应用中实现了广告,我想为用户添加一个选项,以永久隐藏使用应用计费的广告......

我该怎么做?

先谢谢了

PS 我已经使用 xml 文件实现了广告

4

2 回答 2

3

我认为您可以使用 sharedPreferences 来存储应用程序的状态。

如果用户购买了 adfree 选项,您将更改 sharedPreference 中一项的状态。

例如,在购买后,您必须执行以下操作:

SharedPreferences preferences = 
PreferenceManager.getDefaultSharedPreferences(this);
// The SharedPreferences editor - must use commit() to submit changes
SharedPreferences.Editor editor = preferences.edit();

// Edit the saved preferences
editor.putString("status", "purchased");
editor.commit();

然后当应用程序启动时,您必须检查该偏好值并仅在用户没有购买状态时才请求广告。例如:

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
prefs.getString("status", "free");

if(prefs.equals("free") {
        AdView adView = (AdView) findViewById(R.id.adViewMain);                
        adView.loadAd(new AdRequest());   
}

问题是当用户卸载应用程序时,问题是如果用户已经购买了无广告选项,他必须继续在没有广告的情况下工作。在这种情况下,应用内结算可以帮助您,如果您将购买项目设置为托管,在这种情况下,谷歌市场会永久存储有关交易的信息,并且当应用程序首次启动时,使用应用内结算,您可以使用 RESTORE_TRANSACTION 选项检查所有以前的事务。

在此处查看托管和非托管应用程序之间差异的说明:http: //developer.android.com/guide/market/billing/billing_admin.html#billing-purchase-type 希望有所帮助。

于 2012-05-16T09:33:40.593 回答
0
  1. id在您的 XML 布局中为您的每个广告添加一个

  2. 实施 InApp 计费

  3. 检查购买成功

  4. 参考id使用findViewById(int id)方法

  5. 设置可见性advert.setVisibility(View.GONE);

onCreate如果您需要将其作为永久设置,请存储他们购买该物品的事实setVisibility并按上述方式进行检查

于 2012-05-10T19:42:32.673 回答