diff --git a/ios/RNIterableAPI/RNIterableAPI.mm b/ios/RNIterableAPI/RNIterableAPI.mm index 4f05929de..0fe92f4db 100644 --- a/ios/RNIterableAPI/RNIterableAPI.mm +++ b/ios/RNIterableAPI/RNIterableAPI.mm @@ -295,6 +295,14 @@ - (void)getEmbeddedMessages:(NSArray *_Nullable)placementIds [_swiftAPI getEmbeddedMessages:placementIds resolver:resolve rejecter:reject]; } +- (void)startEmbeddedImpression:(NSString *)messageId placementId:(double)placementId { + [_swiftAPI startEmbeddedImpression:messageId placementId:placementId]; +} + +- (void)pauseEmbeddedImpression:(NSString *)messageId { + [_swiftAPI pauseEmbeddedImpression:messageId]; +} + - (void)wakeApp { // Placeholder function -- this method is only used in Android } @@ -541,6 +549,14 @@ - (void)wakeApp { [_swiftAPI getEmbeddedMessages:placementIds resolver:resolve rejecter:reject]; } +RCT_EXPORT_METHOD(startEmbeddedImpression : (NSString *)messageId placementId : (double)placementId) { + [_swiftAPI startEmbeddedImpression:messageId placementId:placementId]; +} + +RCT_EXPORT_METHOD(pauseEmbeddedImpression : (NSString *)messageId) { + [_swiftAPI pauseEmbeddedImpression:messageId]; +} + 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 1529bace4..d929672ab 100644 --- a/ios/RNIterableAPI/ReactIterableAPI.swift +++ b/ios/RNIterableAPI/ReactIterableAPI.swift @@ -536,6 +536,18 @@ import React resolver(messages.map { $0.toDict() }) } + @objc(startEmbeddedImpression:placementId:) + public func startEmbeddedImpression(messageId: String, placementId: Double) { + ITBInfo() + EmbeddedSessionManager.shared.startImpression(messageId: messageId, placementId: placementId) + } + + @objc(pauseEmbeddedImpression:) + public func pauseEmbeddedImpression(messageId: String) { + ITBInfo() + EmbeddedSessionManager.shared.pauseImpression(messageId: messageId) + } + // MARK: Private private var shouldEmit = false private let _methodQueue = DispatchQueue(label: String(describing: ReactIterableAPI.self))