google_applovin_unity_ads 2.0.0 google_applovin_unity_ads: ^2.0.0 copied to clipboard
Ads Implement
example/lib/main.dart
// Copyright 2022 Bitcoding
import 'package:flutter/material.dart';
import 'package:google_applovin_unity_ads/google_applovin_unity_ads.dart';
void main() {
WidgetsFlutterBinding.ensureInitialized();
MobileAds.instance.initialize();
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({Key? key}) : super(key: key);
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
final String placeholderText =
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod'
' tempor incididunt ut labore et dolore magna aliqua. Faucibus purus in'
' massa tempor. Quis enim lobortis scelerisque fermentum dui faucibus'
' in. Nibh praesent tristique magna sit amet purus gravida quis.'
' Magna sit amet purus gravida quis blandit turpis cursus in. Sed'
' adipiscing diam donec adipiscing tristique. Urna porttitor rhoncus'
' dolor purus non enim praesent. Pellentesque habitant morbi tristique'
' senectus et netus. Risus ultricies tristique nulla aliquet enim tortor'
' at.';
Widget? _bannerAd = Container(height: 0);
@override
void initState() {
super.initState();
Future.delayed(
const Duration(seconds: 1),
() => {
fetchAdsSettings(
settingsUrl:
"https://raw.githubusercontent.com/kp-bitcoding/ad-manager/main/pragnesh_demo/testPiyush.json",
keyName: "com.bitlinks.arebic.iptv.m3ulist")
.then((value) => {
initOpenAds(appVersionCode: 1, onOpenAdLoaded: () => {
showOpenAds(appVersionCode: 1)
}),
loadIntraAds(),
loadRewardAds(),
loadNativeAds(
appVersionCode: 1,
onAdLoadedCallback: () => {
setState(() {
_bannerAd = showNativeAds();
})
}),
})
});
}
@override
void dispose() {
super.dispose();
destroyAd();
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Builder(builder: (BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Ads example app'),
actions: <Widget>[
PopupMenuButton<String>(
onSelected: (String result) {
switch (result) {
case 'InterstitialAd':
showIntraAds(
appVersionCode: 1,
callback: () => {print("Show Completed true")});
break;
case 'RewardedAd':
showRewardAds(
appVersionCode: 1,
callback: () => {print("Show Completed true")});
break;
default:
throw AssertionError('unexpected button: $result');
}
},
itemBuilder: (BuildContext context) => <PopupMenuEntry<String>>[
const PopupMenuItem<String>(
value: 'InterstitialAd',
child: Text('InterstitialAd'),
),
const PopupMenuItem<String>(
value: 'RewardedAd',
child: Text('RewardedAd'),
)
],
),
],
),
body: SafeArea(child: Text(placeholderText)),
bottomNavigationBar: _bannerAd,
);
}),
);
}
}