Fast-Tracking Open Measurement SDK Compliance

In this blog post, we will cover how to successfully submit your mobile app to the IAB Tech Lab for Open Measurement SDK (OM SDK) compliance program and explain how to fast-track the certification process. The certification process typically takes 3-4 weeks, however, the timeline can be reduced or increased depending on the quality of the delivery of apps by an integrator.  

What is the OM SDK Certification?

The Open Measurement SDK (OM SDK) certification is the validation of an integration partner’s production-ready sample applications to ensure they are compatible with the measurement provider’s measurement tags. The certification verifies the proper implementation of OM SDK by validating against a set of well-defined test cases and results based on the expected output (OM signals) of the Open Measurement Interface Definition (OMID) API.

What the OM SDK Certification Is NOT

OM SDK certification is not a quality assurance process. All mobile apps should go through their own internal QA process, end-to-end testing, and regression testing prior to submitting them for official OM SDK certification. The higher the quality of the builds means there is less time spent on debugging and addressing issues during the compliance process.

Validation of Test Cases

All test cases used for compliance are made public and can be found in the OM SDK Compliance Guide. The compliance team validates all the test cases for each ad unit by verifying the OM signals are properly sent from the submitted apps by using Charles Proxy and filtering by the url query parameter “sendmessage”. All integrators should follow the same process and validate all the required OM signals prior to submitting for certification. This will ensure a smoother test cycle and reduce the number of issues found during certification. 

Getting Started – The Basics

Before submitting for compliance, all apps should be fully functional and as close to production ready as possible. The following steps should be followed to ensure a successful delivery:

  1. Ensure you have read the Onboarding Guide, which details everything about setting up your app for certification.
  2. Ensure you have read the Compliance Guide, which details everything about the compliance process and provides all the test cases used to validate the integration.
  3. Ensure the correct Partner Name is used. The Partner Name is the namespace name assigned when you generate the OM SDK build, which is based on the domain name (it cannot be anything else). If an additional and unique namespace is required, the namespace will be incremented numerically for each additional download, however, the first namespace assigned always matches the domain. For example, the namespaces for the IAB Tech Lab are Iabtechlab, Iabtechlab1, Iabtechlab2, Iabtechlab3, etc.
  4. Use the following values to test:

vendorUrl: “https://s3-us-west-2.amazonaws.com/omsdk-files/compliance-js/omid-validation-verification-script-v1.js “; 
vendorKey : “iabtechlab.com-omid”; 
params : “iabtechlab-<your partner name> “;

  1. Set up ads for the apps to use in certification. The compliance team will provide you with a Setup instructions guide to help setup your ads correctly. 
  2. Ensure the applications can be accessed outside the U.S. and ads can be displayed both inside and outside the US.  
    1. Provide any specific instructions to access the ads for each market (U.S. and Non-U.S.).
  3. Environment Details – Prepare any documentation necessary for access ads.  
    1. This includes specific userid/pwd combos, IP restrictions, UDIDs for enterprise access, etc.  

Setting up Android

Android 7 introduced some changes to the way certificates are handled: https://android-developers.googleblog.com/2016/07/changes-to-trusted-certificate.html

In order to submit for compliance, you need to add the configuration to your app in order to have it trust the SSL certificates generated by Charles SSL Proxying by adding the network_security_config to the XML manifest.

See Android Section in the following link: https://www.charlesproxy.com/documentation/using-charles/ssl-certificates/

Fast-Track the Compliance Process – How to Ensure Success

As mentioned above, the timeline of completing certification is dependent on the successful integration of the apps submitted for certification. Below are the top issues found during compliance testing causing apps to be sent back for resubmission. Eliminating these issues before submitting apps for certification will speed up the testing cycles and the overall compliance engagement.    

  1. Invalid Partner Name and Missing verificationParameters
    1. Partner Name does not match the company’s domain.  Example: companyabc.com has partnerName=company123
    2. verificationParameters=undefined.  This must be present for Native and Video ads.  Format should be verificationParameters=iabtechlab-<partnername>

Solution: The Partner Name must match the namespace when
downloading OM SDK from the IAB Tech Lab Tools Portal

  1. Invalid Ad Session / Creative Type 
    1. HTML Ad Session
    2. Valid Creative Types: HTML Display, Video, Audio
      1. Invalid Creative Types: Native Display
    3. JavaScript Ad Session
      1. Valid Creative Types: HTML Display, Video, Audio
      2. Invalid Creative Types: HTML Display
    4. Native Ad Session
      1. Valid Creative Types: Native Display Video, Audio
      2. Invalid Creative Types: HTML Display

Solution: Ad sessions must match the creative type as listed above.

  1. Top Missing events
    1. sessionStart – Required for OM SDK 1.2 and above 
    2. sessionFinish  – Required for OM SDK 1.2 and above 
    3. impressionType – Required for OM SDK 1.3 (e.g. beginToRender, viewable, etc.) 
    4. supportsLoadedEvent – Required for OM SDK 1.3 (e.g. supportsLoadedEvent=true)
    5. loaded – Required for OM SDK 1.3 
    6. creativeType – Required for OM SDK 1.3 (e.g. htmlDisplay, nativeDisplay, video, audio) 

Solution: All events are required for their respective media type

  1. Missing video player interaction and events 
    1. start, firstQuartile, midpoint, thirdQuartile, complete, pause, resume

Solution: All video events are required for playback

  1. Missing Click Events (Video Only)
    1. adUserInteraction (e.g. type=adUserInteraction ; interactionType=click)

Solution: All video ads should demonstrate a click event, which is
required for 100% viewability

  1. Missing Geometry Events
    1. Add fully in view percentageInView less than 100% 
    2. Scrolling: percentageInView values < 50  and > 50 and < 100 not present 
    3. Obstructions and backgrounded events not present

Solution:  All apps need to provide scrolling examples unless not
supported by the app.  All SDKs must provide scrolling examples for
each ad format.  Obstruction and background events are required.

  1. Geometry Creative Measurement
    1. Creative measurement is now required for HTML Video as of OM SDK 1.3.  

Solution:  The signals containerGeometry and
onScreenContainerGeometry must be present

  1. Geometry Friendly Obstructions 
    1. Any views that overlay the ad, but do not block viewability (e.g. video controls, close button, etc.) should be declared as friendly obstructions. 

Example:

“friendlyObstructions[{“x”:339.4285583496094,”y”:200,”width”:56,”height”:28,”obstructionClass”:”android.support.design.widget.FloatingActionButton”,”obstructionPurpose”:”OTHER”}

Solution:  If applicable, declare the number of friendlyObstructions and
reasons in the geometry signals.  

  1. Invalid volume events
    1. mediaPlayerVolume and deviceVolume should not be the same if there is no player volume control
    2. Any players that do not support volume controls must set the value to 1
    3. If mute/unmuted is supported, the values should be 0 (muted) and 1 (unmuted)

Solution:  Both media player and device volume events are required and
should be separate values

  1. Verification Script  
    1. No signals are sent to the compliance url usually occurs if the incorrect verification script is used.
    2. 3rd party measurement tags from measurement providers are used – These are not supported for compliance testing.  

Solution:  The IAB Tech Lab uses its own verification script for
compliance.  This must be present to successfully test all the signals
during certification.

Summary

By eliminating common issues and ensuring all OM signals are correct, the turnaround for certification will be shorter and will help you meet product release timelines. Doing some pre-checking will also make Tech Lab’s small but busy compliance team happy…and we all know that’s important!


ABOUT THE AUTHOR

Jarrett Wold
Director, Compliance Programs
IAB Tech Lab