viscovery-ad-sdk-android

Get Started

This guide shows you how to integrate VidSense SDK into your video player app. You can also download the sample video player app from GitHub, and test video ads while playing the app’s content video.

Prerequisites

Before you begin, you’ll need the following:

Add VidSense SDK to your video player app

  1. Copy VidSense SDK to your project folder.

  2. Add the following to your settings.gradle:

include ':app', ':ad'
  1. Add the following to your application-level build.gradle file:
dependencies {
    ...
    compile project(':ad')
}

Implement VidSense player interface

  1. Implement interface methods in your video player:
...
import com.viscovery.ad.AdSdkManager.AdSdkPlayer;

public class VideoPlayer extends VideoView implements AdSdkPlayer {
    ...
    @Override
    public void setVideoPath(String path) {
        // your implementation
    }

    @Override
    public void pause() {
        // your implementation
    }

    @Override
    public void resume() {
        // your implementation
    }

    @Override
    public int getCurrentPosition() {
        // your implementation
    }

    @Override
    public int getDuration() {
        // your implementation
    }
}

Setup VidSense manager

  1. Prepare a container view to render VidSense content
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <com.viscovery.player.VideoPlayer
            android:id="@+id/player"
            android:layout_centerInParent="true"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

        <FrameLayout
            android:id="@+id/container"
            android:layout_alignLeft="@id/player"
            android:layout_alignTop="@id/player"
            android:layout_alignRight="@id/player"
            android:layout_alignBottom="@id/player"
            android:layout_width="0dp"
            android:layout_height="0dp" />

    </RelativeLayout>

    <FrameLayout
        android:id="@+id/outstream"
        android:background="@android:color/darker_gray"
        android:layout_width="match_parent"
        android:layout_height="@dimen/outstream_height" />

</LinearLayout>
  1. Initialize VidSense manager with your API key (sample API key below):
...
import com.viscovery.ad.AdSdkManager;

public class MainActivity extends AppCompatActivity {
    ...
    private static final String API_KEY = "89494098-2877-38f8-b424-369ab8de602";

    ...
    private AdSdkManager mAdSdkManager;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);
        final String path = getString(R.string.video_url);
        final ViewGroup container = (ViewGroup) findViewById(R.id.container);
        final ViewGroup outstream = (ViewGroup) findViewById(R.id.outstream);
        mController = new MediaController(this, false);
        mController.setAnchorView(container);
        mPlayer = (VideoPlayer) findViewById(R.id.player);
        mPlayer.setMediaController(mController);
        mPlayer.setOnPreparedListener(this);
        mPlayer.setOnInfoListener(this);
        mAdSdkManager = new AdSdkManager(this, container, mPlayer, API_KEY);
        /*
         * You can use following code instead to test with mock ads:
         * mAdSdkManager = new AdSdkManager(this, container, mPlayer, API_KEY, true);
         */
        mAdSdkManager.setOutstreamContainer(outstream);
        mAdSdkManager.setVideoPath(path);
    }
}
  1. Start VidSense manager on video player start:
...
import android.media.MediaPlayer.OnInfoListener;

public class MainActivity extends AppCompatActivity implements OnInfoListener {
    ...
    @Override
    public boolean onInfo(MediaPlayer mp, int what, int extra) {
        switch (what) {
            case MediaPlayer.MEDIA_INFO_VIDEO_RENDERING_START:
                mAdSdkManager.start();
                break;
            default:
                break;
        }
        return false;
    }
}

Download and run the sample video player app

  1. Download the sample video player app from GitHub.
  2. Start Android Studio and select Open an existing Android Studio project, or if Android Studio is already running, select File > New > Import Project. Then choose viscovery-ad-sdk-android/build.gradle.
  3. Run a Gradle sync by selecting Tools > Android > Sync Project with Gradle Files.
  4. Ensure that the player app compiles and runs on a physical Android device or an Android Virtual Device using Run > Run ‘app’. It’s normal for the content video to take a few moments to load before playing.