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
更多关于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');
},
);