@@ -170,23 +170,48 @@ class ReactIterableAPI: RCTEventEmitter {
170170 }
171171
172172 @objc ( trackInAppOpen: location: )
173- func trackInAppOpen( messageId: String , location number: NSNumber ) {
173+ func trackInAppOpen( messageId: String ,
174+ location locationNumber: NSNumber ) {
174175 ITBInfo ( )
175176 guard let message = IterableAPI . inAppManager. getMessage ( withId: messageId) else {
176177 ITBError ( " Could not find message with id: \( messageId) " )
177178 return
178179 }
179- IterableAPI . track ( inAppOpen: message, location: InAppLocation . from ( number: number ) )
180+ IterableAPI . track ( inAppOpen: message, location: InAppLocation . from ( number: locationNumber ) )
180181 }
181182
182183 @objc ( trackInAppClick: location: clickedUrl: )
183- func trackInAppClick( messageId: String , location number: NSNumber , clickedUrl: String ) {
184+ func trackInAppClick( messageId: String ,
185+ location locationNumber: NSNumber ,
186+ clickedUrl: String ) {
184187 ITBInfo ( )
185188 guard let message = IterableAPI . inAppManager. getMessage ( withId: messageId) else {
186189 ITBError ( " Could not find message with id: \( messageId) " )
187190 return
188191 }
189- IterableAPI . track ( inAppClick: message, location: InAppLocation . from ( number: number) , clickedUrl: clickedUrl)
192+ IterableAPI . track ( inAppClick: message, location: InAppLocation . from ( number: locationNumber) , clickedUrl: clickedUrl)
193+ }
194+
195+ @objc ( trackInAppClose: location: source: clickedUrl: )
196+ func trackInAppClose( messageId: String ,
197+ location locationNumber: NSNumber ,
198+ source sourceNumber: NSNumber ,
199+ clickedUrl: String ) {
200+ ITBInfo ( )
201+ guard let message = IterableAPI . inAppManager. getMessage ( withId: messageId) else {
202+ ITBError ( " Could not find message with id: \( messageId) " )
203+ return
204+ }
205+ if let inAppCloseSource = InAppCloseSource . from ( number: sourceNumber) {
206+ IterableAPI . track ( inAppClose: message,
207+ location: InAppLocation . from ( number: locationNumber) ,
208+ source: inAppCloseSource,
209+ clickedUrl: clickedUrl)
210+ } else {
211+ IterableAPI . track ( inAppClose: message,
212+ location: InAppLocation . from ( number: locationNumber) ,
213+ clickedUrl: clickedUrl)
214+ }
190215 }
191216
192217 @objc ( getInAppMessages: rejecter: )
0 commit comments