clever_ads_solutions 0.1.0 copy "clever_ads_solutions: ^0.1.0" to clipboard
clever_ads_solutions: ^0.1.0 copied to clipboard

Clever Ads Solutions Flutter plugin

example/lib/main.dart

import 'package:clever_ads_solutions/public/AdCallback.dart';
import 'package:clever_ads_solutions/public/AdPosition.dart';
import 'package:clever_ads_solutions/public/AdSize.dart';
import 'package:clever_ads_solutions/public/AdImpression.dart';
import 'package:clever_ads_solutions/public/AdViewListener.dart';
import 'package:clever_ads_solutions/public/CASBannerView.dart';
import 'package:clever_ads_solutions/public/ConsentFlow.dart';
import 'package:clever_ads_solutions/public/InitConfig.dart';
import 'package:clever_ads_solutions/public/InitializationListener.dart';
import 'package:clever_ads_solutions/public/MediationManager.dart';
import 'package:clever_ads_solutions/public/OnDismissListener.dart';
import 'package:clever_ads_solutions/public/UserConsent.dart';
import 'package:flutter/material.dart';
import 'package:clever_ads_solutions/CAS.dart';
import 'package:clever_ads_solutions/public/ManagerBuilder.dart';
import 'package:clever_ads_solutions/public/AdTypes.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: Scaffold(
        appBar: AppBar(
          title: const Text('Clever Ads Solutions Example App'),
        ),
        body: Center(
          child: Column(
            mainAxisSize: MainAxisSize.min,
            children: [
              ElevatedButton(
                child: Text('Initialize'),
                onPressed: () => inititalize(),
              ),
              ElevatedButton(
                child: Text('Show interstitial'),
                onPressed: () => showInterstitial(),
              ),
              ElevatedButton(
                child: Text('Show rewarded'),
                onPressed: () => showRewarded(),
              ),
              ElevatedButton(
                child: Text('Create banner'),
                onPressed: () => createBanner(),
              ),
              ElevatedButton(
                child: Text('Create'),
                onPressed: () => createMrec(),
              ),
              ElevatedButton(
                child: Text('Change banner to left'),
                onPressed: () => ChangeBottomLeft(),
              ),
              ElevatedButton(
                child: Text('Change banner to top'),
                onPressed: () => ChangeBannerTop(),
              ),
            ],
          ),
        ),
      ),
    );
  }

  MediationManager? manager;

  Future<void> inititalize() async {
    CAS.setDebugMode(true);

    CAS.setFlutterVersion("1.0.0");

    ManagerBuilder builder = CAS.buildManager();
    builder.withInitializationListener(new InitializationListenerWrapper());
    builder.withTestMode(true);
    builder.withCasId("test");
    builder.withConsentFlow(CAS.buildConsentFlow().withDismissListener(new DismissListenerWrapper()));
    builder.withAdTypes(
        AdTypeFlags.Interstitial | AdTypeFlags.Banner | AdTypeFlags.Rewarded);
    manager = builder.initialize();

    CAS.validateIntegration();
  }

  Future<void> showInterstitial() async {
    manager?.showInterstitial(new InterstitialListenerWrapper());
  }

  Future<void> showRewarded() async {
    manager?.showRewarded(new InterstitialListenerWrapper());
  }

  CASBannerView? view;
  Future<void> createBanner() async {
    view = manager?.getAdView(AdSize.Adaptive);
    view?.setAdListener(new AdaptiveBannerListener());
    view?.setBannerPosition(AdPosition.TopCenter);
    view?.showBanner();
  }

  Future<void> createMrec() async {
    view = manager?.getAdView(AdSize.Banner);
    view?.setAdListener(new StandartBannerListener());
    view?.showBanner();
  }

  void ChangeBannerTop() {
    view?.setBannerPosition(AdPosition.TopCenter);
  }

  void ChangeBottomLeft() {
    view?.setBannerPosition(AdPosition.BottomRight);
  }
}

class InitializationListenerWrapper extends InitializationListener {
  @override
  void onCASInitialized(InitConfig initialConfig) {
    String error = initialConfig.error;
    String countryCode = initialConfig.countryCode;
    bool isTestMode = initialConfig.isTestMode;
    bool isConsentRequired = initialConfig.isConsentRequired;
  }
}

class DismissListenerWrapper extends OnDismissListener {
  @override
  onConsentFlowDismissed(int status) {
  }
}

class InterstitialListenerWrapper extends AdCallback {
  @override
  void onClicked() {
    print("click");
  }

  @override
  void onClosed() {
    print("closed");
  }

  @override
  void onComplete() {
    print("complete");
  }

  @override
  void onImpression(AdImpression? adImpression) {
    print(adImpression?.cpm);
  }

  @override
  void onShowFailed(String? message) {}

  @override
  void onShown() {
    print("shown");
  }
}

class AdaptiveBannerListener extends AdViewListener {
  @override
  void onAdViewPresented() {
    print("pr");
  }

  @override
  void onClicked() {
    print("click");
  }

  @override
  void onFailed(String? message) {
    // TODO: implement onFailed
  }

  @override
  void onImpression(AdImpression? adImpression) {
    print(adImpression?.cpm);
  }

  @override
  void onLoaded() {
    // TODO: implement onLoaded
  }
}

class StandartBannerListener extends AdViewListener {
  @override
  void onAdViewPresented() {
    print("pr");
  }

  @override
  void onClicked() {
    print("click");
  }

  @override
  void onFailed(String? message) {
    // TODO: implement onFailed
  }

  @override
  void onImpression(AdImpression? adImpression) {
    print(adImpression?.cpm);
  }

  @override
  void onLoaded() {
    // TODO: implement onLoaded
  }
}
12
likes
0
points
862
downloads

Publisher

unverified uploader

Weekly Downloads

Clever Ads Solutions Flutter plugin

Homepage

License

unknown (license)

Dependencies

dartz, flutter, package_info_plus

More

Packages that depend on clever_ads_solutions