Dev Docs
Contact Us
  • Introduction
    • About Lucid
    • Lucid Platform
  • Products
    • Video Personalization
      • Overview
      • Playback Integration
        • HTML5 Integration
        • Android/Fire TV Integration
        • Android Mobile Integration
      • API Reference
    • Recommendation
      • Overview
      • How To Guide
        • Import Data
        • Train the Model
        • Get Recommendations
      • Sample Workflows
        • NFT Recommendations
        • Video Recommendations
      • API Reference
    • Moderation
      • Overview
  • API Reference
    • Getting Started
      • Create an Account
      • API Keys
    • API Reference
      • Recommender API
      • Video Summarization API
  • Contact Us
    • Lucid Home
Powered by GitBook
On this page
  • Step 1: Download the Lucid Android SDK
  • Step 2: Add SDK to your project
  • Step 3. Update Your Android Manifest
  • Step 4: Initialize the SDK in your app
  • Step 5: Prepare Preview Videos
  • Step 6: Use PreviewLayout
  1. Products
  2. Video Personalization
  3. Playback Integration

Android Mobile Integration

PreviousAndroid/Fire TV IntegrationNextAPI Reference

Last updated 2 years ago

Use these instructions to integrate the SDK with your Android mobile app. If you have any questions, please contact the Lucid account team.

Step 1: Download the Lucid Android SDK

The Lucid Preview Video Android SDK is available as an AAR. Download the latest aar file from

Step 2: Add SDK to your project

To add the sdk dependency, put the aar file into your libs folder and make sure the app module's build.gradle to have the following lines:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
}

The Lucid Preview Video Android SDK uses ExoPlayer for displaying the previews, so the first step will be to add ExoPlayer to your project. Add these lines to the app module's build.gradle:

dependencies {
    // ExoPlayer's leanback extension
    def exoplayer_version = '2.14.0'
    implementation "com.google.android.exoplayer:exoplayer-core:$exoplayer_version"
    implementation "com.google.android.exoplayer:exoplayer-ui:$exoplayer_version"
    implementation "com.google.android.exoplayer:extension-mediasession:$exoplayer_version"
    implementation "com.google.android.exoplayer:extension-leanback:$exoplayer_version"
    implementation "com.google.android.exoplayer:exoplayer-dash:$exoplayer_version"
    implementation "com.google.android.exoplayer:exoplayer-hls:$exoplayer_version"
}

To support Java 8, add the language feature support:

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

Step 3. Update Your Android Manifest

Update your AndroidManifest.xml in order to complete the SDK integration.

<!-- Required permissions -->
<uses-permission android:name="android.permission.INTERNET" />

Step 4: Initialize the SDK in your app

After you have integrated the Lucid Preview Video SDK and created an access token, you must call LucidPreviewVideoSdk.init before showing any videos. Initialization is required for only once per app's lifecycle, typically on app launch.

You need to pass an access token string to the LucidPreviewVideoSdk.init API for initialization.

LucidPreviewVideoSdk.init("token")

You can also adjust the log level for debugging, the default log level is LogLevel.ERROR, which only print the error messages. You can set your own configuration when using LucidPreviewVideoSdk.init API.

// Do not print any logs
LucidPreviewVideoSdk.init("token", LogLevel.NONE)
// Print all logs
LucidPreviewVideoSdk.init("token", LogLevel.VERBOSE)

You can also adjust the cache size for the preview videos, the default size is 50 entries, you can set your own configuration when using LucidPreviewVideoSdk.init API.

LucidPreviewVideoSdk.init("token", LogLevel.Error, 100)

Step 5: Prepare Preview Videos

Once the sdk is initialized, you can use LucidRequest to prepare the preview video information with the prepareVideo() API.

val request = LucidRequest(videoId, videoIndex)
LucidPreviewVideoSdk.prepareVideo(request, object: LucidPreviewVideoSdk.LucidPreviewListener{
    override fun onError(e: Exception) {
    }

    override fun onSuccess(video: LucidVideo) {
    }
})

Step 6: Use PreviewLayout

The PreviewLayout class is an UI component to display the preview video. Use setLucidVideo() API to prepare the preview content and use setPreviewPlayback() to start/stop playing preview.

private lateinit var titlePreview: PreviewLayout

titlePreview = view.findViewById(R.id.title_preview)
titlePreview.setLucidVideo(video)
titlePreview.setPreviewPlayback(true)

There are multiple attributes for PreviewLayout. You can configurate them either using xml or Java/Kotlin APIs.

loop: default true
mute: default false
gradient_border: default true

{"mode":"full","isActive":false}

here