Skip to content

Commit 15e1894

Browse files
committed
feat: add IterableEmbeddedManager class and update exports for embedded messages
1 parent 1ac7370 commit 15e1894

4 files changed

Lines changed: 69 additions & 0 deletions

File tree

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
import { IterableLogger } from '../../core/classes/IterableLogger';
2+
3+
/**
4+
* Manages the embedded messages from Iterable.
5+
*/
6+
export class IterableEmbeddedManager {
7+
/**
8+
* Refreshes the local cache of your embedded manager system so that it aligns
9+
* with the server.
10+
*
11+
* At key points during your app's lifecycle, you may want to manually refresh
12+
* your app's local cache of embedded messages. For example, as users navigate
13+
* around, on pull-to-refresh, etc.
14+
*
15+
* @returns A promise that returns messages that the user is *eligible* to see.
16+
*
17+
* @example
18+
* ```typescript
19+
* IterableEmbeddedManager.syncMessages().then(messages => {
20+
* console.log('Messages:', messages);
21+
* });
22+
* ```
23+
*/
24+
syncMessages() {
25+
IterableLogger.log('IterableEmbeddedManager.syncMessages');
26+
}
27+
28+
getMessages(placementIds?: number[] | null) {
29+
IterableLogger.log(
30+
'IterableEmbeddedManager.getMessages with placementIds',
31+
placementIds
32+
);
33+
}
34+
35+
getPlacementIds() {
36+
IterableLogger.log('IterableEmbeddedManager.getEmbeddedPlacementIds');
37+
}
38+
39+
startSession() {
40+
IterableLogger.log('IterableEmbeddedManager.startSession');
41+
}
42+
43+
endSession() {
44+
IterableLogger.log('IterableEmbeddedManager.endSession');
45+
}
46+
47+
startImpression(messageId: string, placementId: number) {
48+
IterableLogger.log(
49+
'IterableEmbeddedManager.startImpression',
50+
messageId,
51+
placementId
52+
);
53+
}
54+
55+
pauseImpression(messageId: string) {
56+
IterableLogger.log('IterableEmbeddedManager.pauseImpression', messageId);
57+
}
58+
59+
handleClick() {
60+
IterableLogger.log('IterableEmbeddedManager.handleClick');
61+
}
62+
63+
trackClick() {
64+
IterableLogger.log('IterableEmbeddedManager.trackClick');
65+
}
66+
}

src/embedded/classes/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from './IterableEmbeddedManager';

src/embedded/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from './classes';

src/index.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,3 +59,4 @@ export {
5959
type IterableInboxProps,
6060
type IterableInboxRowViewModel,
6161
} from './inbox';
62+
export { IterableEmbeddedManager } from './embedded';

0 commit comments

Comments
 (0)