flutter_ad 1.3.2 copy "flutter_ad: ^1.3.2" to clipboard
flutter_ad: ^1.3.2 copied to clipboard

Flutter ad plugin, supports Pangle and UnionGDT, can display open-screen advertisements and rewarded videos

example/lib/main.dart

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

import 'package:flutter/services.dart';
import 'package:flutter_ad/flutter_ad.dart';
import 'package:flutter_ad_example/pangle_view_demo.dart';
import 'package:logger/logger.dart';
import 'package:logger_flutter/logger_flutter.dart';

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

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

class _MyAppState extends State<MyApp> {


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

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: HomePage(),
    );
  }
}



class HomePage extends StatelessWidget {

  var logger = Logger(printer: PrettyPrinter(printTime: true));

  String pangleRewardVideoID;
  String unionGDTRewardVideoID;


  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('flutter_ad Demo'),
      ),
      body: SingleChildScrollView(
          child: Center(
            child: Column(
              children: [

                Card(
                  child: Column(
                    children: [
                      ListTile(title: Text("穿山甲"), subtitle: Text("穿山甲的广告接口演示,请先点击初始化接口"),),
                      Container(
                        // width: double.infinity,
                        child: Wrap(
                          crossAxisAlignment: WrapCrossAlignment.start,
                          spacing: 10,
                          children: [

                            ElevatedButton.icon(
                                onPressed: () async {
                                  /// 初始化调用示例
                                  await Pangle.getInstance().init("5056758");
                                  logger.i("穿山甲 - 初始化调用成功");
                                },
                                icon: Icon(Icons.home_filled),
                                label: Text("初始化接口")),

                            ElevatedButton.icon(
                                onPressed: () async{
                                  /// 调用开屏广告示例
                                  await Pangle.getInstance().showSplashAD("887310537");
                                  logger.i("穿山甲 - 开屏广告调用成功");
                                },
                                icon: Icon(Icons.web_asset),
                                label: Text("显示开屏广告")),

                            ElevatedButton.icon(
                                onPressed: ()async{
                                  /// 预加载激励视频示例
                                  String callBackID =  Response.randomID();
                                  Pangle.getInstance().preloadRewardVideo("945122969", adCount: 1, rewardName: "书币", rewardAmount: 1, userID: "100", extra: "20", callbackID: callBackID);
                                  Pangle.getInstance().responseEventHandler.listen((Response response) {
                                    if(response.callbackID == callBackID && response.data['code'] == 1){
                                      pangleRewardVideoID = response.data['data']['vid'];
                                    }
                                    logger.i("穿山甲 - 激励视频回调:${response.data}");
                                  });

                                  logger.i("穿山甲 - 预加载激励视频调用成功,callBackID:${callBackID}");
                                },
                                icon: Icon(Icons.cloud_download),
                                label: Text("预加载激励视频")),

                            ElevatedButton.icon(
                                onPressed: (){
                                  if(pangleRewardVideoID != null){
                                    /// 播放激励视频示例(需要传入从预加载回调 code为1 里带的vid)
                                    Pangle.getInstance().showRewardVideo(pangleRewardVideoID);
                                    logger.i("穿山甲 - 显示激励视频调用成功");
                                  }
                                },
                                icon: Icon(Icons.play_arrow),
                                label: Text("播放激励视频")),


                            ElevatedButton.icon(
                                onPressed: (){
                                  Navigator.push(context, MaterialPageRoute(builder: (_)=> PangleBannerHome() ));
                                },
                                icon: Icon(Icons.pages),
                                label: Text("Banner广告")),

                          ],
                        ),
                      ),
                    ],
                  ),
                ),




                Card(
                  child: Column(
                    children: [
                      ListTile(title: Text("广点通"), subtitle: Text("广点通的广告接口演示,请先点击初始化接口"),),
                      Container(
                        // width: double.infinity,
                        child: Wrap(
                          crossAxisAlignment: WrapCrossAlignment.start,
                          spacing: 10,
                          children: [

                            ElevatedButton.icon(
                                onPressed: () async {
                                  /// 初始化调用示例
                                  await UnionGDT.getInstance().init("1101152570");
                                },
                                icon: Icon(Icons.home_filled),
                                label: Text("初始化接口")),

                            ElevatedButton.icon(
                                onPressed: () async{
                                  /// 调用开屏广告示例
                                  UnionGDT.getInstance().showSplashAD("8863364436303842593");
                                },
                                icon: Icon(Icons.web_asset),
                                label: Text("显示开屏广告")),

                            ElevatedButton.icon(
                                onPressed: ()async{
                                  /// 预加载激励视频示例
                                  String callBackID =  Response.randomID();
                                  UnionGDT.getInstance().preloadRewardVideo("6040295592058680", voice: true, extra: "123", userID: "123", callbackID: callBackID);
                                  UnionGDT.getInstance().responseEventHandler.listen((Response response) {
                                    if(response.callbackID == callBackID && response.data['code'] == 1){
                                      unionGDTRewardVideoID = response.data['data']['vid'];
                                    }
                                  });

                                },
                                icon: Icon(Icons.cloud_download),
                                label: Text("预加载激励视频")),

                            ElevatedButton.icon(
                                onPressed: (){
                                  if(unionGDTRewardVideoID != null){
                                    /// 播放激励视频示例(需要传入从预加载回调 code为1 里带的vid)
                                    UnionGDT.getInstance().showRewardVideo(unionGDTRewardVideoID);
                                  }
                                },
                                icon: Icon(Icons.play_arrow),
                                label: Text("播放激励视频")),

                          ],
                        ),
                      ),
                    ],
                  ),
                ),

                Container(
                  margin: EdgeInsets.only(top: 20),
                  child: LogConsoleOnShake(
                    dark: true,
                    child: Center(
                      child: Text("摇一摇手机,查看控制台日志", style: TextStyle(color: Colors.red, fontWeight: FontWeight.w700, fontSize: 15),),
                    ),
                  ),
                ),

              ],
            ),
          )
      ),
    );
  }
}
4
likes
40
pub points
0%
popularity

Publisher

unverified uploader

Flutter ad plugin, supports Pangle and UnionGDT, can display open-screen advertisements and rewarded videos

Homepage
Repository (GitHub)
View/report issues

License

BSD-2-Clause (LICENSE)

Dependencies

flutter

More

Packages that depend on flutter_ad