我刚在我的应用中实施了广告,并且我想为用户添加一个选项,以便在应用结算中永久隐藏广告......
我该怎么做?
提前致谢:D
PS我使用xml文件实现了广告
答案 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)
在XML布局中为每个广告id
实施InApp结算
检查购买是否成功
使用id
方法
findViewById(int id)
设置可见性advert.setVisibility(View.GONE);
如果您需要将其作为永久设置,请存储他们已购买商品的事实,然后按onCreate
拨打setVisibility
进行检查