flutter_adp_ads_global 1.2.0 copy "flutter_adp_ads_global: ^1.2.0" to clipboard
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);
    }
  });
}
0
likes
125
points
34
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

ADP Flutter 广告插件海外

License

MIT (license)

Dependencies

flutter

More

Packages that depend on flutter_adp_ads_global

Packages that implement flutter_adp_ads_global