如何使用应用内结算来永久隐藏广告??? Android的

时间:2012-05-10 19:01:05

标签: android admob

我刚在我的应用中实施了广告,并且我想为用户添加一个选项,以便在应用结算中永久隐藏广告......

我该怎么做?

提前致谢:D

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

2 个答案:

答案 0 :(得分: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());   
}

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

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

答案 1 :(得分:0)

  1. 在XML布局中为每个广告id

  2. 实施InApp结算

  3. 检查购买是否成功

  4. 使用id方法

  5. 引用findViewById(int id)
  6. 设置可见性advert.setVisibility(View.GONE);

  7. 如果您需要将其作为永久设置,请存储他们已购买商品的事实,然后按onCreate拨打setVisibility进行检查