Skip to content

Commit cc2f40a

Browse files
authored
feat: add purchaseFinalized method to Rokt module for both iOS and Android (#228)
1 parent 7d8c208 commit cc2f40a

File tree

6 files changed

+45
-0
lines changed

6 files changed

+45
-0
lines changed

android/src/newarch/java/com/mparticle/react/rokt/MPRoktModule.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,15 @@ class MPRoktModule(
5555
)
5656
}
5757

58+
@ReactMethod
59+
override fun purchaseFinalized(
60+
placementId: String,
61+
catalogItemId: String,
62+
success: Boolean,
63+
) {
64+
impl.purchaseFinalized(placementId, catalogItemId, success)
65+
}
66+
5867

5968
/**
6069
* Process placeholders from ReadableMap to a map of Widgets for use with Rokt.

android/src/oldarch/java/com/mparticle/react/NativeMPRoktSpec.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,10 @@ abstract class NativeMPRoktSpec(
2020
roktConfig: ReadableMap?,
2121
fontFilesMap: ReadableMap?,
2222
)
23+
24+
abstract fun purchaseFinalized(
25+
placementId: String,
26+
catalogItemId: String,
27+
success: Boolean,
28+
)
2329
}

android/src/oldarch/java/com/mparticle/react/rokt/MPRoktModule.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,15 @@ class MPRoktModule(
5353
}
5454
}
5555

56+
@ReactMethod
57+
override fun purchaseFinalized(
58+
placementId: String,
59+
catalogItemId: String,
60+
success: Boolean,
61+
) {
62+
impl.purchaseFinalized(placementId, catalogItemId, success)
63+
}
64+
5665
private fun safeUnwrapPlaceholders(
5766
placeholders: ReadableMap?,
5867
nativeViewHierarchyManager: NativeViewHierarchyManager,

ios/RNMParticle/RNMPRokt.mm

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,13 @@ - (void)selectPlacements:(NSString *)identifer
129129
}];
130130
}
131131

132+
RCT_EXPORT_METHOD(purchaseFinalized : (NSString *)placementId catalogItemId : (
133+
NSString *)catalogItemId success : (BOOL)success) {
134+
[[[MParticle sharedInstance] rokt] purchaseFinalized:placementId
135+
catalogItemId:catalogItemId
136+
success:success];
137+
}
138+
132139
- (NSMutableDictionary*)convertToMutableDictionaryOfStrings:(NSDictionary*)attributes
133140
{
134141
NSMutableDictionary *finalAttributes = [attributes mutableCopy];

js/codegenSpecs/rokt/NativeMPRokt.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,12 @@ export interface Spec extends TurboModule {
2121
roktConfig?: RoktConfigType,
2222
fontFilesMap?: { [key: string]: string }
2323
): void;
24+
25+
purchaseFinalized(
26+
placementId: string,
27+
catalogItemId: string,
28+
success: boolean
29+
): void;
2430
}
2531

2632
export default TurboModuleRegistry.getEnforcing<Spec>('RNMPRokt');

js/rokt/rokt.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,14 @@ export abstract class Rokt {
3131
);
3232
}
3333

34+
static async purchaseFinalized(
35+
placementId: string,
36+
catalogItemId: string,
37+
success: boolean
38+
): Promise<void> {
39+
MPRokt.purchaseFinalized(placementId, catalogItemId, success);
40+
}
41+
3442
static createRoktConfig(colorMode?: ColorMode, cacheConfig?: CacheConfig) {
3543
return new RoktConfig(colorMode ?? 'system', cacheConfig);
3644
}

0 commit comments

Comments
 (0)