Flutter广告集成插件doceree_ads的使用

Flutter广告集成插件doceree_ads的使用

本文档描述了该插件的使用方法。如果您将此插件发布到pub.dev,此文档的内容将出现在插件的首页。

对于如何编写良好的插件文档,请参考撰写插件页面指南

有关开发插件的一般信息,请参阅Dart的创建库包指南和Flutter的开发插件和工具指南

特性

此Doceree Flutter插件适用于Web、iOS和Android平台,旨在帮助开发者将其作为第三方库使用。


开始使用

在开始之前,请确保您的项目已经配置好Flutter环境,并且能够支持目标平台(Web、iOS或Android)。此外,您需要在Doceree平台注册并获取广告密钥。

安装插件

pubspec.yaml文件中添加以下依赖:

dependencies:
  doceree_ads: ^1.0.0

然后运行以下命令以安装依赖:

flutter pub get

使用示例

初始化插件

在应用启动时,您需要初始化插件并设置广告密钥。

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

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

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  // 初始化插件
  @override
  void initState() {
    super.initState();
    DocereeAds.init('YOUR_ADVERTISER_ID'); // 替换为您的广告主ID
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Doceree Ads Example'),
        ),
        body: Center(
          child: ElevatedButton(
            onPressed: () {
              // 加载广告
              loadAndShowInterstitialAd();
            },
            child: Text('加载并展示插页式广告'),
          ),
        ),
      ),
    );
  }

  // 加载并展示插页式广告
  Future<void> loadAndShowInterstitialAd() async {
    try {
      // 创建插页式广告实例
      InterstitialAd interstitialAd = await DocereeAds.createInterstitialAd();

      // 监听广告加载完成事件
      interstitialAd.onAdLoaded.listen((event) {
        print('插页式广告加载成功');
        // 展示广告
        interstitialAd.show();
      });

      // 监听广告关闭事件
      interstitialAd.onAdClosed.listen((event) {
        print('插页式广告已关闭');
      });

      // 错误处理
      interstitialAd.onError.listen((error) {
        print('插页式广告加载失败: ${error.message}');
      });

      // 加载广告
      await interstitialAd.load();
    } catch (e) {
      print('插页式广告加载失败: $e');
    }
  }
}

额外信息

支持的广告类型

目前,该插件支持以下广告类型:

  • 插页式广告(Interstitial Ad)
  • 横幅广告(Banner Ad)

广告状态

您可以随时检查广告的状态,例如是否加载完成或是否显示。

bool isAdLoaded = false;

interstitialAd.onAdLoaded.listen((event) {
  setState(() {
    isAdLoaded = true;
  });
});

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

1 回复

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


doceree_ads 是一个用于在 Flutter 应用中集成广告的插件,主要针对医疗和健康领域的广告。以下是如何在 Flutter 项目中使用 doceree_ads 插件的详细步骤。

1. 添加依赖

首先,你需要在 pubspec.yaml 文件中添加 doceree_ads 插件的依赖。

dependencies:
  flutter:
    sdk: flutter
  doceree_ads: ^1.0.0  # 请使用最新版本

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

2. 初始化插件

在你的应用的 main.dart 文件中初始化 DocereeAds 插件。

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

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await DocereeAds.initialize(
    appId: 'YOUR_APP_ID',  // 替换为你的 App ID
  );
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Doceree Ads Demo',
      home: HomeScreen(),
    );
  }
}

3. 显示横幅广告

在需要显示横幅广告的页面中,使用 DocereeBannerAd 组件。

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

class HomeScreen extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Doceree Ads Demo'),
      ),
      body: Column(
        children: [
          Expanded(
            child: Center(
              child: Text('Your content here'),
            ),
          ),
          DocereeBannerAd(
            adUnitId: 'YOUR_BANNER_AD_UNIT_ID',  // 替换为你的横幅广告单元 ID
            size: DocereeBannerSize.BANNER,
            listener: (DocereeAdEvent event, {Map<String, dynamic>? args}) {
              switch (event) {
                case DocereeAdEvent.loaded:
                  print('Banner Ad loaded');
                  break;
                case DocereeAdEvent.failedToLoad:
                  print('Banner Ad failed to load');
                  break;
                case DocereeAdEvent.clicked:
                  print('Banner Ad clicked');
                  break;
                case DocereeAdEvent.impression:
                  print('Banner Ad impression');
                  break;
              }
            },
          ),
        ],
      ),
    );
  }
}

4. 显示插页式广告

如果你想显示插页式广告,可以使用 DocereeInterstitialAd

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

class HomeScreen extends StatelessWidget {
  void _showInterstitialAd() {
    DocereeInterstitialAd.load(
      adUnitId: 'YOUR_INTERSTITIAL_AD_UNIT_ID',  // 替换为你的插页式广告单元 ID
      listener: (DocereeAdEvent event, {Map<String, dynamic>? args}) {
        switch (event) {
          case DocereeAdEvent.loaded:
            print('Interstitial Ad loaded');
            DocereeInterstitialAd.show();
            break;
          case DocereeAdEvent.failedToLoad:
            print('Interstitial Ad failed to load');
            break;
          case DocereeAdEvent.dismissed:
            print('Interstitial Ad dismissed');
            break;
          case DocereeAdEvent.clicked:
            print('Interstitial Ad clicked');
            break;
          case DocereeAdEvent.impression:
            print('Interstitial Ad impression');
            break;
        }
      },
    );
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Doceree Ads Demo'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: _showInterstitialAd,
          child: Text('Show Interstitial Ad'),
        ),
      ),
    );
  }
}

5. 显示原生广告

DocereeAds 也支持原生广告。你可以使用 DocereeNativeAd 来显示原生广告。

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

class HomeScreen extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Doceree Ads Demo'),
      ),
      body: Column(
        children: [
          Expanded(
            child: Center(
              child: Text('Your content here'),
            ),
          ),
          DocereeNativeAd(
            adUnitId: 'YOUR_NATIVE_AD_UNIT_ID',  // 替换为你的原生广告单元 ID
            adOptions: DocereeNativeAdOptions(),
            listener: (DocereeAdEvent event, {Map<String, dynamic>? args}) {
              switch (event) {
                case DocereeAdEvent.loaded:
                  print('Native Ad loaded');
                  break;
                case DocereeAdEvent.failedToLoad:
                  print('Native Ad failed to load');
                  break;
                case DocereeAdEvent.clicked:
                  print('Native Ad clicked');
                  break;
                case DocereeAdEvent.impression:
                  print('Native Ad impression');
                  break;
              }
            },
          ),
        ],
      ),
    );
  }
}
回到顶部