@@ -6,8 +6,10 @@ import androidx.compose.runtime.mutableStateOf
66import androidx.compose.runtime.remember
77import androidx.compose.ui.Modifier
88import com.mparticle.MpRoktEventCallback
9+ import com.mparticle.rokt.PlacementOptions
910import com.mparticle.rokt.RoktConfig
1011import com.rokt.roktsdk.Rokt
12+ import com.rokt.roktsdk.RoktLayout
1113
1214@Composable
1315@Suppress(" FunctionName" )
@@ -20,9 +22,15 @@ fun RoktLayout(
2022 mpRoktEventCallback : MpRoktEventCallback ? = null,
2123 config : RoktConfig ? = null,
2224) {
25+ var placementOptions: PlacementOptions ? = null
2326 val instance = RoktKit .instance
2427 val resultMapState = remember { mutableStateOf<RoktResult ?>(null ) }
2528 if (sdkTriggered) {
29+ // Capture the timestamp when the SDK is triggered
30+ placementOptions = PlacementOptions (
31+ jointSdkSelectPlacements = System .currentTimeMillis(),
32+ dynamicPerformanceMarkers = mutableMapOf (),
33+ )
2634 LaunchedEffect (Unit ) {
2735 instance?.runComposableWithCallback(
2836 HashMap (attributes),
@@ -35,7 +43,8 @@ fun RoktLayout(
3543 }
3644
3745 resultMapState.value?.let { resultMap ->
38- com.rokt.roktsdk.RoktLayout (
46+ // TODO: Propagate the `placementOptions` to Rokt SDK after the API changes are available
47+ RoktLayout (
3948 sdkTriggered, identifier, modifier, resultMap.attributes, location,
4049 onLoad = { resultMap.callback.onLoad() },
4150 onShouldShowLoadingIndicator = { resultMap.callback.onShouldShowLoadingIndicator() },
0 commit comments