Skip to content

Commit a6a45ed

Browse files
committed
feat: implement getEmbeddedMessages method and enhance serialization for embedded messages
1 parent 452444a commit a6a45ed

2 files changed

Lines changed: 22 additions & 5 deletions

File tree

android/src/main/java/com/iterable/reactnative/RNIterableAPIModuleImpl.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,11 @@
2323
import com.iterable.iterableapi.IterableAction;
2424
import com.iterable.iterableapi.IterableActionContext;
2525
import com.iterable.iterableapi.IterableApi;
26+
import com.iterable.iterableapi.IterableAttributionInfo;
2627
import com.iterable.iterableapi.IterableAuthHandler;
2728
import com.iterable.iterableapi.IterableConfig;
2829
import com.iterable.iterableapi.IterableCustomActionHandler;
29-
import com.iterable.iterableapi.IterableAttributionInfo;
30+
import com.iterable.iterableapi.IterableEmbeddedMessage;
3031
import com.iterable.iterableapi.IterableHelper;
3132
import com.iterable.iterableapi.IterableInAppCloseAction;
3233
import com.iterable.iterableapi.IterableInAppHandler;
@@ -88,9 +89,9 @@ public void initializeWithApiKey(String apiKey, ReadableMap configReadableMap, S
8889
configBuilder.setAuthHandler(this);
8990
}
9091

91-
if (configReadableMap.hasKey("enableEmbeddedMessaging") && configReadableMap.getBoolean("enableEmbeddedMessaging") == true) {
92-
configBuilder.setEnableEmbeddedMessaging(this);
93-
}
92+
if (iterableContextJSON.has("enableEmbeddedMessaging")) {
93+
configBuilder.setEnableEmbeddedMessaging(iterableContextJSON.optBoolean("enableEmbeddedMessaging"));
94+
}
9495

9596
IterableApi.initialize(reactContext, apiKey, configBuilder.build());
9697
IterableApi.getInstance().setDeviceAttribute("reactNativeSDKVersion", version);

android/src/main/java/com/iterable/reactnative/Serialization.java

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,16 @@
1616
import com.iterable.iterableapi.IterableActionContext;
1717
import com.iterable.iterableapi.IterableConfig;
1818
import com.iterable.iterableapi.IterableDataRegion;
19+
import com.iterable.iterableapi.IterableEmbeddedMessage;
1920
import com.iterable.iterableapi.IterableInAppCloseAction;
2021
import com.iterable.iterableapi.IterableInAppDeleteActionType;
2122
import com.iterable.iterableapi.IterableInAppHandler;
2223
import com.iterable.iterableapi.IterableInAppLocation;
2324
import com.iterable.iterableapi.IterableInAppMessage;
2425
import com.iterable.iterableapi.IterableInboxSession;
2526
import com.iterable.iterableapi.IterableLogger;
26-
import com.iterable.iterableapi.RNIterableInternal;
2727
import com.iterable.iterableapi.RetryPolicy;
28+
import com.iterable.iterableapi.RNIterableInternal;
2829

2930
import org.json.JSONArray;
3031
import org.json.JSONException;
@@ -137,6 +138,17 @@ static JSONArray serializeInAppMessages(List<IterableInAppMessage> inAppMessages
137138
return inAppMessagesJson;
138139
}
139140

141+
static JSONArray serializeEmbeddedMessages(List<IterableEmbeddedMessage> embeddedMessages) {
142+
JSONArray embeddedMessagesJson = new JSONArray();
143+
if (embeddedMessages != null) {
144+
for (IterableEmbeddedMessage message : embeddedMessages) {
145+
JSONObject messageJson = IterableEmbeddedMessage.Companion.toJSONObject(message);
146+
embeddedMessagesJson.put(messageJson);
147+
}
148+
}
149+
return embeddedMessagesJson;
150+
}
151+
140152
static IterableConfig.Builder getConfigFromReadableMap(ReadableMap iterableContextMap) {
141153
try {
142154
JSONObject iterableContextJSON = convertMapToJson(iterableContextMap);
@@ -218,6 +230,10 @@ static IterableConfig.Builder getConfigFromReadableMap(ReadableMap iterableConte
218230
configBuilder.setDataRegion(iterableDataRegion);
219231
}
220232

233+
if (iterableContextJSON.has("enableEmbeddedMessaging")) {
234+
configBuilder.setEnableEmbeddedMessaging(iterableContextJSON.optBoolean("enableEmbeddedMessaging"));
235+
}
236+
221237
if (iterableContextJSON.has("retryPolicy")) {
222238
JSONObject retryPolicyJson = iterableContextJSON.getJSONObject("retryPolicy");
223239
int maxRetry = retryPolicyJson.getInt("maxRetry");

0 commit comments

Comments
 (0)