Integration with Omniture on Android

We have integrated the Ooyala SDK with Adobe Video Analytics' Heartbeat library. We call this integration the "Ooyala Adobe Analytics SDK."

This document uses an example application to show you how to integrate Ooyala Adobe Analytics SDK in an Android Studio project to capture and send native video app activity (user, usage, behavior, gestures, etc.) to Adobe servers for SiteCatalyst® reporting.

What You Need

To get started with Ooyala’s Omniture for Android SDK Integration, you need to download the following items:

As part of its capacity to capture analytics, Omniture draws from and provides information to the Adobe SiteCatalyst website. Before starting, you will also need to do the following:

  1. Have or get an account with login credentials for Adobe’s SiteCatalyst.
  2. Login to Adobe Marketing Cloud's Reports and Analytics site (previously, the Omniture SiteCatalyst site).
  3. Get the following information:
    • Report Suite ID
    • Tracking Server

      The following image shows sample tracking server information from SiteCatalyst.

Set Up Your Development Environment

  1. If needed, download and install both the Google Android Studio and Android SDK.
  2. Open and extract the contents of the Adobe Marketing Cloud VideoHeartbeat Library for Android .zip file to a folder.
  3. In Android Studio, open your project and link to the following files in the extracted folder:
    • VideoHeartbeatLibrary-android-v*/samples/BasicPlayerSample/libs/adobeMobileLibrary.jar
    • VideoHeartbeatLibrary-android-v*/samples/BasicPlayerSample/libs/VideoHearbeat.jar
  4. Open and extract the contents of the Ooyala Adobe Analytics SDK for Android file to a folder.
  5. In Android Studio, link to the OoyalaAdobeAnalyticsSDK-Android/OoyalaAdobeAnalyticsSDK.jar file.
  6. Open and extract the contents of the Ooyala Mobile SDK for Android file to a folder.
  7. In Android Studio, link to the OoyalaSDK-Android/OoyalaSDK.jar file.
  8. Download ADBMobileConfig.json from your Adobe account. Alternatively, you can use file in the the Ooyala Omniture Sample App (e.g., VideoHeartbeatLibrary-android-v*/samples/BasicPlayerSample/assets/ADBMobileConfig.json).
  9. In Android Studio, link to ADBMobileConfig.json file.
  10. In Android Studio, verify that the following properties in the ADBMobileConfig.json file contain the values you obtained from SiteCatalyst:
        "analytics" : {
            "rsids" : "sample-account",
            "server" : "",
        "marketingCloud": {
            "org": "sample-marketing-cloud-org-id"

Use the Android Sample App

To practice the integration process works and test whether it works, you can use the Ooyala Omniture Sample App for Android.

  1. Extract the Ooyala Omniture Sample App for Android file.
  2. Click File > Import.
  3. Go to Android > Existing Android Code into Workspace > Next.
  4. Set the “Root Directory” to the extracted OmnitureSampleAppActivity folder.
  5. Click Finish.
  6. In Android Studio, update the VideoHeartbeatLibrary-android-v*/samples/BasicPlayerSample/assets/ADBMobileConfig.json file as follows:
    "analytics" : {
         "rsids" : "ovppooyala",
         "server" : ""
    "marketingCloud": {
         "org": "2A5D3BC75244638C0A490D4D@AdobeOrg"
  7. Open the Players/ file and pdate the following variables as follows:
    final String HB_TRACKING_SERVER = "";
    final String HB_PUBLISHER = "ooyalatester";
    This file uses these two properties as shown in the following example. When the app starts, it creates an Adobe analytics session that starts capturing and sending data to the tracking server using a OoyalaAdobeHeartbeatConfiguration object:
    OoyalaAdobeHeartbeatConfiguration config = OoyalaAdobeHeartbeatConfiguration.builder()
    analyticsManager = new OoyalaAdobeAnalyticsManager(player,
         config, getApplicationContext());
  8. Build and run the sample app. If successful, you will be able to see the analytics on the Adobe Marketing Cloud's Reports and Analytics site (previously, the Omniture SiteCatalyst site).
  9. Use either Adobe Debug proxy or Charles proxy to detect data the apps sendiooss to the tracking server.


If you have any trouble with your build or build results:

  1. Check the SiteCatalyst web page to see if the analytics information is displaying properly.
  2. Review your logs to look for any potential issues.
  3. The Omniture code is developed by Adobe. If you find an issue with that code, you can consult the Adobe product documentation or support services.

Test Server Pings Using Adobe Debug Proxy

You can use the Adobe Debug dashboard to check if the pings from the sample app are reaching the Adobe server. To use the dashboard, follow it's Get Started instructions on how to install the Adobe debug proxy.

  1. Each time you want to record an HTTP listening session, click the New Report button on the dashboard.
  2. In the form that opens, name the report. Also select the Adobe Analytics and Video Heartbeats checkboxes. Don't edit the fields shown after selecting the checkboxes.
  3. Then, click Start Debug Report.
  4. When prompted, open the report page for the active session.
  5. When you stop the session, you won't be able to restart it in the same report. (Create a new report for each new session.)

Test Server Pings Using Charles Proxy

You can use the Charles Web Debugging Proxy Application instead of the Adobe Debug proxy. To download and install the Charles proxy, visit

If you run the sample app on the development system, the HTTP traffic from the sample app appears in Charles proxy.

If you run the sample app on a real Android device, follow these steps to configure the Android device to use the Charles proxy:

  1. Connect both the Android device and the development system running Charles proxy to the same local network. (Doing this makes network traffic from the device visible to the proxy on the development system.)
  2. Get the IP address of the development system that is running the Charles proxy.
  3. On the Android device, open Settings.
  4. Go to the Wi-Fi settings.
  5. Click the "info" icon for the network.
  6. In the network's advanced options change the following settings:
    • For HTTP Proxy, select Manual.
    • For Server, enter the IP address of the development system that runs Charles proxy.
    • For Port, enter the port number that Charles proxy uses. Unless you changed the default value, this port number is 8888.
  7. When you run the sample app on the Android device, the Charles proxy software shows the HTTP requests from the Android device.