3

在我的 android 应用程序中,我在某些活动的屏幕底部显示了一些小的广告横幅。我现在想让用户有机会通过应用内结算来删除这些广告。

什么是实现它的好方法?

由于广告在某些活动开始后立即显示,因此每次我展示广告时都向谷歌服务查询购买的商品似乎很糟糕,因为连接到服务需要一些时间。我考虑过在启动画面中查询一次谷歌服务,如果购买了 adfree,则在我的应用程序上下文 singelton 中使用布尔值来存储信息。在活动onCreate中,然后我检查布尔值isPremium是否为真。如果是这种情况,我将 adview 的可见性设置为 false findViewById(R.id.adview).setVisibility(false)

这安全吗?我不确定 ApplicationManager 是否可以杀死存储变量的 ApplicationContext 而不会杀死所有活动。

4

2 回答 2

1

使用 aBoolean并将变量设置为null。然后只查询一次null(惰性初始化)。如果您的应用程序被终止,它将以 as 开始null,您只需再次查询。实际删除也可能是一个更好的主意,AdViews否则他们将继续发出广告请求,您将获得非常低的点击率。

于 2013-09-05T09:23:57.123 回答
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);

    }

我正在使用https://github.com/anjlab/android-inapp-billing-v3

于 2017-08-12T05:00:26.153 回答