Skip to content

Commit 272d380

Browse files
committed
add ios related part to read flags
1 parent b598a36 commit 272d380

File tree

3 files changed

+10
-5
lines changed

3 files changed

+10
-5
lines changed

android/src/main/kotlin/com/example/confidence_flutter_sdk/ConfidenceFlutterSdkPlugin.kt

+1
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ class ConfidenceFlutterSdkPlugin: FlutterPlugin, MethodCallHandler, ActivityAwar
111111
val key = call.argument<String>("key")!!
112112
val value = call.argument<Map<String, Any>>("value")!!.convert()
113113
confidence.putContext(key, value)
114+
result.success(null)
114115
}
115116
"track" -> {
116117
val eventName = call.argument<String>("eventName")!!

example/lib/main.dart

+1-2
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,11 @@ class _MyAppState extends State<MyApp> {
4646
await dotenv.load(fileName: ".env");
4747
await _confidenceFlutterSdkPlugin.setup(dotenv.env["API_KEY"]!);
4848
await _confidenceFlutterSdkPlugin.putContext("targeting_key", "random");
49-
await _confidenceFlutterSdkPlugin.putContext("user", <String, dynamic>{"country": "SE"});
5049
await _confidenceFlutterSdkPlugin.fetchAndActivate();
5150
object =
5251
(_confidenceFlutterSdkPlugin.getObject("hawkflag", <String, dynamic>{})).toString();
5352
message =
54-
(_confidenceFlutterSdkPlugin.getInt("ludwigs-new-test-flag.struct-key.string-key", 0)).toString();
53+
(_confidenceFlutterSdkPlugin.getString("ludwigs-new-test-flag.struct-key.string-key", "0"));
5554
final data = {
5655
'screen': 'home',
5756
"my_bool": false,

lib/confidence_flutter_sdk.dart

+8-3
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,16 @@ import 'confidence_flutter_sdk_platform_interface.dart';
44

55
class ConfidenceFlutterSdk {
66
Map<String, dynamic> _flags = {};
7+
bool isInitialized = false;
78
Future<bool> isStorageEmpty() async {
89
return ConfidenceFlutterSdkPlatform.instance.isStorageEmpty();
910
}
1011

1112
Future<void> putContext(String key, dynamic value) async {
12-
ConfidenceFlutterSdkPlatform.instance.putContext(key, value);
13+
await ConfidenceFlutterSdkPlatform.instance.putContext(key, value);
14+
if(isInitialized) {
15+
await fetchAndActivate();
16+
}
1317
}
1418

1519
void track(String eventName, Map<String, dynamic> data) {
@@ -84,16 +88,17 @@ class ConfidenceFlutterSdk {
8488
}
8589

8690
Future<void> fetchAndActivate() async {
91+
await ConfidenceFlutterSdkPlatform.instance.fetchAndActivate();
8792
await fillAllFlags();
88-
return await ConfidenceFlutterSdkPlatform.instance.fetchAndActivate();
8993
}
9094

9195
Future<void> fillAllFlags() async {
9296
_flags = await ConfidenceFlutterSdkPlatform.instance.readAllFlags();
97+
isInitialized = true;
9398
}
9499

95100
Future<void> activateAndFetchAsync() async {
101+
await ConfidenceFlutterSdkPlatform.instance.activateAndFetchAsync();
96102
await fillAllFlags();
97-
return ConfidenceFlutterSdkPlatform.instance.activateAndFetchAsync();
98103
}
99104
}

0 commit comments

Comments
 (0)