Flutter广告集成插件unity_ads_module的使用

Flutter广告集成插件unity_ads_module的使用

本指南将详细介绍如何在Flutter项目中使用unity_ads_module插件来集成Unity广告。以下是完整的步骤和示例代码。

unity_ads_module

unity_ads_module 是一个用于在Flutter应用中集成Unity广告的插件。

开始使用

首先,确保你已经设置好了Flutter开发环境。如果你还没有安装Flutter,请访问Flutter官网获取详细的安装指南。

1. 添加依赖

在你的pubspec.yaml文件中添加unity_ads_module依赖:

dependencies:
  flutter:
    sdk: flutter
  unity_ads_module: ^1.0.0

2. 初始化插件

在你的Flutter项目的main.dart文件中初始化Unity广告插件。你需要在initState方法中调用UnityAds.init()方法,并在dispose方法中释放资源。

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

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

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

class _MyAppState extends State<MyApp> {
  @override
  void initState() {
    super.initState();
    // 初始化Unity Ads
    UnityAds.init(
      gameId: "YOUR_GAME_ID",
      testMode: true,
      onAdLoaded: () {
        print("广告加载成功");
      },
      onAdFailedToLoad: (error) {
        print("广告加载失败: $error");
      },
      onAdOpened: () {
        print("广告打开");
      },
      onAdClosed: () {
        print("广告关闭");
      },
      onAdLeftApplication: () {
        print("广告离开应用");
      },
    );
  }

  @override
  void dispose() {
    super.dispose();
    // 释放资源
    UnityAds.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Unity Ads 示例'),
        ),
        body: Center(
          child: ElevatedButton(
            onPressed: () {
              // 显示广告
              UnityAds.showAd(
                placementId: "YOUR_PLACEMENT_ID",
                options: {
                  "autoShow": true,
                  "isTest": true,
                },
              );
            },
            child: Text('显示广告'),
          ),
        ),
      ),
    );
  }
}

3. 配置Android和iOS平台

Android

确保在android/app/src/main/AndroidManifest.xml文件中添加网络权限:

<uses-permission android:name="android.permission.INTERNET"/>

iOS

确保在ios/Runner/Info.plist文件中添加网络权限:

<key>NSAppTransportSecurity</key>
<dict>
  <key>NSAllowsArbitraryLoads</key>
  <true/>
</dict>

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

1 回复

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


在Flutter中集成Unity Ads广告可以使用unity_ads_module插件。以下是一个简单的步骤指南,帮助你在Flutter项目中集成和使用Unity Ads。

1. 添加依赖

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

dependencies:
  flutter:
    sdk: flutter
  unity_ads_module: ^latest_version

运行flutter pub get来获取依赖。

2. 初始化Unity Ads

在你的Flutter应用中初始化Unity Ads。通常,你可以在main.dart或你的主逻辑文件中进行初始化。

import 'package:unity_ads_module/unity_ads_module.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  // 初始化Unity Ads
  await UnityAds.init(
    gameId: 'YOUR_UNITY_GAME_ID', // 替换为你的Unity Ads Game ID
    testMode: true, // 设置为true以启用测试模式
  );

  runApp(MyApp());
}

3. 展示广告

你可以使用UnityAds.showVideoAdUnityAds.showInterstitialAd方法来展示广告。

展示视频广告

void showVideoAd() async {
  await UnityAds.showVideoAd(
    placementId: 'video', // 替换为你的广告位ID
    onComplete: () {
      print('广告播放完成');
    },
    onFailed: (error, message) {
      print('广告播放失败: $message');
    },
    onStart: () {
      print('广告开始播放');
    },
    onClick: () {
      print('用户点击了广告');
    },
  );
}

展示插页广告

void showInterstitialAd() async {
  await UnityAds.showInterstitialAd(
    placementId: 'interstitial', // 替换为你的广告位ID
    onComplete: () {
      print('插页广告播放完成');
    },
    onFailed: (error, message) {
      print('插页广告播放失败: $message');
    },
    onStart: () {
      print('插页广告开始播放');
    },
    onClick: () {
      print('用户点击了插页广告');
    },
  );
}

4. 检查广告是否准备好

在展示广告之前,最好检查广告是否已经加载完成。

void checkAdReady() async {
  bool isReady = await UnityAds.isReady(placementId: 'video');
  if (isReady) {
    print('广告已准备好');
  } else {
    print('广告未准备好');
  }
}

5. 设置监听器

你可以通过设置监听器来监听广告事件。

UnityAds.setListener(
  onInitialized: () {
    print('Unity Ads 初始化完成');
  },
  onFailed: (error, message) {
    print('Unity Ads 初始化失败: $message');
  },
);

6. 处理生命周期

在Android和iOS上,你需要处理应用的生命周期,以确保广告能够正确加载和展示。

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

class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
  @override
  void initState() {
    super.initState();
    WidgetsBinding.instance.addObserver(this);
  }

  @override
  void dispose() {
    WidgetsBinding.instance.removeObserver(this);
    super.dispose();
  }

  @override
  void didChangeAppLifecycleState(AppLifecycleState state) {
    if (state == AppLifecycleState.resumed) {
      UnityAds.resume();
    } else if (state == AppLifecycleState.paused) {
      UnityAds.pause();
    }
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Unity Ads Example'),
        ),
        body: Center(
          child: ElevatedButton(
            onPressed: showVideoAd,
            child: Text('Show Video Ad'),
          ),
        ),
      ),
    );
  }
}

7. 测试

确保你在开发过程中启用测试模式,以避免实际广告的展示和点击。

await UnityAds.init(
  gameId: 'YOUR_UNITY_GAME_ID',
  testMode: true, // 测试模式
);

8. 发布

在发布应用之前,记得将testMode设置为false,以便展示真实的广告。

await UnityAds.init(
  gameId: 'YOUR_UNITY_GAME_ID',
  testMode: false, // 正式模式
);
回到顶部