diff --git a/android/src/main/java/com/iterable/iterableapi/RNIterableInternal.java b/android/src/main/java/com/iterable/iterableapi/RNIterableInternal.java index db8fdbc98..27f326143 100644 --- a/android/src/main/java/com/iterable/iterableapi/RNIterableInternal.java +++ b/android/src/main/java/com/iterable/iterableapi/RNIterableInternal.java @@ -20,6 +20,10 @@ public static JSONObject getInAppMessageJson(IterableInAppMessage message) { return message.toJSONObject(); } + public static JSONObject getEmbeddedMessageJson(IterableEmbeddedMessage message) { + return IterableEmbeddedMessage.Companion.toJSONObject(message); + } + public static IterableInAppMessage getMessageById(String messageId) { return IterableApi.getInstance().getInAppManager().getMessageById(messageId); } diff --git a/android/src/main/java/com/iterable/reactnative/RNIterableAPIModule.java b/android/src/main/java/com/iterable/reactnative/RNIterableAPIModule.java index 198d5a9eb..17c3af4a4 100644 --- a/android/src/main/java/com/iterable/reactnative/RNIterableAPIModule.java +++ b/android/src/main/java/com/iterable/reactnative/RNIterableAPIModule.java @@ -35,6 +35,7 @@ import com.iterable.iterableapi.IterableInAppLocation; import com.iterable.iterableapi.IterableInAppManager; import com.iterable.iterableapi.IterableInAppMessage; +import com.iterable.iterableapi.IterableEmbeddedPlacement; import com.iterable.iterableapi.IterableInboxSession; import com.iterable.iterableapi.IterableLogger; import com.iterable.iterableapi.IterableUrlHandler; @@ -490,28 +491,28 @@ public void getEmbeddedPlacements(Promise promise) { IterableLogger.d(TAG, "getEmbeddedPlacements"); // Create test data - JSONArray testPlacements = new JSONArray(); + // JSONArray testPlacements = new JSONArray(); try { - // Test placement 1 - JSONObject placement1 = new JSONObject(); - placement1.put("placementId", 808); - testPlacements.put(placement1); + // // Test placement 1 + // JSONObject placement1 = new JSONObject(); + // placement1.put("placementId", 808); + // testPlacements.put(placement1); - // Test placement 2 - JSONObject placement2 = new JSONObject(); - placement2.put("placementId", 1121); - testPlacements.put(placement2); - - // Test placement 2 - JSONObject placement3 = new JSONObject(); - placement3.put("placementId", 112); - testPlacements.put(placement3); - - - promise.resolve(Serialization.convertJsonToArray(testPlacements)); + // // Test placement 2 + // JSONObject placement2 = new JSONObject(); + // placement2.put("placementId", 1121); + // testPlacements.put(placement2); + + // // Test placement 2 + // JSONObject placement3 = new JSONObject(); + // placement3.put("placementId", 112); + // testPlacements.put(placement3); + + JSONArray embeddedPlacementsJsonArray = Serialization.serializeEmbeddedMessages(IterableApi.getInstance().getEmbeddedManager().getMessages(1551)); + promise.resolve(Serialization.convertJsonToArray(embeddedPlacementsJsonArray)); } catch (JSONException e) { - - promise.reject("", "Failed to create test placements"); + IterableLogger.e(TAG, e.getLocalizedMessage()); + promise.reject("", "Failed to create test placements: " + e.getLocalizedMessage()); } } diff --git a/android/src/main/java/com/iterable/reactnative/Serialization.java b/android/src/main/java/com/iterable/reactnative/Serialization.java index 3a1f536a6..90585186c 100644 --- a/android/src/main/java/com/iterable/reactnative/Serialization.java +++ b/android/src/main/java/com/iterable/reactnative/Serialization.java @@ -22,6 +22,7 @@ import com.iterable.iterableapi.IterableInAppLocation; import com.iterable.iterableapi.IterableInAppMessage; import com.iterable.iterableapi.IterableInboxSession; +import com.iterable.iterableapi.IterableEmbeddedMessage; import com.iterable.iterableapi.IterableLogger; import com.iterable.iterableapi.RNIterableInternal; @@ -136,6 +137,15 @@ static JSONArray serializeInAppMessages(List inAppMessages return inAppMessagesJson; } + static JSONArray serializeEmbeddedMessages(List embeddedMessages) { + JSONArray embeddedMessagesJson = new JSONArray(); + for (IterableEmbeddedMessage message : embeddedMessages) { + JSONObject messageJson = RNIterableInternal.getEmbeddedMessageJson(message); + embeddedMessagesJson.put(messageJson); + } + return embeddedMessagesJson; + } + static IterableConfig.Builder getConfigFromReadableMap(ReadableMap iterableContextMap) { try { JSONObject iterableContextJSON = convertMapToJson(iterableContextMap);