Flutter插件yodo1_mas_flutter_plugin的介绍与使用详解

Flutter插件yodo1_mas_flutter_plugin的介绍与使用详解

插件简介

yodo1_mas_flutter_plugin 是一款官方支持的 Flutter 插件,用于集成最新的 Yodo1 MAS SDK。该插件支持多种广告类型,并遵循 Flutter 的最佳实践。

特性

该插件支持以下广告类型及其对应的常量:

广告类型 支持情况 插件常量 示例链接
App Open Ads Yodo1MasFlutterPlugin.adTypeAppOpen 示例链接
Interstitial Ads Yodo1MasFlutterPlugin.adTypeInterstitial 示例链接
Rewarded Ads Yodo1MasFlutterPlugin.adTypeRewarded 示例链接
Banner Ads Yodo1MasFlutterPlugin.adTypeBanner -
Native Ads Yodo1MasFlutterPlugin.adTypeNative -

初始化插件

要初始化插件,您需要调用 initSdk 方法并传入您的应用密钥和监听器方法。以下是初始化插件的示例代码:

// 初始化插件变量
final _yodo1MasFlutterPlugin = Yodo1MasFlutterPlugin();

// 初始化插件
@override
void initState() {
  super.initState();
  
  /**
   * 初始化 MAS SDK 参数:
   * appKey - 您的应用密钥(来自 MAS 仪表板)
   * privacy (bool) - 是否使用 MAS 隐私对话框或自定义
   * ccpa (bool) - 参见 https://developers.yodo1.com/docs/sdk/getting_started/legal/ccpa
   * coppa (bool) - 参见 https://developers.yodo1.com/docs/sdk/getting_started/legal/coppa
   * gdpr (bool) - 参见 https://developers.yodo1.com/docs/sdk/getting_started/legal/gdpr
   */
  yodo1MasFlutterPlugin.initSdk("<your appKey>", true, true, false, false);
  
  // 监听插件初始化状态
  yodo1MasFlutterPlugin.setInitListener((bool successful) {
    print('Yodo1 Flutter 初始化状态: $successful');
  });
}

加载广告

要加载广告,可以使用 loadAd 方法并传入广告类型作为参数。例如,加载一个 App Open 广告:

await yodo1MasFlutterPlugin.loadAd(Yodo1MasFlutterPlugin.adTypeAppOpen);

检查广告是否已加载

可以通过 isAdLoaded 方法检查广告是否已成功加载。例如:

bool isLoaded = await yodo1MasFlutterPlugin.isAdLoaded(Yodo1MasFlutterPlugin.adTypeAppOpen);

显示广告

要显示广告,可以使用 showAd 方法并传入广告类型作为参数。例如:

await yodo1MasFlutterPlugin.showAd(Yodo1MasFlutterPlugin.adTypeAppOpen);

添加监听器

您可以为不同的广告类型和初始化过程添加监听器。以下是不同类型的监听器示例:

  • 初始化监听器
_yodo1MasFlutterPlugin.setInitListener((bool successful) {
  print('Yodo1 Flutter 初始化成功: $successful');
});
  • 插屏广告监听器
_yodo1MasFlutterPlugin.setInterstitialListener((int code, String message) {
  print('Yodo1 Flutter 回调插屏广告: $code $message');
});
  • 奖励广告监听器
_yodo1MasFlutterPlugin.setRewardListener((int code, String message) {
  print('Yodo1 Flutter 回调奖励广告: $code $message');
});
  • 应用打开广告监听器
_yodo1MasFlutterPlugin.setAppOpenListener((int code, String message) {
  print('Yodo1 Flutter 回调应用打开广告: $code $message');
});

广告事件

广告事件通过代码表示,以下是事件名称及其对应的代码:

事件名称 事件代码
广告加载成功 1004
广告加载失败 1005
广告打开 1001
广告关闭 1002
广告打开失败 1003
奖励获得(仅限奖励广告) 2001

这些常量可以在 Yodo1MasConstants 中使用:

import 'package:yodo1_mas_flutter_plugin/constants.dart';

Banner 广告

要加载和显示 Banner 广告,可以使用以下方法:

// 加载 Banner 广告
await yodo1MasFlutterPlugin.loadAd(Yodo1MasFlutterPlugin.adTypeBanner);

// 检查 Banner 广告是否已加载
bool isBannerLoaded = await yodo1MasFlutterPlugin.isAdLoaded(Yodo1MasFlutterPlugin.adTypeBanner);

// 显示 Banner 广告
await yodo1MasFlutterPlugin.showAd(Yodo1MasFlutterPlugin.adTypeBanner);
添加 Banner 广告监听器

可以通过设置 Banner 广告监听器来监听广告事件:

_yodo1MasFlutterPlugin.setBannerListener((int code, String message) {
  if (code == Yodo1MasConstants.adEventLoaded) {
    print('Banner 广告加载成功: $message');
  } else if (code == Yodo1MasConstants.adEventFailedToLoad) {
    print('Banner 广告加载失败: $message');
  }
});

Native 广告

要加载和显示 Native 广告,可以使用以下方法:

// 加载 Native 广告
await yodo1MasFlutterPlugin.loadAd(Yodo1MasFlutterPlugin.adTypeNative);

// 检查 Native 广告是否已加载
bool isNativeLoaded = await yodo1MasFlutterPlugin.isAdLoaded(Yodo1MasFlutterPlugin.adTypeNative);

// 显示 Native 广告
await yodo1MasFlutterPlugin.showAd(Yodo1MasFlutterPlugin.adTypeNative);
添加 Native 广告监听器

可以通过设置 Native 广告监听器来监听广告事件:

_yodo1MasFlutterPlugin.setNativeListener((int code, String message) {
  if (code == Yodo1MasConstants.adEventLoaded) {
    print('Native 广告加载成功: $message');
  } else if (code == Yodo1MasConstants.adEventFailedToLoad) {
    print('Native 广告加载失败: $message');
  }
});

更多关于Flutter插件yodo1_mas_flutter_plugin的介绍与使用详解的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter插件yodo1_mas_flutter_plugin的介绍与使用详解的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在使用未知功能的 Flutter 插件(如 yodo1_mas_flutter_plugin)时,由于缺乏官方文档或明确的介绍,我们需要通过以下步骤来探索和理解其功能:

1. 查看插件的源代码

  • 打开插件的 GitHub 仓库或源代码文件,查看其 README.md 文件、pubspec.yaml 文件以及 lib 目录下的 Dart 文件。
  • 通过阅读代码,了解插件提供的类、方法和功能。

2. 查看插件的依赖

  • pubspec.yaml 文件中,查看插件的依赖项,了解它是否依赖于其他插件或原生库。
  • 如果插件依赖于原生库,可以进一步查看 Android 的 build.gradle 文件或 iOS 的 Podfile 文件,了解其原生实现。

3. 查看插件的示例项目

  • 许多插件会附带一个示例项目,展示如何使用插件。通过运行示例项目,可以直观地了解插件的功能。
  • 如果插件没有提供示例项目,可以尝试创建一个简单的 Flutter 项目,导入插件并尝试调用其方法。

4. 查看插件的原生实现

  • 对于 Flutter 插件,通常会有 Android 和 iOS 的原生实现。查看 androidios 目录下的代码,了解插件的原生功能。
  • 通过阅读原生代码,可以更深入地理解插件的工作原理。

5. 尝试调用插件的方法

  • 在 Flutter 项目中导入插件,并尝试调用其提供的方法。通过观察方法的返回值或副作用,推断插件的功能。
  • 如果插件提供了事件监听或回调,可以注册监听器,观察插件的行为。

6. 查看插件的日志输出

  • 在调试模式下运行 Flutter 项目,查看控制台的日志输出。插件可能会输出一些调试信息,帮助理解其功能。
  • 如果插件没有输出日志,可以尝试在原生代码中添加日志,观察插件的执行流程。

7. 查阅相关文档或社区讨论

  • 如果插件是开源的,可以查阅其 GitHub 仓库的 Issues 或 Pull Requests,了解其他开发者的使用经验或问题。
  • 在 Flutter 社区或论坛中搜索插件的名称,查看是否有相关的讨论或教程。

8. 联系插件的开发者

  • 如果以上方法都无法确定插件的功能,可以尝试联系插件的开发者,询问其具体功能和使用方法。

示例代码

假设 yodo1_mas_flutter_plugin 是一个广告插件,以下是一个简单的使用示例:

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

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

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Yodo1 MAS Flutter Plugin Example'),
        ),
        body: Center(
          child: ElevatedButton(
            onPressed: () async {
              // 初始化插件
              await Yodo1MASFlutterPlugin.initialize();

              // 显示广告
              await Yodo1MASFlutterPlugin.showRewardedAd();
            },
            child: Text('Show Ad'),
          ),
        ),
      ),
    );
  }
}
回到顶部