在我的Android应用中,我在一些活动中在屏幕底部显示一些小广告横幅。我现在想让用户有机会通过应用内结算来移除此广告。
实施该方法的好方法是什么?
由于广告在某些活动开始后立即显示,因此每次我展示广告时,查询谷歌服务购买的商品似乎都很糟糕,因为它需要一些时间才能连接到该服务。
我想在一个启动画面中查询谷歌服务一次,在我的应用程序上下文中使用布尔值singelton来存储信息,如果购买了adfree。在活动onCreate
中,我然后检查布尔isPremium
是否为真。如果是这种情况,请将广告评论的可见性设置为false findViewById(R.id.adview).setVisibility(false)
。
这样安全吗? 我不确定ApplicationManager是否可以杀死存储变量的ApplicationContext,而不会终止所有活动。
答案 0 :(得分:1)
使用Boolean
并将变量设置为null
。然后只查询一次,如果它是null
(懒惰初始化)。如果您的应用被杀,它将以null
开头,您只需再次查询。也可能更好的做法是真正删除AdViews
,否则他们会继续发出广告请求,您的点击率会非常低。
答案 1 :(得分:0)
这是购买后删除广告的最佳方式
if (!bp.isPurchased("prime") {
mAdView = (AdView) findViewById(R.id.adView1);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
}else if(bp.isPurchased("prime") ){
mAdView = (AdView) findViewById(R.id.adView1);
mAdView.setVisibility(View.GONE);
}