怎么可能只有在第一次启动应用程序时才显示插页式广告
Posted
技术标签:
【中文标题】怎么可能只有在第一次启动应用程序时才显示插页式广告【英文标题】:How is it possible that Interstitial is not displayed only when the app is launched for the first time 【发布时间】:2021-10-14 11:37:19 【问题描述】:怎么可能只有在应用第一次启动时才显示插页式广告。当它第二次启动或从A.java转到B.java并从B.java返回到A.java时,才在A.java中显示Interstitial。这可能吗?有人可以展示一下java代码的样子吗?谢谢。
【问题讨论】:
【参考方案1】:这很容易。
只需使用 SharedPreferences
和默认值 true
即可实现。当用户第一次打开应用时,检查该值是否为假。
所以第一次,您不会在 SharedPreferences 中保存任何值,因此默认情况下它会为您提供 true
值。然后将false
保存到该共享首选项中。
因此,下次用户打开您的应用时,他会在那里获得false
,因此您的广告将被加载。
代码如下:
SharedPreferences sharedPreferences = getSharedPreferences("ADS_PREFS",MODE_PRIVATE);
SharedPreferences 对象已初始化,现在检查值:
if (sharedPreferences.getBoolean("show_key", true))
// stored value is true, it means you can show ads (You have not stored any value 1st time, so it will return 'true' by default, if you pass true as shown)
// load or show ad here
然后在广告的关闭或展示方法中,将变量更改为false
,这样第二次就不会加载或展示广告了。
SharedPreferences.Editor myEdit = sharedPreferences.edit();
myEdit.putBoolean("show_key", false);
myEdit.apply();
// 已进行更改。现在用户下次打开您的应用时,它会返回 false,因此不会加载或显示广告。
【讨论】:
感谢回复,能不能把代码贴出来看看具体需要做什么?再次感谢。 好的。我会以上是关于怎么可能只有在第一次启动应用程序时才显示插页式广告的主要内容,如果未能解决你的问题,请参考以下文章