Flutter广告集成插件cs_youmi_ad的使用

cs_youmi_ad

这是一个新的Flutter插件项目。

Getting Started(开始使用)

这个项目是一个Flutter插件包的起点,这种插件包包含针对Android和/或iOS的平台特定实现代码。

对于如何开始使用Flutter的帮助,请查看我们的在线文档,其中提供了教程、示例、移动开发指南以及完整的API参考。


使用示例

以下是一个完整的示例代码,展示如何在Flutter应用中集成和使用cs_youmi_ad插件。

示例代码

main.dart

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

import 'package:flutter/services.dart';
import 'package:cs_youmi_ad/cs_youmi_ad.dart'; // 导入cs_youmi_ad插件

void main() {
  runApp(const MyApp()); // 运行应用
}

class MyApp extends StatefulWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  State<MyApp> createState() => _MyAppState(); // 初始化状态
}

class _MyAppState extends State<MyApp> {
  String _platformVersion = 'Unknown'; // 平台版本信息

  @override
  void initState() {
    super.initState();
    initPlatformState(); // 初始化插件状态
  }

  // 异步初始化插件
  Future<void> initPlatformState() async {
    String platformVersion;
    try {
      // 初始化Youmi SDK,传入您的App ID
      CsYoumiAd().initSDK(appId: "123321");

      // 显示激励视频广告,传入用户ID
      CsYoumiAd().showOfferwallAd("userId");
      platformVersion = 'Youmi SDK 初始化成功!';
    } on PlatformException {
      platformVersion = 'Failed to get platform version.'; // 错误处理
    }

    // 如果组件被移除,避免调用setState
    if (!mounted) return;

    setState(() {
      _platformVersion = platformVersion; // 更新状态
    });
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Youmi广告插件示例'), // 应用标题
        ),
        body: Center(
          child: Text('运行状态: $_platformVersion\n'), // 显示状态信息
        ),
      ),
    );
  }
}

代码说明

  1. 导入插件

    import 'package:cs_youmi_ad/cs_youmi_ad.dart';
    

    导入cs_youmi_ad插件,以便在Flutter中使用Youmi广告功能。

  2. 初始化SDK

    CsYoumiAd().initSDK(appId: "123321");
    

    调用initSDK方法并传入您的App ID。确保在Youmi开发者后台已经注册了应用。

  3. 显示广告

    CsYoumiAd().showOfferwallAd("userId");
    

    调用showOfferwallAd方法并传入用户ID。这将触发激励视频广告的显示。

  4. 错误处理: 使用try-catch块捕获可能的异常,并在失败时更新UI。

  5. UI展示: 使用Text组件动态显示广告的初始化状态。


完整示例运行效果

运行上述代码后,您将在Flutter应用中看到类似以下的界面:

运行状态: Youmi SDK 初始化成功!

如果初始化失败,则会显示:

运行状态: Failed to get platform version.

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

1 回复

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


cs_youmi_ad 是一个用于在 Flutter 应用中集成优米广告的插件。通过这个插件,开发者可以轻松地在应用中展示横幅广告、插屏广告、激励视频广告等。以下是如何使用 cs_youmi_ad 插件的详细步骤:

1. 添加依赖

首先,在 pubspec.yaml 文件中添加 cs_youmi_ad 插件的依赖:

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

然后运行 flutter pub get 来安装依赖。

2. 初始化插件

在使用广告之前,需要先初始化插件。通常可以在 main.dart 文件中进行初始化:

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

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  
  // 初始化优米广告
  await CsYoumiAd.init(
    appId: 'your_app_id',  // 替换为你的优米广告App ID
    appKey: 'your_app_key',  // 替换为你的优米广告App Key
    debug: true,  // 是否开启调试模式
  );
  
  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:cs_youmi_ad/cs_youmi_ad.dart';

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Flutter Demo Home Page'),
      ),
      body: Column(
        children: [
          Expanded(
            child: Center(
              child: Text('Hello, World!'),
            ),
          ),
          // 展示横幅广告
          CsYoumiBannerAd(
            adUnitId: 'your_banner_ad_unit_id',  // 替换为你的横幅广告单元ID
            adSize: CsYoumiBannerAdSize.BANNER,  // 广告尺寸
            listener: (CsYoumiAdEvent event, Map<String, dynamic> args) {
              // 处理广告事件
              switch (event) {
                case CsYoumiAdEvent.onAdLoaded:
                  print('Banner Ad Loaded');
                  break;
                case CsYoumiAdEvent.onAdFailedToLoad:
                  print('Banner Ad Failed to Load');
                  break;
                case CsYoumiAdEvent.onAdClicked:
                  print('Banner Ad Clicked');
                  break;
                default:
                  break;
              }
            },
          ),
        ],
      ),
    );
  }
}

4. 展示插屏广告

插屏广告通常在全屏展示。你可以在需要展示插屏广告的地方调用以下代码:

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

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Flutter Demo Home Page'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: () async {
            // 展示插屏广告
            await CsYoumiInterstitialAd.show(
              adUnitId: 'your_interstitial_ad_unit_id',  // 替换为你的插屏广告单元ID
              listener: (CsYoumiAdEvent event, Map<String, dynamic> args) {
                // 处理广告事件
                switch (event) {
                  case CsYoumiAdEvent.onAdLoaded:
                    print('Interstitial Ad Loaded');
                    break;
                  case CsYoumiAdEvent.onAdFailedToLoad:
                    print('Interstitial Ad Failed to Load');
                    break;
                  case CsYoumiAdEvent.onAdClosed:
                    print('Interstitial Ad Closed');
                    break;
                  default:
                    break;
                }
              },
            );
          },
          child: Text('Show Interstitial Ad'),
        ),
      ),
    );
  }
}

5. 展示激励视频广告

激励视频广告通常需要用户观看完整视频后才能获得奖励。你可以在需要展示激励视频广告的地方调用以下代码:

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

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Flutter Demo Home Page'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: () async {
            // 展示激励视频广告
            await CsYoumiRewardedAd.show(
              adUnitId: 'your_rewarded_ad_unit_id',  // 替换为你的激励视频广告单元ID
              listener: (CsYoumiAdEvent event, Map<String, dynamic> args) {
                // 处理广告事件
                switch (event) {
                  case CsYoumiAdEvent.onAdLoaded:
                    print('Rewarded Ad Loaded');
                    break;
                  case CsYoumiAdEvent.onAdFailedToLoad:
                    print('Rewarded Ad Failed to Load');
                    break;
                  case CsYoumiAdEvent.onAdRewarded:
                    print('Rewarded Ad Rewarded');
                    break;
                  case CsYoumiAdEvent.onAdClosed:
                    print('Rewarded Ad Closed');
                    break;
                  default:
                    break;
                }
              },
            );
          },
          child: Text('Show Rewarded Ad'),
        ),
      ),
    );
  }
}

6. 处理广告事件

在展示广告时,你可以通过 listener 参数来处理广告的各种事件,例如广告加载成功、加载失败、用户点击广告等。

7. 其他注意事项

  • 广告单元ID:确保你使用的是正确的广告单元ID,否则广告将无法正常展示。
  • 调试模式:在开发阶段,建议开启调试模式,以便查看广告加载和展示的日志信息。
  • 广告策略:根据应用的使用场景,合理选择广告类型和展示时机,以提升用户体验和广告收益。

8. 发布应用

在发布应用之前,请确保关闭调试模式,并使用真实的广告单元ID进行测试。

await CsYoumiAd.init(
  appId: 'your_app_id',
  appKey: 'your_app_key',
  debug: false,  // 关闭调试模式
);
回到顶部