Skip to content

Commit 1451791

Browse files
committed
implement getAllKeys
1 parent 7d64ef8 commit 1451791

File tree

4 files changed

+31
-0
lines changed

4 files changed

+31
-0
lines changed

example/lib/variables.dart

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,22 @@ class _VariablesState extends State<VariablesScreen> {
106106
Variables.fetch().then((value) async {
107107
print("variables fetch completed!");
108108
await checkVariables();
109+
List allKeys = await Variables.getAllKeys();
110+
showDialog(
111+
context: context,
112+
builder: (BuildContext context) {
113+
return AlertDialog(
114+
title: Text("Fetch Succeeded. Keys:"),
115+
content: Text(allKeys.join(',')),
116+
actions: [
117+
TextButton(
118+
onPressed: () => Navigator.pop(context),
119+
child: Text("OK")
120+
),
121+
],
122+
);
123+
}
124+
);
109125
});
110126
},
111127
child: Text("Fetch Variables"),

karte_variables/android/src/main/java/io/karte/flutter/variables/KarteVariablesPlugin.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,9 @@ public void run() {
128128
Variables.trackOpen(variables, values);
129129
result.success(null);
130130
break;
131+
case "getAllKeys":
132+
result.success(Variables.getAllKeys());
133+
break;
131134
case "clearCache":
132135
key = call.argument("key");
133136
if (key == null) {

karte_variables/ios/Classes/SwiftKarteVariablesPlugin.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,8 @@ public class SwiftKarteVariablesPlugin: NSObject, FlutterPlugin {
6363
let values = convertValues(arguments["values"])
6464
Tracker.trackClick(variables: variables, values: values)
6565
result(nil)
66+
case "getAllKeys":
67+
result(Variables.getAllKeys())
6668
case "clearCache":
6769
let key = arguments["key"] as? String ?? ""
6870
Variables.clearCache(forKey: key)

karte_variables/lib/karte_variables.dart

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,16 @@ class Variables {
6262
'Variables_trackClick', {"variableNames": names, "values": normalize(values)});
6363
}
6464

65+
/// 全ての設定値のキーの一覧を取得します。
66+
/// なお事前に `Variables.fetch()` を呼び出しておく必要があります。
67+
static Future<List<String>> getAllKeys() async {
68+
final result = await _channel.invokeMethod('Variables_getAllKeys');
69+
if (result == null) {
70+
return [];
71+
}
72+
return result.whereType<String>().toList();
73+
}
74+
6575
/// 指定した設定値のキーのキャッシュを削除します。
6676
static void clearCache(String key) async {
6777
await _channel.invokeMethod('Variables_clearCache', {"key": key});

0 commit comments

Comments
 (0)