|
1 | 1 | import { Platform } from 'react-native'; |
2 | 2 |
|
3 | 3 | import RNIterableAPI from '../../api'; |
4 | | -import { IterableConfig } from './IterableConfig'; |
5 | | -import type { IterableLogger } from './IterableLogger'; |
6 | | -import { defaultLogger } from '../constants/defaults'; |
7 | | -import { IterableAttributionInfo } from './IterableAttributionInfo'; |
8 | | -import type { IterableCommerceItem } from './IterableCommerceItem'; |
| 4 | +import type { IterableEmbeddedMessage } from '../../embedded/classes/IterableEmbeddedMessage'; |
| 5 | +import type { IterableEmbeddedSession } from '../../embedded/classes/IterableEmbeddedSession'; |
| 6 | +import type { IterableHtmlInAppContent } from '../../inApp/classes/IterableHtmlInAppContent'; |
9 | 7 | import type { IterableInAppMessage } from '../../inApp/classes/IterableInAppMessage'; |
10 | | -import type { IterableInAppLocation } from '../../inApp/enums/IterableInAppLocation'; |
11 | 8 | import type { IterableInAppCloseSource } from '../../inApp/enums/IterableInAppCloseSource'; |
12 | 9 | import type { IterableInAppDeleteSource } from '../../inApp/enums/IterableInAppDeleteSource'; |
13 | | -import type { IterableHtmlInAppContent } from '../../inApp/classes/IterableHtmlInAppContent'; |
| 10 | +import type { IterableInAppLocation } from '../../inApp/enums/IterableInAppLocation'; |
14 | 11 | import type { IterableInAppShowResponse } from '../../inApp/enums/IterableInAppShowResponse'; |
15 | 12 | import type { IterableInboxImpressionRowInfo } from '../../inbox/types/IterableInboxImpressionRowInfo'; |
16 | | -import type { IterableEmbeddedSession } from '../../embedded/classes/IterableEmbeddedSession'; |
17 | | -import type { IterableEmbeddedMessage } from '../../embedded/classes/IterableEmbeddedMessage'; |
18 | | -import type { IterableEmbeddedPlacement } from '../../embedded/classes/IterableEmbeddedPlacement'; |
| 13 | +import { defaultLogger } from '../constants/defaults'; |
| 14 | +import { IterableAttributionInfo } from './IterableAttributionInfo'; |
| 15 | +import type { IterableCommerceItem } from './IterableCommerceItem'; |
| 16 | +import { IterableConfig } from './IterableConfig'; |
| 17 | +import type { IterableLogger } from './IterableLogger'; |
19 | 18 |
|
20 | 19 | export class IterableApi { |
21 | 20 | static logger: IterableLogger = defaultLogger; |
@@ -308,9 +307,48 @@ export class IterableApi { |
308 | 307 | */ |
309 | 308 | static trackEmbeddedSession(session: IterableEmbeddedSession) { |
310 | 309 | IterableApi.logger.log('trackEmbeddedSession: ', session); |
| 310 | + |
| 311 | + if (session == null) { |
| 312 | + IterableApi.logger.log('trackEmbeddedSession: session is null'); |
| 313 | + return; |
| 314 | + } |
| 315 | + |
| 316 | + if (!session.start || !session.end) { |
| 317 | + IterableApi.logger.log( |
| 318 | + 'trackEmbeddedSession: sessionStartTime and sessionEndTime must be set', |
| 319 | + session |
| 320 | + ); |
| 321 | + return; |
| 322 | + } |
| 323 | + |
311 | 324 | return RNIterableAPI.trackEmbeddedSession(session); |
312 | 325 | } |
313 | 326 |
|
| 327 | + static trackEmbeddedClick( |
| 328 | + message: IterableEmbeddedMessage, |
| 329 | + buttonId: string | null | undefined, |
| 330 | + clickedUrl: string | null | undefined |
| 331 | + ) { |
| 332 | + IterableApi.logger.log( |
| 333 | + 'trackEmbeddedClick: ', |
| 334 | + message, |
| 335 | + buttonId, |
| 336 | + clickedUrl |
| 337 | + ); |
| 338 | + return RNIterableAPI.trackEmbeddedClick(message, buttonId, clickedUrl); |
| 339 | + } |
| 340 | + |
| 341 | + static trackEmbeddedMessageReceived(message: IterableEmbeddedMessage) { |
| 342 | + IterableApi.logger.log('trackEmbeddedMessageReceived: ', message); |
| 343 | + |
| 344 | + if (message == null) { |
| 345 | + IterableApi.logger.log('trackEmbeddedMessageReceived: message is null'); |
| 346 | + return; |
| 347 | + } |
| 348 | + |
| 349 | + return RNIterableAPI.trackEmbeddedMessageReceived(message); |
| 350 | + } |
| 351 | + |
314 | 352 | // ---- End TRACKING ---- // |
315 | 353 |
|
316 | 354 | // ====================================================== // |
@@ -501,22 +539,9 @@ export class IterableApi { |
501 | 539 | * |
502 | 540 | * @returns A Promise that resolves to an array of embedded messages. |
503 | 541 | */ |
504 | | - static getEmbeddedMessages(): Promise<IterableEmbeddedPlacement[]> { |
505 | | - IterableApi.logger.log('getEmbeddedMessages'); |
506 | | - return RNIterableAPI.getEmbeddedMessages() as unknown as Promise< |
507 | | - IterableEmbeddedPlacement[] |
508 | | - >; |
509 | | - } |
510 | | - |
511 | | - static trackEmbeddedMessageReceived(message: IterableEmbeddedMessage) { |
512 | | - IterableApi.logger.log('trackEmbeddedMessageReceived: ', message); |
513 | | - |
514 | | - if (message == null) { |
515 | | - IterableApi.logger.log('trackEmbeddedMessageReceived: message is null'); |
516 | | - return; |
517 | | - } |
518 | | - |
519 | | - return RNIterableAPI.trackEmbeddedMessageReceived(message); |
| 542 | + static getEmbeddedMessages(placementIds: number[] | null) { |
| 543 | + IterableApi.logger.log('getEmbeddedMessages: ', placementIds); |
| 544 | + return RNIterableAPI.getEmbeddedMessages(placementIds); |
520 | 545 | } |
521 | 546 |
|
522 | 547 | // ---- End EMBEDDED ---- // |
|
0 commit comments