Skip to content

Commit be8998a

Browse files
committed
feat: add endEmbeddedSession method and update session management in RNIterableAPIModule
1 parent 24d5a70 commit be8998a

File tree

7 files changed

+36
-1
lines changed

7 files changed

+36
-1
lines changed

android/src/main/java/com/iterable/reactnative/RNIterableAPIModuleImpl.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -652,9 +652,15 @@ public void onInboxUpdated() {
652652
// region Embedded messaging
653653

654654
public void startEmbeddedSession() {
655+
IterableLogger.d(TAG, "startEmbeddedSession");
655656
IterableApi.getInstance().getEmbeddedManager().getEmbeddedSessionManager().startSession();
656657
}
657658

659+
public void endEmbeddedSession() {
660+
IterableLogger.d(TAG, "endEmbeddedSession");
661+
IterableApi.getInstance().getEmbeddedManager().getEmbeddedSessionManager().endSession();
662+
}
663+
658664
public void getEmbeddedPlacementIds(Promise promise) {
659665
IterableLogger.d(TAG, "getEmbeddedPlacementIds");
660666
try {

android/src/newarch/java/com/RNIterableAPIModule.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,11 @@ public void startEmbeddedSession() {
229229
moduleImpl.startEmbeddedSession();
230230
}
231231

232+
@Override
233+
public void endEmbeddedSession() {
234+
moduleImpl.endEmbeddedSession();
235+
}
236+
232237
@Override
233238
public void getEmbeddedPlacementIds(Promise promise) {
234239
moduleImpl.getEmbeddedPlacementIds(promise);

android/src/oldarch/java/com/RNIterableAPIModule.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,11 @@ public void startEmbeddedSession() {
233233
moduleImpl.startEmbeddedSession();
234234
}
235235

236+
@ReactMethod
237+
public void endEmbeddedSession() {
238+
moduleImpl.endEmbeddedSession();
239+
}
240+
236241
@ReactMethod
237242
public void getEmbeddedPlacementIds(Promise promise) {
238243
moduleImpl.getEmbeddedPlacementIds(promise);

example/src/components/Embedded/Embedded.tsx

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,13 @@ export const Embedded = () => {
2020
Iterable.embeddedManager.startSession();
2121
}, []);
2222

23+
const endEmbeddedSession = useCallback(() => {
24+
console.log(
25+
'endEmbeddedSession --> check android/ios logs to check if it worked'
26+
);
27+
Iterable.embeddedManager.endSession();
28+
}, []);
29+
2330
return (
2431
<View style={styles.container}>
2532
<Text style={styles.text}>EMBEDDED</Text>
@@ -39,6 +46,9 @@ export const Embedded = () => {
3946
<TouchableOpacity style={styles.button} onPress={startEmbeddedSession}>
4047
<Text style={styles.buttonText}>Start embedded session</Text>
4148
</TouchableOpacity>
49+
<TouchableOpacity style={styles.button} onPress={endEmbeddedSession}>
50+
<Text style={styles.buttonText}>End embedded session</Text>
51+
</TouchableOpacity>
4252
</View>
4353
);
4454
};

src/api/NativeRNIterableAPI.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ export interface Spec extends TurboModule {
120120

121121
// Embedded Messaging
122122
startEmbeddedSession(): void;
123+
endEmbeddedSession(): void;
123124
getEmbeddedPlacementIds(): Promise<number[]>;
124125

125126
// Wake app -- android only

src/core/classes/IterableApi.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -518,6 +518,14 @@ export class IterableApi {
518518
return RNIterableAPI.startEmbeddedSession();
519519
}
520520

521+
/**
522+
* Ends an embedded session.
523+
*/
524+
static endEmbeddedSession() {
525+
IterableLogger.log('endEmbeddedSession');
526+
return RNIterableAPI.endEmbeddedSession();
527+
}
528+
521529
/**
522530
* Get the embedded placement IDs.
523531
*/

src/embedded/classes/IterableEmbeddedManager.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ export class IterableEmbeddedManager {
5858
* ```
5959
*/
6060
endSession() {
61-
IterableLogger.log('IterableEmbeddedManager.endSession');
61+
return IterableApi.endEmbeddedSession();
6262
}
6363

6464
/**

0 commit comments

Comments
 (0)