flutter_adp_ads_global 1.2.0
flutter_adp_ads_global: ^1.2.0 copied to clipboard
ADP Flutter 广告插件海外
example/lib/main.dart
import 'package:flutter/material.dart';
import 'package:flutter_adp_ads_global/flutter_adp_ads_global.dart';
import 'ads_config.dart';
import 'pages/home_page.dart';
void main() {
WidgetsFlutterBinding.ensureInitialized();
setAdEvent();
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return MaterialApp(
home: SplashAdLoader(
appId: AdsConfig.appId,
posId: AdsConfig.splashId,
logo: AdsConfig.logo,
timeout: 3.5,
appName: 'Flutter ADP Ads Global',
directDownloadNetworkType: <int>[
NetworkType.kNetworkStateMobile,
NetworkType.kNetworkStateWifi,
],
personalAdsType: '1',
loadingBuilder: (BuildContext context) => const _StartupLoadingView(),
onInitSuccess: () => debugPrint('广告 SDK 初始化成功'),
onInitError: (error) =>
debugPrint('广告 SDK 初始化失败: ${error.code} ${error.message}'),
onLoad: () => debugPrint('开屏广告加载成功'),
onError: (error) =>
debugPrint('开屏广告加载失败: ${error.code} ${error.message}'),
onShow: () => debugPrint('开屏广告展示'),
onClick: () => debugPrint('开屏广告点击'),
onClosed: () => debugPrint('开屏广告关闭'),
hotStartInterval: const Duration(seconds: 5),
child: HomePage(),
),
);
}
}
class _StartupLoadingView extends StatelessWidget {
const _StartupLoadingView();
@override
Widget build(BuildContext context) {
return const ColoredBox(
color: Color(0xFFFFFFFF),
child: Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
FlutterLogo(size: 72),
SizedBox(height: 20),
CircularProgressIndicator(),
SizedBox(height: 12),
Text('正在加载精彩内容…'),
],
),
),
);
}
}
/// 设置广告监听
Future<void> setAdEvent() async {
FlutterADPAds.onEventListener((event) {
debugPrint('adId:${event.adId} action:${event.action}');
if (event is AdErrorEvent) {
// 错误事件
debugPrint(' errCode:${event.errCode} errMsg:${event.errMsg}');
} else if (event is AdRewardEvent) {
// 激励事件
debugPrint(
' rewardType:${event.rewardType} rewardVerify:${event.rewardVerify} rewardAmount:${event.rewardAmount} rewardName:${event.rewardName} errCode:${event.errCode} errMsg:${event.errMsg} customData:${event.customData} userId:${event.userId}');
}
// 测试关闭
if (event.action == AdEventAction.onAdClosed) {
//信息流广告关闭时会有viewId
debugPrint(event.viewId);
}
});
}