Flutter实现仅当变量被3整除时展示Admob开屏广告
每3次启动展示一次Admob开屏广告的实现方案
1. 添加本地存储依赖
使用shared_preferences持久化记录启动次数,在pubspec.yaml中添加依赖:
dependencies: shared_preferences: ^2.2.2
执行flutter pub get完成依赖安装。
2. 实现启动次数统计方法
创建方法读取并更新启动次数,确保应用重启后数据不丢失:
import 'package:shared_preferences/shared_preferences.dart'; Future<int> getAndUpdateLaunchCount() async { final prefs = await SharedPreferences.getInstance(); int launchCount = prefs.getInt('app_launch_count') ?? 0; launchCount++; await prefs.setInt('app_launch_count', launchCount); return launchCount; }
3. 修改广告展示逻辑
在原有开屏广告初始化代码中加入整除判断,仅满足条件时加载展示广告:
void setupAppOpenAd() async { int currentLaunchCount = await getAndUpdateLaunchCount(); // 仅当启动次数为3的倍数时展示广告 if (currentLaunchCount % 3 == 0) { // 执行你已实现的开屏广告加载与展示逻辑 // 例:loadAppOpenAd(); showAppOpenAd(); } }
4. 关键注意点
- 确保
setupAppOpenAd在应用启动早期调用(比如main函数内、首页的initState中,与原有广告初始化位置保持一致) - 若需重置计数,可添加如下方法:
Future<void> resetLaunchCounter() async { final prefs = await SharedPreferences.getInstance(); await prefs.setInt('app_launch_count', 0); }
内容的提问来源于stack exchange,提问作者Faizan Abbas Bangash
相关产品推荐
相关产品推荐

