Skip to content

Commit 6112ea0

Browse files
committed
Added getUserId and getAttributes method implementations in android side.
1 parent 9ba1b2d commit 6112ea0

File tree

3 files changed

+28
-0
lines changed

3 files changed

+28
-0
lines changed

android/src/main/java/com/optimizely/optimizely_flutter_sdk/OptimizelyFlutterClient.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -371,6 +371,24 @@ protected void trackEvent(ArgumentsParser argumentsParser, @NonNull Result resul
371371
}
372372
}
373373

374+
protected void getUserId(ArgumentsParser argumentsParser, @NonNull Result result) {
375+
OptimizelyUserContext userContext = getUserContext(argumentsParser);
376+
if (userContext == null) {
377+
result.success(createResponse(false, ErrorMessage.USER_CONTEXT_NOT_FOUND));
378+
return;
379+
}
380+
result.success(createResponse(true, Collections.singletonMap(RequestParameterKey.USER_ID, userContext.getUserId()), ""));
381+
}
382+
383+
protected void getAttributes(ArgumentsParser argumentsParser, @NonNull Result result) {
384+
OptimizelyUserContext userContext = getUserContext(argumentsParser);
385+
if (userContext == null) {
386+
result.success(createResponse(false, ErrorMessage.USER_CONTEXT_NOT_FOUND));
387+
return;
388+
}
389+
result.success(createResponse(true, Collections.singletonMap(RequestParameterKey.ATTRIBUTES, userContext.getAttributes()), ""));
390+
}
391+
374392
protected void setAttribute(ArgumentsParser argumentsParser, @NonNull Result result) {
375393
String sdkKey = argumentsParser.getSdkKey();
376394
if (sdkKey == null) {

android/src/main/java/com/optimizely/optimizely_flutter_sdk/OptimizelyFlutterSdkPlugin.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,14 @@ public void onMethodCall(@NonNull MethodCall call, @NonNull Result result) {
6262
createUserContext(argumentsParser, result);
6363
break;
6464
}
65+
case APIs.GET_USER_ID: {
66+
getUserId(argumentsParser, result);
67+
break;
68+
}
69+
case APIs.GET_ATTRIBUTES: {
70+
getAttributes(argumentsParser, result);
71+
break;
72+
}
6573
case APIs.SET_ATTRIBUTES: {
6674
setAttribute(argumentsParser, result);
6775
break;

android/src/main/java/com/optimizely/optimizely_flutter_sdk/helper_classes/Constants.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ public static class APIs {
2121
public static final String INITIALIZE = "initialize";
2222
public static final String GET_OPTIMIZELY_CONFIG = "getOptimizelyConfig";
2323
public static final String CREATE_USER_CONTEXT = "createUserContext";
24+
public static final String GET_USER_ID = "getUserId";
25+
public static final String GET_ATTRIBUTES = "getAttributes";
2426
public static final String SET_ATTRIBUTES="setAttributes";
2527
public static final String GET_FORCED_DECISION = "getForcedDecision";
2628
public static final String REMOVE_FORCED_DECISION = "removeForcedDecision";

0 commit comments

Comments
 (0)