FLUTTER ECOSYSTEM

ivarconr/unleash-client-dart

Unleash 的 Dart 客戶端

unleash-client-dart 專案封面
Stars
14
Forks
12
最近推送(UTC)
2023年3月6日
專案狀態
未封存
Ivar Conradi Østhus GitHub avatar
GITHUB User

Ivar Conradi Østhus ↗

@unleashOslo, Norway官方網站 ↗
語言Dart

技術主題

此儲存庫發佈的套件

使用的依賴

依賴清單 7 項

原始 README

以下為英文專案原文快照,最新內容請造訪 GitHub。

展開 / 收合專案 README

Unleash

pub.dev GitHub Workflow Status Code Coverage Sponsoring

Unleash Client SDK for Dart and Flutter

This is an unofficial Unleash Client SDK for Dart. It is compatible with the Unleash-hosted.com SaaS offering and Unleash Open-Source. It also works with GitLab Feature Flags.

Getting started

First, you will need to add unleash to your pubspec.yaml:

dependencies:
  unleash: x.y.z 
  # use the latest version found on pub.dev

Then, run flutter packages get in your terminal.

Create a new Unleash instance

It is easy to get a new instance of Unleash. In your app you typically just want one instance of Unleash, and inject that where you need it.

To create a new instance of Unleash you need to pass in a config object:

import 'package:unleash/unleash.dart';

Future<void> main() async {
  final unleash = await Unleash.init(
    UnleashSettings(
      appName: '<appname>',
      instanceId: '<instanceid>',
      unleashApi: Uri.parse('<api_url>'),
    ),
  );
  print(unleash.isEnabled('Awesome Feature'));
}
Awesome feature toggle API

It is really simple to use unleash.

if(unleash.isEnabled("AwesomeFeature")) {
  //do some magic
} else {
  //do old boring stuff
}

Calling unleash.isEnabled("AwesomeFeature") is the equivalent of calling unleash.isEnabled("AwesomeFeature", defaultValue: false). Which means that it will return false if it cannot find the named toggle.

If you want it to default to true instead, you can pass true as the second argument:

unleash.isEnabled("AwesomeFeature", defaultValue: true);

Built-in activation strategies

Current state of development

This client SDK supports version 4 of the API. This SDK currently does not support metrics reporting.

Author

Sponsoring

I'm working on my packages on my free-time, but I don't have as much time as I would. If this package or any other package I created is helping you, please consider to sponsor me. By doing so, I will prioritize your issues or your pull-requests before the others.