From 034fe43ad0a513a8057b5be1c23840195c4a2efd Mon Sep 17 00:00:00 2001 From: Loren Posen Date: Sat, 10 Jan 2026 21:47:09 -0800 Subject: [PATCH] feat: add start and end embedded session methods to ReactIterableAPI --- ios/RNIterableAPI/RNIterableAPI.mm | 16 ++++++++++++++++ ios/RNIterableAPI/ReactIterableAPI.swift | 14 ++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/ios/RNIterableAPI/RNIterableAPI.mm b/ios/RNIterableAPI/RNIterableAPI.mm index 91955f797..503e52fe2 100644 --- a/ios/RNIterableAPI/RNIterableAPI.mm +++ b/ios/RNIterableAPI/RNIterableAPI.mm @@ -277,6 +277,14 @@ - (void)pauseAuthRetries:(BOOL)pauseRetry { [_swiftAPI pauseAuthRetries:pauseRetry]; } +- (void)startEmbeddedSession { + [_swiftAPI startEmbeddedSession]; +} + +- (void)endEmbeddedSession { + [_swiftAPI endEmbeddedSession]; +} + - (void)wakeApp { // Placeholder function -- this method is only used in Android } @@ -507,6 +515,14 @@ - (void)wakeApp { [_swiftAPI pauseAuthRetries:pauseRetry]; } +RCT_EXPORT_METHOD(startEmbeddedSession) { + [_swiftAPI startEmbeddedSession]; +} + +RCT_EXPORT_METHOD(endEmbeddedSession) { + [_swiftAPI endEmbeddedSession]; +} + RCT_EXPORT_METHOD(wakeApp) { // Placeholder function -- this method is only used in Android } diff --git a/ios/RNIterableAPI/ReactIterableAPI.swift b/ios/RNIterableAPI/ReactIterableAPI.swift index 80c0a9cab..fb4af214d 100644 --- a/ios/RNIterableAPI/ReactIterableAPI.swift +++ b/ios/RNIterableAPI/ReactIterableAPI.swift @@ -493,6 +493,20 @@ import React IterableAPI.pauseAuthRetries(pauseRetry) } + // MARK: - SDK Embedded Messaging Functions + + @objc(startEmbeddedSession) + public func startEmbeddedSession() { + ITBInfo() + EmbeddedSessionManager.shared.startSession() + } + + @objc(endEmbeddedSession) + public func endEmbeddedSession() { + ITBInfo() + EmbeddedSessionManager.shared.endSession() + } + // MARK: Private private var shouldEmit = false private let _methodQueue = DispatchQueue(label: String(describing: ReactIterableAPI.self))