kameleoon_client_flutter 1.0.1 copy "kameleoon_client_flutter: ^1.0.1" to clipboard
kameleoon_client_flutter: ^1.0.1 copied to clipboard

outdated

Our SDK gives you the possibility of running experiments and activating feature flags on all platforms targeted by the Flutter application framework.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:kameleoon_client_flutter/kameleoon_client.dart';
import 'package:kameleoon_client_flutter/kameleoon_client_factory.dart';
import 'package:kameleoon_client_flutter/kameleoon_exception.dart' as KameleoonException;
import 'package:kameleoon_client_flutter_example/Pages/Main/main_page.dart';
import 'package:kameleoon_client_flutter_example/constants.dart';

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

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

class _MyAppState extends State<MyApp> {
  Color _color = Color.fromRGBO(100, 100, 255, 1);

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

  Future<void> initKameleoon() async {
    KameleoonClient? client = KameleoonClientFactory.create("SITE_CODE");

    client!.runWhenReady(() async {
      String? visitorCode = await client.obtainVisitorCode();
      try {
        bool? ff = await client.activateFeature(visitorCode!, "color-feature-flag");
        if (ff == true) {
          String? color = await client.obtainFeatureVariable("color-feature-flag", "color") as String?;
          color = "FF" + color!.toUpperCase().replaceAll("#", "");
          mainColor = Color(int.parse(color, radix: 16));
          setState(() {
            _color = Color(int.parse(color!, radix: 16));
          });
        }
      } on KameleoonException.FeatureConfigurationNotFound {
      } on KameleoonException.NotTargeted {
      } on PlatformException {
      }
    }, () {
      print("TIMEOUT");
    }, 1000);
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: "Kameleoon Plugin Demo",
      theme: ThemeData(
        primaryColor: _color,
        scaffoldBackgroundColor: bgColor
      ),
      home: MainPage(),
      debugShowCheckedModeBanner: false,
    );
  }
}
0
likes
0
pub points
58%
popularity

Publisher

unverified uploader

Our SDK gives you the possibility of running experiments and activating feature flags on all platforms targeted by the Flutter application framework.

Homepage

License

unknown (LICENSE)

Dependencies

flutter, flutter_web_plugins, js

More

Packages that depend on kameleoon_client_flutter