Flutter广告中介插件unity_ads_mediation的使用

发布于 1周前 作者 yibo5220 来自 Flutter

Flutter广告中介插件unity_ads_mediation的使用

Unity Mediation Ads

Pub License

Unity Mediation Ads 是一个用于 Flutter 应用程序的插件。此插件能够展示 Unity 奖励视频广告和插屏广告。

注意: 我们正在开发其他广告格式。

开始使用

1. 初始化

UnityAdsMediation.initialize(
  gameId: 'GAME_ID', // 从 Unity 仪表板获取 GAME_ID
  listener: (UnityInitializationState initializationState, Map<String, dynamic> result) {
      if (initializationState == UnityInitializationState.initialized) {
        // 插件初始化成功
      } else if(initializationState == UnityInitializationState.error) {
        // 初始化失败
      }
  },
);

2. 添加适配器

  1. 打开项目的 build.gradle 文件。
  2. 在文件的依赖部分添加以下实现,确保声明了你项目中需要使用的适配器依赖:
implementation "com.unity3d.mediation:admob-adapter:0.3.0"
implementation "com.unity3d.mediation:adcolony-adapter:0.3.0"
implementation "com.unity3d.mediation:applovin-adapter:0.3.0"
implementation "com.unity3d.mediation:facebook-adapter:0.3.0"
implementation "com.unity3d.mediation:ironsource-adapter:0.3.0"
implementation "com.unity3d.mediation:vungle-adapter:0.3.0"

3. 展示奖励视频广告

奖励视频广告

UnityAdsMediation.showRewardedAd(
  placementId: 'REWARDED_AD_ID', // 替换为你的奖励视频广告 ID
  listener: (UnityAdsState adState, Map<String, dynamic> result) {
    if (adState == UnityAdsState.rewarded) {
      // 用户观看了完整的视频,应该给予奖励
    } else if (adState == UnityAdsState.error) {
      // 错误
    }
  },
);

4. 展示插屏广告

插屏广告

UnityAdsMediation.showInterstitialAd(
  placementId: 'INTERSTITIAL_AD_ID', // 替换为你的插屏广告 ID
  listener: (UnityAdsState adState, Map<String, dynamic> result) {
    if (adState == UnityAdsState.rewarded) {
      // 用户观看了完整的视频,应该给予奖励
    } else if (adState == UnityAdsState.error) {
      // 错误
    }
  },
);

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

1 回复

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


当然,以下是一个关于如何在Flutter项目中集成和使用unity_ads_mediation插件的示例代码。这个示例假设你已经有一个Flutter项目,并且希望在该项目中集成Unity Ads广告中介。

1. 添加依赖

首先,你需要在pubspec.yaml文件中添加unity_ads_mediation插件的依赖。注意,由于Unity Ads的官方Flutter插件可能并不直接支持中介功能,这里假设你使用的是一个支持中介功能的第三方插件或已经配置好中介的Unity Ads SDK。

dependencies:
  flutter:
    sdk: flutter
  unity_ads_mediation: ^x.y.z  # 替换为实际的版本号

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

2. 配置Unity Ads

你需要在Unity Ads开发者门户中创建一个应用,并获取相关的游戏ID(game ID)和广告单元ID(placement ID)。然后,将这些ID配置到你的Flutter项目中。

3. 初始化Unity Ads

在你的Flutter项目的入口文件(通常是main.dart)中,初始化Unity Ads。

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

void main() {
  runApp(MyApp());
  // 初始化Unity Ads
  UnityAds.initialize(
    gameId: "your_game_id",  // 替换为你的游戏ID
    testMode: true,  // 如果是测试模式,设置为true;发布时设置为false
  );
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  bool isAdReady = false;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Flutter Unity Ads Mediation Demo'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text(
              'Check if ad is ready: $isAdReady',
            ),
            SizedBox(height: 20),
            ElevatedButton(
              onPressed: () async {
                // 检查广告是否已准备好
                bool result = await UnityAds.isAdReady(placementId: "your_placement_id");  // 替换为你的广告单元ID
                setState(() {
                  isAdReady = result;
                });

                if (result) {
                  // 显示广告
                  UnityAds.showAd(placementId: "your_placement_id");
                } else {
                  print("Ad is not ready.");
                }
              },
              child: Text('Show Ad'),
            ),
          ],
        ),
      ),
    );
  }
}

4. 处理广告事件

你还可以监听Unity Ads的各种事件,比如广告加载成功、显示、点击、完成等。

@override
void initState() {
  super.initState();

  // 监听广告事件
  UnityAds.addListener((event) {
    if (event is UnityAdsEventLoad) {
      print("Ad loaded: ${event.placementId}");
    } else if (event is UnityAdsEventShow) {
      print("Ad shown: ${event.placementId}");
    } else if (event is UnityAdsEventClick) {
      print("Ad clicked: ${event.placementId}");
    } else if (event is UnityAdsEventComplete) {
      print("Ad completed: ${event.placementId}");
    } else if (event is UnityAdsEventClose) {
      print("Ad closed: ${event.placementId}");
    } else if (event is UnityAdsEventError) {
      print("Ad error: ${event.message}, placementId: ${event.placementId}");
    }
  });
}

将上述代码添加到你的_MyHomePageState类中,并调用initState方法中的监听器设置。

注意

  • 确保你已经按照Unity Ads的官方文档配置了所有必要的设置,包括在Android和iOS项目中添加相关的SDK和配置。
  • 由于插件和API可能会随时间更新,请参考最新的官方文档和插件仓库中的示例代码。
  • unity_ads_mediation可能是一个假设的插件名称,实际使用中请查找支持中介功能的Unity Ads Flutter插件。

希望这个示例能帮助你在Flutter项目中集成和使用Unity Ads广告中介。

回到顶部