Flutter广告展示插件cs_ayetstudios_ad的使用

Flutter广告展示插件cs_ayetstudios_ad的使用

使用 ayetstudios SDK-3.5

开始使用

这个项目是一个 Flutter 插件包的起点,插件包是一种专门包含 Android 和/或 iOS 平台特定实现代码的包。

如果您刚刚开始使用 Flutter,请查看我们的在线文档,其中包含教程、示例、移动开发指南以及完整的 API 参考。

示例代码

以下是一个完整的示例代码,展示了如何在 Flutter 中使用 cs_ayetstudios_ad 插件。

示例代码

import 'dart:developer';
import 'dart:io';

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

import 'package:cs_ayetstudios_ad/cs_ayetstudios_ad.dart';

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

class MyApp extends StatefulWidget {
  const MyApp({Key? key}) : super(key: key);

  [@override](/user/override)
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  [@override](/user/override)
  void initState() {
    super.initState();
    initSDK();
  }

  // 初始化 SDK
  Future<void> initSDK() async {
    try {
      if (Platform.isAndroid) {
        // 设置 Android SDK 的监听器
        CsAyetstudiosAndroid().setUserBalanceChangedListener(userBalanceChanged);
        CsAyetstudiosAndroid().setInitializationSuccessListener(initializationSuccess);
        CsAyetstudiosAndroid().setInitilizationFailedListener(initilizationFailed);
        CsAyetstudiosAndroid().setVideoAbortedListener(videoAborted);
        CsAyetstudiosAndroid().setVideoCompletedListener(videoCompleted);
        CsAyetstudiosAndroid().setVideoNofillListener(videoNofill);
        CsAyetstudiosAndroid().setVideoFinishedListener(videoFinished);
        CsAyetstudiosAndroid().setVideoWillBeShownListener(videoWillBeShown);
        // 初始化 SDK,传入用户 ID 和应用密钥
        CsAyetstudiosAndroid().initSDK(uid: 'test123', appKey: "a43af89a5cb8c1a7884f79e0f4f1fc6d");
      } else if (Platform.isIOS) {
        // 设置 iOS SDK 的监听器
        CsAyetstudiosIos().sdkLogEnable();
        CsAyetstudiosIos().initSDK(appKey: 'ios app key', uid: 'ios uid');
        CsAyetstudiosIos().setUserBalanceChanged(userBalanceChanged);
        CsAyetstudiosIos().userAvailableBalance();
        CsAyetstudiosIos().userPendingBalance();
      }
    } catch (e) {
      log("初始化SDK失败:" + e.toString());
    }
  }

  // 用户积分发生变化
  void userBalanceChanged(int balance, int spent, int pending) {
    print("Ayetstudios:userBalanceChanged");
  }

  // SDK初始化成功
  void initializationSuccess(int balance, int spent, int pending) {
    log("initializationSuccess, balance:" + balance.toString() + ", spent:" + spent.toString() + ", pending:" + pending.toString());
  }

  // SDK初始化失败
  void initilizationFailed() {
    print("Ayetstudios:initilizationFailed");
  }

  // 视频放弃 或者跳过
  void videoAborted() {
    print("Ayetstudios:videoAborted");
  }

  // 看完完整视频获得奖励回调
  void videoCompleted(int amount) {
    print("Ayetstudios:videoCompleted");
  }

  // 没有获得视频奖励可以展示
  void videoNofill() {
    print("Ayetstudios:videoNofill");
  }

  // 所有视频活动完成时都会调用(视频完成,中止或其他问题,如网络速度)
  void videoFinished() {
    print("Ayetstudios:videoFinished");
  }

  // 择一个视频之后和视频活动开始播放它之前被调用
  void videoWillBeShown() {
    print("Ayetstudios:videoWillBeShown");
  }

  void initializationFailed(int failed) {
    print('Ayetstudios", "initializationFailed $failed');
  }

  void userAvailableBalance(int balance) {
    print('Ayetstudios available balance = $balance');
  }

  void userPendingBalance(int balance) {
    print('Ayetstudios pending balance = $balance');
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Plugin example app'),
        ),
        body: Center(
            child: InkWell(
          child: const Text('测试初始化Ayetstudios SDK'),
          onTap: () async {
            // 显示广告墙
            CsAyetstudiosAndroid().showOfferwallAd("");
          },
        )),
      ),
    );
  }
}

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

1 回复

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


cs_ayetstudios_ad 是一个 Flutter 插件,用于在 Flutter 应用中展示广告。它通常与 Ayet Studios 的广告平台集成,提供横幅广告、插页式广告、奖励视频广告等多种广告形式。以下是如何使用 cs_ayetstudios_ad 插件的基本步骤:

1. 添加依赖

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

dependencies:
  flutter:
    sdk: flutter
  cs_ayetstudios_ad: ^1.0.0  # 请使用最新版本

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

2. 初始化插件

在你的 Flutter 应用中,首先需要初始化 cs_ayetstudios_ad 插件。通常可以在 main.dart 文件中进行初始化:

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

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  
  // 初始化广告插件
  await CsAyetstudiosAd.initialize(
    appId: 'YOUR_APP_ID',  // 替换为你的 Ayet Studios App ID
  );

  runApp(MyApp());
}

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

3. 展示横幅广告

你可以在应用中的某个页面展示横幅广告。例如,在 MyHomePage 中展示横幅广告:

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

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

class _MyHomePageState extends State<MyHomePage> {
  @override
  void initState() {
    super.initState();
    // 加载横幅广告
    CsAyetstudiosAd.loadBannerAd(adUnitId: 'YOUR_BANNER_AD_UNIT_ID');  // 替换为你的横幅广告单元ID
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Flutter Demo Home Page'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text(
              'Hello, World!',
            ),
            // 展示横幅广告
            CsAyetstudiosAd.showBannerAd(),
          ],
        ),
      ),
    );
  }

  @override
  void dispose() {
    // 释放横幅广告资源
    CsAyetstudiosAd.disposeBannerAd();
    super.dispose();
  }
}

4. 展示插页式广告

你可以在应用中的某个时机(例如页面切换时)展示插页式广告:

void showInterstitialAd() async {
  // 加载插页式广告
  await CsAyetstudiosAd.loadInterstitialAd(adUnitId: 'YOUR_INTERSTITIAL_AD_UNIT_ID');  // 替换为你的插页式广告单元ID
  
  // 展示插页式广告
  await CsAyetstudiosAd.showInterstitialAd();
}

5. 展示奖励视频广告

你可以在用户完成某些操作后展示奖励视频广告:

void showRewardedAd() async {
  // 加载奖励视频广告
  await CsAyetstudiosAd.loadRewardedAd(adUnitId: 'YOUR_REWARDED_AD_UNIT_ID');  // 替换为你的奖励视频广告单元ID
  
  // 展示奖励视频广告
  await CsAyetstudiosAd.showRewardedAd();
}

6. 处理广告事件

你可以监听广告事件,例如广告加载成功、广告点击、广告关闭等:

CsAyetstudiosAd.setAdListener(
  onAdLoaded: (adType) {
    print('Ad loaded: $adType');
  },
  onAdClicked: (adType) {
    print('Ad clicked: $adType');
  },
  onAdClosed: (adType) {
    print('Ad closed: $adType');
  },
  onAdFailedToLoad: (adType, error) {
    print('Ad failed to load: $adType, error: $error');
  },
);
回到顶部