Skip to content

Commit 20f09cd

Browse files
Merge pull request #44 from optimizely/mike/fx-rename
[FSSDK-8962] doc: change full stack to feature experimentation
2 parents 65fffb8 + d8f8ab8 commit 20f09cd

File tree

4 files changed

+114
-26
lines changed

4 files changed

+114
-26
lines changed

CONTRIBUTING.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Contributing to the Optimizely Flutter SDK
2+
We welcome contributions and feedback! All contributors must sign our [Contributor License Agreement (CLA)](https://docs.google.com/a/optimizely.com/forms/d/e/1FAIpQLSf9cbouWptIpMgukAKZZOIAhafvjFCV8hS00XJLWQnWDFtwtA/viewform) to be eligible to contribute. Please read the [README](README.md) to set up your development environment, then read the guidelines below for information on submitting your code.
3+
4+
## Development process
5+
6+
1. Fork the repository and create your branch from master.
7+
2. Please follow the [commit message guidelines](https://github.com/angular/angular/blob/master/CONTRIBUTING.md#-commit-message-guidelines) for each commit message.
8+
3. Make sure to add tests!
9+
4. `git push` your changes to GitHub.
10+
5. Open a PR from your fork into the master branch of the original repo.
11+
6. Make sure that all unit tests are passing and that there are no merge conflicts between your branch and `master`.
12+
7. Open a pull request from `YOUR_NAME/branch_name` to `master`.
13+
8. A repository maintainer will review your pull request and, if all goes well, squash and merge it!
14+
15+
## Pull request acceptance criteria
16+
17+
* **All code must have test coverage.** Changes in functionality should have accompanying unit tests. Bug fixes should have accompanying regression tests.
18+
* Tests are located in `OptimizelySDK.Tests` with one file per class.
19+
20+
## License
21+
22+
All contributions are under the CLA mentioned above. For this project, Optimizely uses the Apache 2.0 license, and so asks that by contributing your code, you agree to license your contribution under the terms of the [Apache License v2.0](http://www.apache.org/licenses/LICENSE-2.0). Your contributions should also include the following header:
23+
24+
```
25+
/// **************************************************************************
26+
/// Copyright YEAR, Optimizely, Inc. and contributors *
27+
/// *
28+
/// Licensed under the Apache License, Version 2.0 (the "License"); *
29+
/// you may not use this file except in compliance with the License. *
30+
/// You may obtain a copy of the License at *
31+
/// *
32+
/// https://www.apache.org/licenses/LICENSE-2.0 *
33+
/// *
34+
/// Unless required by applicable law or agreed to in writing, software *
35+
/// distributed under the License is distributed on an "AS IS" BASIS, *
36+
/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
37+
/// See the License for the specific language governing permissions and *
38+
/// limitations under the License. *
39+
///**************************************************************************/
40+
```
41+
42+
The YEAR above should be the year of the contribution. If work on the file has been done over multiple years, list each year in the section above. Example: Optimizely writes the file and releases it in 2014. No changes are made in 2015. Change made in 2016. YEAR should be �2014, 2016�.
43+
44+
## Contact
45+
If you have questions, please contact [email protected].

README.md

Lines changed: 67 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,21 @@
11
# Optimizely Flutter SDK
2+
[![Pub Version](https://img.shields.io/pub/v/optimizely_flutter_sdk?color=blueviolet)](https://pub.dev/packages/optimizely_flutter_sdk)
3+
[![Pub](https://img.shields.io/pub/v/optimizely_flutter_sdk.svg)](https://pub.dev/packages/optimizely_flutter_sdk)
24
[![Apache 2.0](https://img.shields.io/github/license/nebula-plugins/gradle-extra-configurations-plugin.svg)](https://www.apache.org/licenses/LICENSE-2.0)
5+
<!-- TODO: Resolve FSSDK-8990 to fix coverage & thus build, then return these 2 bades as #2 & # above
36
[![Build Status](https://github.com/optimizely/optimizely-flutter-sdk/actions/workflows/flutter.yml/badge.svg?branch=master)](https://github.com/optimizely/optimizely-flutter-sdk/actions)
4-
[![Pub](https://img.shields.io/pub/v/optimizely_flutter_sdk.svg)](https://pub.dev/packages/optimizely_flutter_sdk)
57
[![Coverage Status](https://coveralls.io/repos/github/optimizely/optimizely-flutter-sdk/badge.svg?branch=master)](https://coveralls.io/github/optimizely/optimizely-flutter-sdk?branch=master)
8+
-->
9+
10+
This repository houses the Flutter SDK for use with Optimizely Feature Experimentation and Optimizely Full Stack (legacy).
11+
12+
Optimizely Feature Experimentation is an A/B testing and feature management tool for product development teams that enables you to experiment at every step. Using Optimizely Feature Experimentation allows for every feature on your roadmap to be an opportunity to discover hidden insights. Learn more at [Optimizely.com](https://www.optimizely.com/products/experiment/feature-experimentation/), or see the [developer documentation](https://docs.developers.optimizely.com/experimentation/v4.0.0-full-stack/docs/welcome).
613

7-
This project is a starting point for a Flutter
8-
[plug-in package](https://flutter.dev/developing-packages/),
9-
a specialized package that includes platform-specific implementation code for
10-
Android and/or iOS.
14+
Optimizely Rollouts is [free feature flags](https://www.optimizely.com/free-feature-flagging/) for development teams. You can easily roll out and roll back features in any application without code deploys, mitigating risk for every feature on your roadmap.
1115

12-
## Getting Started
16+
## Get Started
1317

14-
### Using the SDK
15-
Refer to the [Flutter SDK developer documentation](https://docs.developers.optimizely.com/experimentation/v4.0.0-full-stack/docs/install-sdk-flutter) for instructions on getting started with using the SDK.
18+
Refer to the [Flutter SDK's developer documentation](https://docs.developers.optimizely.com/experimentation/v4.0.0-full-stack/docs/flutter-sdk) for detailed instructions on getting started with using the SDK.
1619

1720
### Requirements
1821

@@ -24,51 +27,91 @@ On the iOS platform, the SDK requires a minimum version of 10.0.
2427

2528
Other Flutter platforms are not currently supported by this SDK.
2629

27-
### Installing the SDK
30+
### Install the SDK
2831

2932
To add the flutter-sdk to your project dependencies, include the following in your app's pubspec.yaml:
3033

3134
```
32-
optimizely_flutter_sdk: ^1.0.0-beta
35+
optimizely_flutter_sdk: ^1.0.1-beta
3336
```
3437

35-
Then, import the package in your application code:
38+
Then run
3639

37-
```
38-
import 'package:optimizely_flutter_sdk/optimizely_flutter_sdk.dart';
40+
```bash
41+
flutter pub get
3942
```
4043

41-
## Usage
44+
## Use the Flutter SDK
4245

43-
### Instantiation
46+
### Initialization
4447

45-
A sample code for SDK initialization:
48+
Import the package in your application code:
4649

50+
```dart
51+
import 'package:optimizely_flutter_sdk/optimizely_flutter_sdk.dart';
4752
```
48-
var flutterSDK = OptimizelyFlutterSdk("my_sdk_key");
53+
54+
Instantiate the SDK, adding your SDK Key and initializing the client:
55+
56+
```dart
57+
var flutterSDK = OptimizelyFlutterSdk("your_sdk_key");
4958
var response = await flutterSDK.initializeClient();
5059
```
5160

5261
### Feature Rollouts
53-
```
62+
```dart
5463
import 'package:optimizely_flutter_sdk/optimizely_flutter_sdk.dart';
5564
5665
// Also supports eventOptions, datafilePeriodicDownloadInterval, datafileHostOptions and defaultDecideOptions
57-
var flutterSDK = OptimizelyFlutterSdk("my_sdk_key");
66+
var flutterSDK = OptimizelyFlutterSdk("your_sdk_key");
5867
59-
// instantiate a client
6068
var response = await flutterSDK.initializeClient();
6169
6270
// User attributes are optional and used for targeting and results segmentation
6371
var attributes = {
6472
"state": "California",
6573
"likes_donuts": true
6674
};
67-
var user = await flutterSDK.createUserContext("optimizely end user", attributes);
75+
var user = await flutterSDK.createUserContext("user_id", attributes);
6876
var decideReponse = await user!.decide("binary_feature");
6977
```
7078

71-
## Testing in Terminal
79+
## SDK Development
80+
81+
### Unit Tests
82+
83+
To run [unit tests](https://docs.flutter.dev/cookbook/testing/unit/introduction) using terminal, simply use the following command:
84+
85+
```bash
86+
flutter test test/optimizely_flutter_sdk_test.dart
87+
```
88+
89+
### Contributing
90+
91+
Please see [CONTRIBUTING](CONTRIBUTING.md).
92+
93+
### Other Optimizely SDKs
94+
95+
- Agent - https://github.com/optimizely/agent
96+
97+
- Android - https://github.com/optimizely/android-sdk
98+
99+
- C# - https://github.com/optimizely/csharp-sdk
100+
101+
- Flutter - https://github.com/optimizely/optimizely-flutter-sdk
102+
103+
- Go - https://github.com/optimizely/go-sdk
104+
105+
- Java - https://github.com/optimizely/java-sdk
106+
107+
- JavaScript - https://github.com/optimizely/javascript-sdk
108+
109+
- PHP - https://github.com/optimizely/php-sdk
110+
111+
- Python - https://github.com/optimizely/python-sdk
112+
113+
- React - https://github.com/optimizely/react-sdk
114+
115+
- Ruby - https://github.com/optimizely/ruby-sdk
72116

73-
1. To run [unit tests](https://docs.flutter.dev/cookbook/testing/unit/introduction) using terminal, simply use the following command:
74-
`flutter test test/optimizely_flutter_sdk_test.dart`
117+
- Swift - https://github.com/optimizely/swift-sdk

ios/optimizely_flutter_sdk.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Pod::Spec.new do |s|
77
s.name = 'optimizely_flutter_sdk'
88
s.version = '0.0.1'
99
s.summary = 'Optimizely experiment framework for iOS'
10-
s.homepage = "https://docs.developers.optimizely.com/full-stack/docs"
10+
s.homepage = "https://docs.developers.optimizely.com/experimentation/v4.0.0-full-stack/docs"
1111
s.license = { :type => "Apache License, Version 2.0", :file => "../LICENSE" }
1212
s.author = { "Optimizely" => "[email protected]" }
1313
s.source = { :path => '.' }

pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: optimizely_flutter_sdk
2-
description: This repository houses the Flutter SDK for use with Optimizely Full Stack and Optimizely Rollouts.
2+
description: This repository houses the Flutter SDK for use with Optimizely Feature Experimentation, Optimizely Full Stack (legacy), and Optimizely Rollouts.
33
version: 1.0.0-beta
44
homepage: https://github.com/optimizely/optimizely-flutter-sdk
55

0 commit comments

Comments
 (0)