File tree Expand file tree Collapse file tree
android/src/main/java/com/iterable/reactnative Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -482,6 +482,36 @@ public void updateVisibleRows(ReadableArray visibleRows) {
482482 // ---------------------------------------------------------------------------------------
483483 // endregion
484484
485+ // ---------------------------------------------------------------------------------------
486+ // region Embedded APIs
487+
488+ @ ReactMethod
489+ public void getEmbeddedPlacements (Promise promise ) {
490+ IterableLogger .d (TAG , "getEmbeddedPlacements" );
491+
492+ // Create test data
493+ JSONArray testPlacements = new JSONArray ();
494+ try {
495+ // Test placement 1
496+ JSONObject placement1 = new JSONObject ();
497+ placement1 .put ("placementId" , "test_placement_1" );
498+ testPlacements .put (placement1 );
499+
500+ // Test placement 2
501+ JSONObject placement2 = new JSONObject ();
502+ placement2 .put ("placementId" , "test_placement_2" );
503+ testPlacements .put (placement2 );
504+
505+ promise .resolve (Serialization .convertJsonToArray (testPlacements ));
506+ } catch (JSONException e ) {
507+
508+ promise .reject ("" , "Failed to create test placements" );
509+ }
510+ }
511+
512+ // ---------------------------------------------------------------------------------------
513+ // endregion
514+
485515 // ---------------------------------------------------------------------------------------
486516 // region Private Serialization Functions
487517
Original file line number Diff line number Diff line change @@ -470,6 +470,22 @@ class ReactIterableAPI: RCTEventEmitter {
470470
471471 inboxSessionManager. updateVisibleRows ( visibleRows: serializedRows)
472472 }
473+
474+ // MARK: - SDK Embedded Manager Functions
475+
476+ @objc ( getEmbeddedPlacements: rejecter: )
477+ func getEmbeddedPlacements( resolver: @escaping RCTPromiseResolveBlock ,
478+ rejecter: @escaping RCTPromiseRejectBlock ) {
479+ ITBInfo ( )
480+
481+ // Create test data
482+ let testPlacements : [ [ String : Any ] ] = [
483+ [ " placementId " : " test_placement_1 " ] ,
484+ [ " placementId " : " test_placement_2 " ]
485+ ]
486+
487+ resolver ( testPlacements)
488+ }
473489
474490 // MARK: - SDK Auth Manager Functions
475491
@@ -481,7 +497,7 @@ class ReactIterableAPI: RCTEventEmitter {
481497
482498 authHandlerSemaphore. signal ( )
483499 }
484-
500+
485501 // MARK: Private
486502 private var shouldEmit = false
487503 private let _methodQueue = DispatchQueue ( label: String ( describing: ReactIterableAPI . self) )
Original file line number Diff line number Diff line change @@ -5,7 +5,17 @@ import { IterableEmbeddedPlacement } from './IterableEmbeddedPlacement';
55
66const RNIterableAPI = NativeModules . RNIterableAPI ;
77
8+ /**
9+ * Manages embedded messages for the current user.
10+ *
11+ * This class provides methods to interact with embedded messages, including retrieving placements.
12+ */
813export class IterableEmbeddedManager {
14+ /**
15+ * Retrieve the current user's list of embedded placements.
16+ *
17+ * @returns A Promise that resolves to an array of embedded placements.
18+ */
919 getPlacements ( ) : Promise < IterableEmbeddedPlacement [ ] > {
1020 Iterable ?. logger ?. log ( 'EmbeddedManager.getPlacements' ) ;
1121
You can’t perform that action at this time.
0 commit comments