Flutter广告插件sigmobad的使用

Flutter广告插件sigmobad的使用

Sigmob广告 Flutter版本

Pub Version Likes Points Last Commit Stars

Flutter交流群 Flutter交流群2 Flutter插件反馈群

官方文档

版本更新

更新日志

本地开发环境

[✓] Flutter (Channel stable, 3.24.5, on macOS 14.6.1 23G93 darwin-x64, locale zh-Hans-CN)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
[✓] Xcode - develop for iOS and macOS (Xcode 16.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2022.1)
[✓] Android Studio (version 2022.3)
[✓] IntelliJ IDEA Ultimate Edition (version 2023.2.2)
[✓] VS Code (version 1.95.3)
[✓] Connected device (4 available)
[✓] Network resources

集成步骤

1. pubspec.yaml

dependencies:
  sigmobad: ^latest

引入:

import 'package:sigmobad/sigmobad.dart';

使用

1. SDK初始化

await SigmobAd.register(
    //androidId
    androidId: "6878",
    //iosId
    iosId: "6877",
    //androidAppKey
    androidAppKey: "8ebc1fd1c27e650c",
    //iosAppKey
    iosAppKey: "eccdcdbd9adbd4a7",
    //是否显示日志log
    debug: true,
    //是否显示个性化推荐广告
    personalized: true,
);

2. 获取SDK版本

await SigmobAd.getSDKVersion();

3. 信息流广告(自渲染)

SigmobAdNativeWidget(
    //andorid广告位id
    androidId: "ed70b4760ff",
    //ios广告位id
    iosId: "ed70b3615a5",
    //广告宽
    viewWidth: 400,
    //广告高 加载成功后会自动修改为sdk返回广告高
    viewHeight: 200,
    //用户id
    userId: "123",
    //广告回调
    callBack: SigmobAdNativeCallBack(
        onShow: () {
          print("信息流广告显示");
        },
        onClose: () {
          print("信息流广告关闭");
        },
        onFail: (message) {
          print("信息流广告出错 $message");
        },
        onClick: () {
          print("信息流广告点击");
        },
    ),
),

4. 激励广告

预加载广告
await SigmobAd.loadRewardAd(
    //android广告id
    androidId: "ea1f8ea2d90",
    //ios广告id
    iosId: "ea1f8f7b662",
    //用户id
    userID: "123",
    //奖励
    rewardName: "100金币",
    //奖励数
    rewardAmount: 100,
    //扩展参数 服务器回调使用
    customData: "",
);
显示广告
await SigmobAd.showRewardAd();
广告监听
SigmobAdStream.initAdStream(
    //激励广告
    rewardCallBack: SigmobAdRewardCallBack(
        onShow: () {
          print("激励广告显示");
        },
        onClick: () {
          print("激励广告点击");
        },
        onFail: (message) {
          print("激励广告失败 $message");
        },
        onClose: () {
          print("激励广告关闭");
        },
        onReady: () async {
          print("激励广告预加载准备就绪");
          await SigmobAd.showRewardAd();
        },
        onUnReady: () {
          print("激励广告预加载未准备就绪");
        },
        onVerify: (hasReward, rewardName, rewardAmount) {
          print("激励广告奖励  $hasReward   $rewardName   $rewardAmount");
        },
    ),
);

5. 开屏广告

SigmobAdSplashWidget(
        //android广告位id
        androidId: "ea1f8f21300",
        //ios广告位id
        iosId: "ea1f8f9bd12",
        //宽
        width: MediaQuery.of(context).size.width,
        //高
        height: MediaQuery.of(context).size.height,
        //超时时间
        fetchDelay: 5,
        //用户id
        userId: "123",
        callBack: SigmobAdSplashCallBack(
          onShow: () {
            print("开屏广告显示");
          },
          onClose: () {
            print("开屏广告关闭");
            Navigator.pop(context);
          },
          onFail: (message) {
            print("开屏广告出错 $message");
          },
          onClick: () {
            print("开屏广告点击");
          },
        ),
      ),

6. 插屏广告

预加载广告
await SigmobAd.loadInterstitialAd(
    //android广告id
    androidId: "ea1f8f45d80",
    //ios广告id
    iosId: "ea1f8fb93fb",
    //用户id
    userId: "123",
);
显示广告
await SigmobAd.showInterstitialAd();
广告监听
SigmobAdStream.initAdStream(
    interstitialCallBack: SigmobAdInterstitialCallBack(
        onShow: () {
          print("插屏广告显示");
        },
        onClick: () {
          print("插屏广告点击");
        },
        onFail: (message) {
          print("插屏广告失败 $message");
        },
        onClose: () {
          print("插屏广告关闭");
        },
        onReady: () async {
            print("插屏广告预加载准备就绪");
            await SigmobAd.showInterstitialAd();
        },
        onUnReady: () {
          print("插屏广告预加载未准备就绪");
        },
    ),
);

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

1 回复

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


当然,以下是如何在Flutter项目中使用SigmobAd插件的一个示例代码案例。SigmobAd是一个流行的广告插件,用于在Flutter应用中集成和管理广告。

首先,确保你已经在pubspec.yaml文件中添加了SigmobAd插件的依赖:

dependencies:
  flutter:
    sdk: flutter
  sigmob_ad: ^最新版本号  # 请替换为实际的最新版本号

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

接下来,你需要进行一些初始化工作,并在你的应用中展示广告。以下是一个完整的示例,包括初始化、展示横幅广告和全屏广告。

主文件 main.dart

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

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

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

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

class _MyHomePageState extends State<MyHomePage> {
  // 初始化SigmobAd
  @override
  void initState() {
    super.initState();
    SigmobAd.instance.init(
      appId: '你的Sigmob App ID',  // 请替换为你的Sigmob App ID
      placementId: '你的横幅广告Placement ID',  // 请替换为你的横幅广告Placement ID
      listener: (SigmobAdEvent event, Map<String, dynamic> args) {
        // 处理广告事件,例如广告加载成功、展示失败等
        print('SigmobAd event: $event, args: $args');
      },
    );
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('SigmobAd Example'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            // 展示横幅广告
            SizedBox(
              width: SigmobAd.bannerWidth,
              height: SigmobAd.bannerHeight,
              child: SigmobBannerAd(
                placementId: '你的横幅广告Placement ID',  // 请替换为你的横幅广告Placement ID
              ),
            ),
            SizedBox(height: 20),
            // 展示全屏广告的按钮
            ElevatedButton(
              onPressed: () {
                SigmobAd.instance.showInterstitialAd(
                  placementId: '你的全屏广告Placement ID',  // 请替换为你的全屏广告Placement ID
                );
              },
              child: Text('Show Interstitial Ad'),
            ),
          ],
        ),
      ),
    );
  }
}

说明

  1. 初始化SigmobAd:在initState方法中调用SigmobAd.instance.init方法进行初始化,传入你的Sigmob App ID和横幅广告的Placement ID。同时,你可以设置一个监听器来处理广告事件。

  2. 展示横幅广告:使用SigmobBannerAd组件来展示横幅广告,设置合适的宽度和高度,并传入横幅广告的Placement ID。

  3. 展示全屏广告:添加一个按钮,当点击按钮时调用SigmobAd.instance.showInterstitialAd方法来展示全屏广告,并传入全屏广告的Placement ID。

注意事项

  • 确保你已经在Sigmob平台注册并创建了应用,获取了相应的App ID和广告Placement ID。
  • 在实际项目中,处理广告事件时,你可能需要根据事件类型进行相应的UI更新或错误处理。
  • 请根据SigmobAd插件的官方文档和更新日志,确保使用最新版本的插件并遵循最佳实践。

这个示例展示了如何在Flutter应用中使用SigmobAd插件来集成横幅广告和全屏广告。希望这对你有所帮助!

回到顶部