Rokt Documentation
  • Documentation
  • User Guide
  • SDK
  • API
  • Third-Party Integrations
  • Help

›Integrating the SDK

Getting Started

  • Introduction

Web SDK

  • Overview
  • Architecture
  • Integrating the Web SDK
  • Integration Examples

    • Confirmation Page Integration
    • Preparative Iframe
    • Page Identifier
    • Single Page Applications
    • Brand Conversion Integration
    • In Transaction/Cart Integration
    • Event-based Integration
    • Sandbox Integration
  • Integration Best Practices
  • Attributes
  • Security
  • Mobile In-App Web Pages
  • API

    • README
    • Globals

    Enumerations

    • FailureReason

    Interfaces

    • Attributes
    • Cart
    • CartItem
    • PlacementCloseEvent
    • Rokt
    • RoktConfiguration
    • Widget

iOS SDK

  • Overview
  • Version
  • Integrating the SDK

    • Integrating and Initializing the SDK
    • Launching an Overlay Placement
    • Launching an Embedded Placement
    • Recording a Brand Conversion
    • Sandbox Integration
  • Attributes
  • Security

Android SDK

  • Overview
  • Version
  • Integrating the SDK

    • Integrating and Initializing the SDK
    • Launching an Overlay Placement
    • Launching an Embedded Placement
    • Recording a Brand Conversion
    • Sandbox Integration

    Attributes

    • Core Attributes
    • Vertical Attributes
  • Security

React Native SDK

  • Overview
  • Version
  • Integrating the SDK

    • Integrating and Initializing the SDK
    • Launching an Overlay Placement
    • Launching an Embedded Placement
    • Recording a Brand Conversion
    • Sandbox Integration

    Attributes

    • Core Attributes
    • Vertical Attributes
  • Security
Edit

Launching an Embedded Placement

The Rokt SDK for Android can be used to display a Rokt placement embedded in your app’s content. These instructions assume that the Rokt SDK for Android has already been integrated into your application by following steps 1 to 4 here.

Step 5: Include the Rokt embedded widget in the layout XML file

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
 
    <com.rokt.roktsdk.Widget
        android:id="@+id/roktWidget"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
 
</androidx.constraintlayout.widget.ConstraintLayout>

The Rokt embedded placement can also be created in code and included in the layout dynamically

Step 6: Execute the Rokt Android SDK

Execute the SDK in your desired Activity/Fragment, passing any appropriate consumer attributes and the placement mapping. The example code uses onCreate to launch the placement.

The Rokt placement displays after a short delay, configurable via the Rokt platform.

The height of the Rokt embedded placement will be updated accordingly. It is advised to set the height of the placement to wrap_content so that the placement can set it's height dynamically.

The SDK provides optional callback events for when the view loads and unloads.

Your app dictates which consumer attributes are passed through to Rokt. More information on the data fields that are able to be passed through the SDK can be found under the Attributes section. You can add additional code lines into the below sections containing consumer attributes in order to build up the data package that will be sent through to Rokt.

Kotlin

import com.rokt.roktsdk.Widget
import com.rokt.roktsdk.Rokt
  
class ConfirmationActivity : Activity() {  
 
    private val roktCalllback = object : Rokt.RoktCallback {
        override fun onLoad() {
        }
 
        override fun onShouldShowLoadingIndicator() {
        }
 
        override fun onShouldHideLoadingIndicator() {
        }
 
        override fun onUnload(reason: Rokt.UnloadReasons) {
        }
    }
 
    override fun onCreate(savedInstanceState: Bundle?) {      
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)      
        ...
  
        // Include any appropriate consumer attributes
        val attributes = hashMapOf(
            Pair("email", "j.smith@example.com"),
            Pair("firstname", "Jenny"),
            Pair("lastname", "Smith"),
            Pair("mobile", "(323) 867-5309"),
            Pair("postcode", "90210"),
            Pair("country", "US")
        )
 
        // Widget placeholder mapping the placeholder view with placement location configuration
        val widget = findViewById<Widget>(R.id.roktWidget)
        val placeHolders = hashMapOf(
            Pair("RoktEmbedded1", WeakReference(widget))
        )
 
        Rokt.execute(
            viewName = "RoktExperience",
            attributes = attributes,
            callback = roktCalllback,
            placeholders = placeHolders
        )
        ...
    }
}

Java

import com.rokt.roktsdk.Widget;
import com.rokt.roktsdk.Rokt;
  
class ConfirmationActivity : Activity() {  
 
    private Rokt.RoktCallback roktCallback = new Rokt.RoktCallback() {
        @Override
        public void onLoad() {
        }
 
        @Override
        public void onShouldShowLoadingIndicator() {
        }
 
        @Override
        public void onShouldHideLoadingIndicator() {
        }
 
        @Override
        public void onUnload(@NotNull Rokt.UnloadReasons unloadReasons) {
        }
    };
 
    override fun onCreate(savedInstanceState: Bundle?) {      
        super.onCreate(savedInstanceState)      
        ...    
  
        Map<String, String> attributes = new HashMap<String, String>();
 
        attributes.put("email", "j.smith@example.com");
        attributes.put("firstname", "Jenny");
        attributes.put("lastname", "Smith");
        attributes.put("mobile", "(323) 867-5309");
        attributes.put("postcode", "90210");
        attributes.put("country", "US");
 
        // Widget placeholder mapping the placeholder view with placement location configuration
        Widget widget = findViewById(R.id.roktWidget);
        Map<String, WeakReference<Widget>> placeHolders = new HashMap<>();
        placeHolders.put("RoktEmbedded1", new WeakReference<>(widget));
 
        Rokt.INSTANCE.execute("RoktExperience",
                attributes,
                roktCallback,
                placeHolders);
        ...
    }
}

If you wish to update the view name (RoktExperience) or placeholder name (RoktEmbedded1) with a different value, please contact your Rokt account manager to ensure Rokt placements are configured consistently.

Step 7: Build & Run

← Launching an Overlay PlacementRecording a Brand Conversion →
  • Step 5: Include the Rokt embedded widget in the layout XML file
  • Step 6: Execute the Rokt Android SDK
  • Step 7: Build & Run
RESOURCES
DocumentationUser GuideSDKAPIIntegration PartnersHelp
COMPANY
About UsContact UsCareersEngineering Blog
Rokt Documentation
Copyright © Rokt 2021 - All Rights Reserved