Validating Your AdManagement SDK Integration

General Requirements

Prior to release, you must validate your App to ensure that it is integrated correctly with the AdManagement SDK. This is to make sure that:

  • the Yospace service is not being inadvertently overloaded
  • all analytic beacons are being correctly fired by the SDK

Yospace provides automated validation of your app by inspection of your App's trace log file output when running test cases listed below. There are mandatory, conditional and optional test cases:

  • mandatory - you must run the test case
  • conditional - you must run the test case unless your target platform does not support it
  • optional - you must run the test case if your App implements the feature

Validation - Step 1

Prior to running a test case, set the validation debug flag in the SDK by adding the following code before initialising the SDK:

Session.SessionProperties properties = new Session.SessionProperties();
[YOSessionProperties setDebugFlags:DEBUG_VALIDATION];

Additionally, depending on your target platform, you may need to redefine the following debug function:

export class Debugger {
   static print(msg) {
      // if required, change the line below to use your target's tracing capability to print the contents of msg

 Validation - Step 2

Run a test case listed below. At a minimum you do this for each of the mandatory test cases and for the conditional test cases that can be exercised by your App; you should also run any optional test case that your App supports.

 Validation - Step 3

Upload your App's trace log files from each test using this link.

The validation result is shown to you after the log is analysed and if successful you will receive a verification email.

If any test case fails, the reason for the possible failure is shown to you so that you can fix it independently. If you cannot fix the problem yourself then you should contact Yospace Support.

Test Cases

1. MANDATORY - Stream Startup and Playback through an Ad Break
  1. Begin playback of a Yospace SSAI-enabled stream. Ensure playback of the stream begins in content, not in an ad break.
  2. Wait until an an Ad Break completes then stop the stream.
2. MANDATORY - Stopping the stream

In cases where it is possible for the App or user to terminate playback we need to ensure that the session is correctly cleaned up.

  1. Begin playback of a Yospace SSAI-enabled stream. Ensure playback of the stream begins in content, not in an ad break.
  2. Stop the stream
2. MANDATORY - Switching Streams

In cases where a user may switch from one stream to another we need to ensure that the existing session is correctly cleaned up and that a new session is created for the new stream.

  1. Begin playback of a Yospace SSAI-enabled stream. Ensure playback of stream begins in content, not in an ad break.
  2. Switch channel
3. OPTIONAL - Interact with an Ad

This test case is dependent on your App's support for interaction features of an advert (clickthroughs, nonlinear overlays, full screen, mute, pause). If there is no support you may skip that test.

  1. click-through on the linear portion of the advert
  2. click-through on the nonlinear portion of the advert
  3. change the screen size to full screen and back again, or vice-versa
  4. mute and unmute the sound
  5. pause and resume the advert.

Note: Yospace does not support pause and resume in live because it can cause analytics to fail in several ways.

3. Backgrounding and Foregrounding

This test case is dependent on your App's target platform's support for backgrounding. Typically this applies to mobile devices but may extend to other platforms.

Yospace sessions will timeout after approximately 2 minutes if the stream manifest is not requested in that time. You must be mindful of this fact with respect to the behaviour of the player you are using when playback is stopped/paused especially in the case that an App is backgrounded.

Yospace recommend that the session is shutdown on backgrounding and a new session is started on foregrounding.

  1. Background the App
  2. After waiting for over 2 minutes bring the App back to the foreground