Skip to content

Commit deb13c1

Browse files
committed
feat: add startEmbeddedImpression and pauseEmbeddedImpression methods to ReactIterableAPI
1 parent a9d8198 commit deb13c1

2 files changed

Lines changed: 28 additions & 0 deletions

File tree

ios/RNIterableAPI/RNIterableAPI.mm

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -295,6 +295,14 @@ - (void)getEmbeddedMessages:(NSArray *_Nullable)placementIds
295295
[_swiftAPI getEmbeddedMessages:placementIds resolver:resolve rejecter:reject];
296296
}
297297

298+
- (void)startEmbeddedImpression:(NSString *)messageId placementId:(double)placementId {
299+
[_swiftAPI startEmbeddedImpression:messageId placementId:placementId];
300+
}
301+
302+
- (void)pauseEmbeddedImpression:(NSString *)messageId {
303+
[_swiftAPI pauseEmbeddedImpression:messageId];
304+
}
305+
298306
- (void)wakeApp {
299307
// Placeholder function -- this method is only used in Android
300308
}
@@ -541,6 +549,14 @@ - (void)wakeApp {
541549
[_swiftAPI getEmbeddedMessages:placementIds resolver:resolve rejecter:reject];
542550
}
543551

552+
RCT_EXPORT_METHOD(startEmbeddedImpression : (NSString *)messageId placementId : (double)placementId) {
553+
[_swiftAPI startEmbeddedImpression:messageId placementId:placementId];
554+
}
555+
556+
RCT_EXPORT_METHOD(pauseEmbeddedImpression : (NSString *)messageId) {
557+
[_swiftAPI pauseEmbeddedImpression:messageId];
558+
}
559+
544560
RCT_EXPORT_METHOD(wakeApp) {
545561
// Placeholder function -- this method is only used in Android
546562
}

ios/RNIterableAPI/ReactIterableAPI.swift

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -536,6 +536,18 @@ import React
536536
resolver(messages.map { $0.toDict() })
537537
}
538538

539+
@objc(startEmbeddedImpression:placementId:)
540+
public func startEmbeddedImpression(messageId: String, placementId: Double) {
541+
ITBInfo()
542+
EmbeddedSessionManager.shared.startImpression(messageId: messageId, placementId: placementId)
543+
}
544+
545+
@objc(pauseEmbeddedImpression:)
546+
public func pauseEmbeddedImpression(messageId: String) {
547+
ITBInfo()
548+
EmbeddedSessionManager.shared.pauseImpression(messageId: messageId)
549+
}
550+
539551
// MARK: Private
540552
private var shouldEmit = false
541553
private let _methodQueue = DispatchQueue(label: String(describing: ReactIterableAPI.self))

0 commit comments

Comments
 (0)