Flutter广告集成插件crecexdiez_advertising的使用

发布于 1周前 作者 yuanlaile 来自 Flutter

Flutter广告集成插件crecexdiez_advertising的使用

开始使用

添加依赖

pubspec.yaml 文件中添加 crecexdiez_advertising 插件依赖:

dependencies:
  crecexdiez_advertising: ^0.4.1

保存后运行 flutter pub get 来获取依赖。

使用插件

首先,导入插件:

import 'package:crecexdiez_advertising/crecexdiez_advertising.dart';

然后,在你的应用中使用插件。以下是一个完整的示例代码:

import 'package:crecexdiez_advertising/crecexdiez_advertising.dart';
import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  [@override](/user/override)
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  [@override](/user/override)
  void initState() {
    super.initState();
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('CreceXDiez Advertising example app'),
        ),
        body: Center(
          child: Crecex10Advertising(
            id: 12, // 广告ID
            height: 100, // 广告高度
            width: 320, // 广告宽度
            borderRadius: 10, // 圆角半径
            adsIntervals: Duration(seconds: 10), // 广告更新间隔
            showCloseButton: true, // 是否显示关闭按钮
          ),
        ),
      ),
    );
  }
}

更多关于Flutter广告集成插件crecexdiez_advertising的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter广告集成插件crecexdiez_advertising的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,以下是如何在Flutter项目中集成和使用crecexdiez_advertising插件的示例代码。这个插件假设是用于集成和管理广告(例如横幅广告、插屏广告等)。由于这是一个假设的插件(因为crecexdiez_advertising并非一个真实存在的Flutter社区广泛认可的插件),以下代码将基于一般广告插件的集成流程进行示范。

1. 添加依赖

首先,你需要在pubspec.yaml文件中添加该插件的依赖项(请注意,这里的插件名和版本号需要根据实际情况调整):

dependencies:
  flutter:
    sdk: flutter
  crecexdiez_advertising: ^x.y.z  # 假设的版本号

运行flutter pub get来安装依赖。

2. 初始化插件

在你的Flutter应用的入口文件(通常是main.dart)中初始化广告插件。

import 'package:flutter/material.dart';
import 'package:crecexdiez_advertising/crecexdiez_advertising.dart';

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  // 初始化广告插件
  CrecexdiezAdvertising.initialize(
    appId: 'YOUR_APP_ID',  // 替换为你的广告平台提供的App ID
    testDevices: Platform.isAndroid
        ? ['YOUR_ANDROID_TEST_DEVICE_ID']
        : ['YOUR_IOS_TEST_DEVICE_ID'],  // 可选,用于测试设备
  );

  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(),
    );
  }
}

3. 显示横幅广告

接下来,在你的主页或其他页面中显示横幅广告。

import 'package:flutter/material.dart';
import 'package:crecexdiez_advertising/crecexdiez_advertising.dart';

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  BannerAd? _bannerAd;

  @override
  void initState() {
    super.initState();
    // 创建横幅广告
    _bannerAd = BannerAd(
      adUnitId: 'YOUR_BANNER_AD_UNIT_ID',  // 替换为你的广告单元ID
      size: AdSize.banner,  // 或者 AdSize.largeBanner, AdSize.mediumRectangle 等
      listener: BannerAdListener(
        onAdLoaded: () {
          print('Banner ad loaded.');
        },
        onAdFailedToLoad: (AdError error) {
          print('Banner ad failed to load: ${error.message}');
        },
        onAdOpened: () {
          print('Banner ad opened.');
        },
        onAdClosed: () {
          print('Banner ad closed.');
        },
        onAdLeftApplication: () {
          print('User left the app from the banner ad.');
        },
      ),
    )..load();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Flutter Ad Integration'),
      ),
      body: Center(
        child: _bannerAd != null
            ? Container(
                height: _bannerAd!.size.height.toDouble(),
                child: AdWidget(ad: _bannerAd!),
              )
            : CircularProgressIndicator(),  // 加载中的指示器
      ),
    );
  }

  @override
  void dispose() {
    _bannerAd?.dispose();
    super.dispose();
  }
}

4. 显示插屏广告

如果你还想集成插屏广告,可以按照类似的方式处理。

class _MyHomePageState extends State<MyHomePage> {
  // ... 其他代码

  InterstitialAd? _interstitialAd;

  @override
  void initState() {
    super.initState();
    // ... 创建横幅广告的代码

    // 创建插屏广告
    _interstitialAd = InterstitialAd(
      adUnitId: 'YOUR_INTERSTITIAL_AD_UNIT_ID',  // 替换为你的广告单元ID
      listener: InterstitialAdListener(
        onAdLoaded: () {
          _interstitialAd?.show();  // 广告加载完成后立即显示
        },
        onAdFailedToLoad: (AdError error) {
          print('Interstitial ad failed to load: ${error.message}');
        },
        onAdOpened: () {
          print('Interstitial ad opened.');
        },
        onAdClosed: () {
          print('Interstitial ad closed.');
          // 可以在这里重新加载插屏广告以便下次使用
          _interstitialAd?.load();
        },
      ),
    );

    // 延迟加载插屏广告(避免在应用启动时立即显示广告)
    Future.delayed(Duration(seconds: 5), () {
      _interstitialAd?.load();
    });
  }

  // ... 其他代码
}

请注意,上述代码中的BannerAd, InterstitialAd, AdWidget, AdSize, AdError, BannerAdListener, 和 InterstitialAdListener 等类和方法是基于一般广告插件API设计的,实际使用时需要参考crecexdiez_advertising插件的具体文档进行调整。

由于crecexdiez_advertising并非一个真实存在的插件,因此你需要查找并替换上述代码中的广告单元ID、测试设备ID等信息,以及根据实际插件的API进行必要的调整。

回到顶部