Flutter插件get_mad的介绍与使用

Flutter插件get_mad的介绍与使用

关于

GetX 包的一个修改版本 4.6.6,旨在增强原有功能的同时保持核心原则。

CLI

  • 仅使用 get_mad_cli
  • get_cli 不适用于此包。

为什么选择mad

  • 当然,如果你在使用来自未知开发者的非官方版本的 get,那说明你很疯狂。
  • 因此,这里的包本身并不疯狂,而是愿意承担风险的人是疯狂的,这个包正是为他们准备的。

文档

  • GetView 小部件可以携带自定义标签,以便与单独的多个实例 GetX 控制器一起使用。
  • 删除了不必要的功能如 GetConnector 以提高性能。
  • 添加了 Android 原生过渡动画。
  • 修改了默认的过渡持续时间。
  • 修改了 GetViewBindings 以使用 get_mad_cli 实现独特的路由。
  • 添加了 RxMad 用于响应式编程。
    • 使用它:
      final RxMad observerForList = RxMad();
      
    • 在小部件中使用:
      constroller.observerForList.value;
      
    • 重新构建小部件:
      observerForList.refresh();
      

更多详细信息,请参阅 GetX 官方文档

示例代码

主页面 (main.dart)

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return GetMaterialApp(
      title: 'Flutter Demo',
      home: HomePage(),
    );
  }
}

class HomePage extends StatelessWidget {
  final RxMad observerForList = RxMad();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Flutter Demo Home Page'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            ElevatedButton(
              onPressed: () {
                observerForList.refresh();
              },
              child: Text('Refresh List'),
            ),
            // 这里展示如何获取值
            Text('Current Value: ${observerForList.value}'),
          ],
        ),
      ),
    );
  }
}

配置文件 (pubspec.yaml)

确保在 pubspec.yaml 文件中添加以下依赖项:

dependencies:
  flutter:
    sdk: flutter
  get: ^4.6.6
  get_mad_cli: ^1.0.0

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

1 回复

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


get_mad 是一个用于 Flutter 的插件,它允许开发者在应用程序中集成广告功能。这个插件的主要目的是帮助开发者轻松地在 Flutter 应用中展示广告,从而实现变现。以下是如何使用 get_mad 插件的详细步骤:

1. 添加依赖

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

dependencies:
  flutter:
    sdk: flutter
  get_mad: ^1.0.0  # 请根据最新版本进行更新

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

2. 初始化插件

在你的 main.dart 文件中初始化 get_mad 插件。通常,你需要在 main 函数中进行初始化。

import 'package:get_mad/get_mad.dart';

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

3. 展示广告

get_mad 提供了多种广告类型,如横幅广告、插页式广告和激励视频广告。以下是如何展示这些广告的示例。

横幅广告

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

class BannerAdExample extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Banner Ad Example'),
      ),
      body: Column(
        children: [
          Expanded(
            child: Center(
              child: Text('Banner Ad will be shown below'),
            ),
          ),
          GetMadBannerAd(
            adUnitId: 'YOUR_BANNER_AD_UNIT_ID',  // 替换为你的横幅广告单元 ID
            size: AdSize.banner,
          ),
        ],
      ),
    );
  }
}

插页式广告

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

class InterstitialAdExample extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Interstitial Ad Example'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: () async {
            await GetMadInterstitialAd.load(
              adUnitId: 'YOUR_INTERSTITIAL_AD_UNIT_ID',  // 替换为你的插页式广告单元 ID
            );
            GetMadInterstitialAd.show();
          },
          child: Text('Show Interstitial Ad'),
        ),
      ),
    );
  }
}

激励视频广告

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

class RewardedAdExample extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Rewarded Ad Example'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: () async {
            await GetMadRewardedAd.load(
              adUnitId: 'YOUR_REWARDED_AD_UNIT_ID',  // 替换为你的激励视频广告单元 ID
            );
            GetMadRewardedAd.show(
              onRewarded: (reward) {
                // 处理奖励
                print('Reward: $reward');
              },
            );
          },
          child: Text('Show Rewarded Ad'),
        ),
      ),
    );
  }
}

4. 处理广告事件

get_mad 提供了多种回调函数来处理广告事件,例如广告加载完成、广告展示、广告点击等。你可以在展示广告时监听这些事件。

GetMadBannerAd(
  adUnitId: 'YOUR_BANNER_AD_UNIT_ID',
  size: AdSize.banner,
  onAdLoaded: () {
    print('Ad loaded');
  },
  onAdFailedToLoad: (error) {
    print('Ad failed to load: $error');
  },
  onAdClicked: () {
    print('Ad clicked');
  },
);

5. 调试和测试

在开发过程中,你可以使用测试广告单元 ID 来确保广告功能正常工作。例如:

GetMadBannerAd(
  adUnitId: GetMad.testAdUnitId,  // 使用测试广告单元 ID
  size: AdSize.banner,
);
回到顶部