Skip to content

Commit dfaf304

Browse files
author
Evan Greer
committed
feat: adds serialization and call to native layer
1 parent ee001de commit dfaf304

3 files changed

Lines changed: 34 additions & 19 deletions

File tree

android/src/main/java/com/iterable/iterableapi/RNIterableInternal.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ public static JSONObject getInAppMessageJson(IterableInAppMessage message) {
2020
return message.toJSONObject();
2121
}
2222

23+
public static JSONObject getEmbeddedMessageJson(IterableEmbeddedMessage message) {
24+
return IterableEmbeddedMessage.Companion.toJSONObject(message);
25+
}
26+
2327
public static IterableInAppMessage getMessageById(String messageId) {
2428
return IterableApi.getInstance().getInAppManager().getMessageById(messageId);
2529
}

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

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import com.iterable.iterableapi.IterableInAppLocation;
3636
import com.iterable.iterableapi.IterableInAppManager;
3737
import com.iterable.iterableapi.IterableInAppMessage;
38+
import com.iterable.iterableapi.IterableEmbeddedPlacement;
3839
import com.iterable.iterableapi.IterableInboxSession;
3940
import com.iterable.iterableapi.IterableLogger;
4041
import com.iterable.iterableapi.IterableUrlHandler;
@@ -490,28 +491,28 @@ public void getEmbeddedPlacements(Promise promise) {
490491
IterableLogger.d(TAG, "getEmbeddedPlacements");
491492

492493
// Create test data
493-
JSONArray testPlacements = new JSONArray();
494+
// JSONArray testPlacements = new JSONArray();
494495
try {
495-
// Test placement 1
496-
JSONObject placement1 = new JSONObject();
497-
placement1.put("placementId", 808);
498-
testPlacements.put(placement1);
496+
// // Test placement 1
497+
// JSONObject placement1 = new JSONObject();
498+
// placement1.put("placementId", 808);
499+
// testPlacements.put(placement1);
499500

500-
// Test placement 2
501-
JSONObject placement2 = new JSONObject();
502-
placement2.put("placementId", 1121);
503-
testPlacements.put(placement2);
504-
505-
// Test placement 2
506-
JSONObject placement3 = new JSONObject();
507-
placement3.put("placementId", 112);
508-
testPlacements.put(placement3);
509-
510-
511-
promise.resolve(Serialization.convertJsonToArray(testPlacements));
501+
// // Test placement 2
502+
// JSONObject placement2 = new JSONObject();
503+
// placement2.put("placementId", 1121);
504+
// testPlacements.put(placement2);
505+
506+
// // Test placement 2
507+
// JSONObject placement3 = new JSONObject();
508+
// placement3.put("placementId", 112);
509+
// testPlacements.put(placement3);
510+
511+
JSONArray embeddedPlacementsJsonArray = Serialization.serializeEmbeddedMessages(IterableApi.getInstance().getEmbeddedManager().getMessages(1551));
512+
promise.resolve(Serialization.convertJsonToArray(embeddedPlacementsJsonArray));
512513
} catch (JSONException e) {
513-
514-
promise.reject("", "Failed to create test placements");
514+
IterableLogger.e(TAG, e.getLocalizedMessage());
515+
promise.reject("", "Failed to create test placements: " + e.getLocalizedMessage());
515516
}
516517
}
517518

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

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import com.iterable.iterableapi.IterableInAppLocation;
2323
import com.iterable.iterableapi.IterableInAppMessage;
2424
import com.iterable.iterableapi.IterableInboxSession;
25+
import com.iterable.iterableapi.IterableEmbeddedMessage;
2526
import com.iterable.iterableapi.IterableLogger;
2627
import com.iterable.iterableapi.RNIterableInternal;
2728

@@ -136,6 +137,15 @@ static JSONArray serializeInAppMessages(List<IterableInAppMessage> inAppMessages
136137
return inAppMessagesJson;
137138
}
138139

140+
static JSONArray serializeEmbeddedMessages(List<IterableEmbeddedMessage> embeddedMessages) {
141+
JSONArray embeddedMessagesJson = new JSONArray();
142+
for (IterableEmbeddedMessage message : embeddedMessages) {
143+
JSONObject messageJson = RNIterableInternal.getEmbeddedMessageJson(message);
144+
embeddedMessagesJson.put(messageJson);
145+
}
146+
return embeddedMessagesJson;
147+
}
148+
139149
static IterableConfig.Builder getConfigFromReadableMap(ReadableMap iterableContextMap) {
140150
try {
141151
JSONObject iterableContextJSON = convertMapToJson(iterableContextMap);

0 commit comments

Comments
 (0)