my_chips_flutter_sdk 1.0.4 copy "my_chips_flutter_sdk: ^1.0.4" to clipboard
my_chips_flutter_sdk: ^1.0.4 copied to clipboard

PlatformAndroid

MyChips Flutter Sdk.

example/lib/main.dart

import 'dart:developer';

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

void main() {
  runApp(const MainApp());
}

class MainApp extends StatelessWidget {
  const MainApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      home: Scaffold(
        body: MainAppBody(),
      ),
    );
  }
}

class MainAppBody extends StatefulWidget {
  const MainAppBody({
    super.key,
  });

  @override
  State<MainAppBody> createState() => _MainAppBodyState();
}

class _MainAppBodyState extends State<MainAppBody> {
  late final AppLifecycleListener _appLifecycleListener;

  final adunitId = "5612fe1f-8cdb-4bb7-bc89-850fa59d2c9c";
  final apiKey = "3kQCjW1GfVOESHFd";
  final userId = "flutterTestUserId2";

  Future<void> initialize() async {
    //initialize the sdk and set the user id
    await MCOfferwallSdk.instance.init(apiKey);
    await MCOfferwallSdk.instance.setUserId(userId);

    //in the example lets check for rewards whenever the app is resumed
    _appLifecycleListener = AppLifecycleListener(
      onResume: () {
        log("Checking for reward");

        MCOfferwallSdk.instance.checkReward(
          adUnitId: adunitId,
          onReward: (reward) {
            //show snackbar
            ScaffoldMessenger.of(context).showSnackBar(
              SnackBar(
                content: Text("Reward: ${reward.virtualCurrencyReward}"),
              ),
            );
            log("Reward: ${reward.virtualCurrencyReward}");
          },
          onError: (e, st) {
            //show snackbar with error
            ScaffoldMessenger.of(context).showSnackBar(
              SnackBar(
                content: Text("Error: $e"),
              ),
            );

            log("Error: $e");
          },
        );
      },
    );
  }

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

  @override
  void dispose() {
    _appLifecycleListener.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Center(
      child: ElevatedButton(
          child: const Text('Show offerwall!'),
          onPressed: () async {
            //navigate to offerwall page
            Navigator.of(context).push(
              MaterialPageRoute(
                builder: (context) => OfferwallPage(
                  adunitId: adunitId,
                ),
              ),
            );
          }),
    );
  }
}