reaper_flutter_plugin 0.0.11 copy "reaper_flutter_plugin: ^0.0.11" to clipboard
reaper_flutter_plugin: ^0.0.11 copied to clipboard

outdated

Reaper Flutter plugin project.

example/lib/main.dart

import 'dart:convert';
import 'dart:io';

import 'package:flutter/material.dart';
import 'dart:async';
import 'package:reaper_flutter_plugin/reaper_ad_callback.dart';
import 'package:reaper_flutter_plugin/reaper_flutter_plugin.dart';
import 'package:reaper_flutter_plugin/reaper_init_sdk_android_bean.dart';
import 'package:reaper_flutter_plugin/reaper_init_sdk_ios_bean.dart';
import 'package:reaper_flutter_plugin/reaper_interaction_bean.dart';
import 'package:reaper_flutter_plugin/reaper_reward_video_bean.dart';
import 'package:reaper_flutter_plugin/reaper_splash_bean.dart';
import 'package:reaper_flutter_plugin/reaper_reward_video_ad_callback.dart';
import 'package:reaper_flutter_plugin_example/reaper_request_banner_list_view.dart';
import 'package:reaper_flutter_plugin_example/reaper_reward_video_extra_bean.dart';

import 'reaper_request_banner_view.dart';

void main() {
  runApp(MaterialApp(
    home: MyApp(),
  ));
}

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

class _MyAppState extends State<MyApp> {
  var reaperFlutterPlugin;

  @override
  void initState() {
    super.initState();
    reaperFlutterPlugin = ReaperFlutterPlugin.instance;
    initReaperSdk();
    showSplashAd();
  }

  Future<void> initReaperSdk() async {
    var reaperInitSdkBaseBean;
    if (Platform.isAndroid) {
      const RELEASE_APP_ID = "100015";
      const RELEASE_APP_KEY = "3353bea731f341775a015ef3515864c2";
      reaperInitSdkBaseBean = ReaperInitSdkAndroidBean(
          appId: RELEASE_APP_ID, appKey: RELEASE_APP_KEY);
    } else if (Platform.isIOS) {
      const RELEASE_APP_ID = "100070";
      const RELEASE_APP_KEY = "b0cc4ca0b3a0b0f6f7ca99f03010aa51";
      reaperInitSdkBaseBean =
          ReaperInitSdkIosBean(appId: RELEASE_APP_ID, appKey: RELEASE_APP_KEY);
    }
    await reaperFlutterPlugin.initReaperSdk(reaperInitSdkBaseBean);
  }

  Future<void> showSplashAd() async {
    var reaperSplashBean;
    var positionId;
    if (Platform.isAndroid) {
      positionId = "1559";
    } else if (Platform.isIOS) {
      positionId = "1925";
    }
    reaperSplashBean = ReaperSplashBean(positionId: positionId);
    await reaperFlutterPlugin.requestSplashAd(reaperSplashBean);
  }

  Future<void> showInsertAd() async {
    var positionId;
    if (Platform.isAndroid) {
      positionId = "1579";
    } else if (Platform.isIOS) {
      positionId = "1947"; //1746,1904,1947,1742
    }
    var reaperInsertBean = ReaperInteractionBean(
        positionId: positionId, callBack: insertAdCallBack);
    await reaperFlutterPlugin.requestInteractionAd(reaperInsertBean);
  }

  void insertAdCallBack(ReaperAdCallBack data) {
    print("insertAdCallBack:" + data.method!);
  }

  Future<void> showRewardVideoAd() async {
    var reaperRewardVideoBean;
    var positionId;
    if (Platform.isAndroid) {
      positionId = "1537";
    } else if (Platform.isIOS) {
      positionId = "1743";
    }

    ///object will send to your server to verify reward
    ///adCode means position id which will be replaced with real position id in reaper sdk,and should be fixed with %%POS_ID%%
    ///adSrc means ad source which will be replaced with real ad source in reaper sdk,and should be fixed with %%AD_SRC%%
    ///other parameters can be defined dynamic by yourself.
    var reaperRewardVideoExtraBean = ReaperRewardVideoExtraBean(
        uid: "1156642",
        rewardVideoType: 2,
        taskId: "70",
        taskAction: "rewardVideo4energy",
        version: "3.42.0_debug",
        adCode: "%%POS_ID%%",
        adSrc: "%%AD_SRC%%");
    var extra = jsonEncode(reaperRewardVideoExtraBean);
    reaperRewardVideoBean = ReaperRewardVideoBean(
        positionId: positionId, extra: extra, callBack: rewardVideoAdCallBack);
    await reaperFlutterPlugin.requestRewardVideoAd(reaperRewardVideoBean);
  }

  void rewardVideoAdCallBack(
      ReaperRewardVideoAdCallBack reaperRewardVideoAdCallBack) {
    print("rewardVideoAdCallBack:" + reaperRewardVideoAdCallBack.method!);
    if (reaperRewardVideoAdCallBack.method ==
        ReaperRewardVideoAdCallBack.METHOD_ON_REWARD_VERIFY) {
      print(
          "rewardVideoAdCallBack rewardAmount is ${reaperRewardVideoAdCallBack.rewardAmount},"
          "rewardName is ${reaperRewardVideoAdCallBack.rewardName},"
          "rewardVerify is ${reaperRewardVideoAdCallBack.rewardVerify}");
    }
  }

  void showBannerView(BuildContext context) {
    print("banner view button clicked");
    Navigator.of(context).push(
      MaterialPageRoute(builder: (context) => BannerViewDemo()),
    );
  }

  void showBannerListView(BuildContext context) {
    print("banner list view button clicked");
    Navigator.of(context).push(
      MaterialPageRoute(builder: (context) => BannerListViewDemo()),
    );
  }

  @override
  Widget build(BuildContext context) {
    Widget getAdSource() {
      return Center(
          child: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        crossAxisAlignment: CrossAxisAlignment.center,
        children: [
          ElevatedButton(
            onPressed: showInsertAd,
            child: Text("展示插屏广告"),
          ),
          ElevatedButton(
            onPressed: showSplashAd,
            child: Text("展示开屏广告"),
          ),
          ElevatedButton(
            onPressed: showRewardVideoAd,
            child: Text("展示激励视频广告"),
          ),
          ElevatedButton(
            onPressed: () {
              showBannerView(context);
            },
            child: Text("展示Banner广告"),
          ),
          ElevatedButton(
            onPressed: () {
              showBannerListView(context);
            },
            child: Text("展示Banner列表广告"),
          ),
        ],
      ));
    }

    return MaterialApp(
        home: Scaffold(
      body: Center(
        child: getAdSource(),
      ),
    ));
  }
}
0
likes
0
points
11
downloads

Publisher

unverified uploader

Weekly Downloads

Reaper Flutter plugin project.

License

unknown (license)

Dependencies

flutter

More

Packages that depend on reaper_flutter_plugin

Packages that implement reaper_flutter_plugin