Integrating the Conversant iOS SDK with MoPub

MoPub’s SDK now offers an adapter to integrate Conversant's SDK through the Custom Event feature. Below is a step-by-step guide for integrating the Conversant SDK with MoPub's mediation layer.


Two accounts are necessary to integrate Conversant with the MoPub mediation layer:

  • Conversant Developer Account: This account is initially configured when signing up with Conversant. Once created, it will be necessary to register an app under the Publisher Portal. To get started with Conversant, sign up here.
  • MoPub Account: To sign up for a MoPub account, visit their signup page here.

Platform Integrations

We offer step-by-step documentation for integrating the Greystripe iOS SDK with the MoPub platform through the use of our Custom Event adapters provided in each SDK download. Navigate to each perspective section by clicking on the links below. For general information on Mediation Layers or how to best utilize Greystripe with Mediation, please see our Mediation Layers page.

iOS Integration Guide

  1. Download the MoPub iOS SDK from the MoPub GitHub site:

  2. Integrate the SDK by following the documentation provided here by MoPub.

  3. Include the following frameworks to ensure proper functionality.

    • NOTE: The frameworks listed as “Optional” are still required by the SDK. Setting frameworks to "Optional" allows backward compatibility with versions of iOS that do not have that framework.

    iOS Framework Build Phase Setting iOS Developer Library Link
    AddressBook.framework Required AddressBook Reference
    AddressBookUI.framework Required AddressBookUI Reference
    AdSupport.framework Optional * AdSupport Reference
    AudioToolbox.framework Required AudioToolBox Reference
    AVFoundation.framework Required AVFoundation Reference
    CoreGraphics.framework Required CoreGraphics Reference
    CoreLocation.framework Required CoreLocation Reference
    CoreTelephony Required CoreTelephony Reference
    EventKit.framework Required EventKit Reference
    EventKitUI.framework Required EventKitUI Reference
    Foundation.framework Required Foundation Reference
    iAd.framework Required iAd Reference
    libGreystripeSDK.a Required File found in Greystripe SDK folder
    libsqlite3.dylib Required  
    libz.dylib Required  
    MediaPlayer.framework Required MediaPlayer Reference
    MessageUI.framework Required MessageUI Reference
    MobileCoreServices.framework Required MobileCoreServices Reference
    PassKit.framework Optional * PassKit Reference
    QuartzCore.framework Required QuartzCore Reference
    Security.framework Required Security Reference
    Social.framework Optional * Social Reference
    StoreKit.framework Optional * StoreKit Reference
    SystemConfiguration.framework Required SystemConfiguration Reference
    Twitter.framework Required Twitter Reference
    UIKit.framework Required UIKit Reference
  4. Once the SDK is successfully integrated, import the required Conversant SDK and Custom Event files into your project.

  5. Under your project’s Build Phases > Compile Sources, ensure that GreystripeBannerCustomEvent.m and GreystripeInterstitialCustomEvent.m are added.

  6. Following the steps provided by MoPub in the links, integrate your Banner and/or Interstitial ads.

Testing and Allocation

To test the integration, you should follow the standard testing process recommended by both Conversant and MoPub. Please see our Testing page for information on how Conversant recommends you test your SDK integration.

You'll also need to allocate traffic to any custom events. During testing, you should prioritize Conversant's custom events to ensure the adaptors are wired up properly, and ad display and click-through is working as expected.

Once you're ready to go live, you should review our Content and Approval process information. Apps which have not been approved by Conversant not receive paid campaigns, independent of approvals or go-aheads from MoPub. Please see our Approval Process page which explains the process.

Finally, take a moment to review our recommendations for making the most of Conversant through Mediation Layers. Small changes in how you allocate and prioritize networks can make a huge difference in your fill rates and revenue, and we provide some simple recommendations to help.

Reporting and Payment

Will my reported numbers match between MoPub and Conversant?

No. Conversant requires that our ad be rendered on screen to count as an impression. This means there are times when MoPub may get a success event from Conversant if a pre-cached ad is ready, and count an impression, but Conversant will not count that impression until the ad is rendered. Conversant counts impressions this way because we can only charge advertisers for ads that are displayed.

Additionally statistics aggregated by day may be based on another timezone, and so would not align with Conversant's daily stats, which use the Central timezone. These metrics are reported on the Conversant developer portal on a daily basis.

For purposes of payment and performance, Conversant's numbers are the definitive numbers and we do not pay or allocate traffic based on MoPub's numbers.

When, exactly, does Conversant count an impression?

We count an impression when an ad is rendered to the user's screen. Because we charge advertisers by the impression (rather than the click) we can only bill (and pay you) when the ad is actually seen by the audience user. Other networks and systems often count impressions when the ad, or ad tag, is downloaded to the device, because they pay for the click, and do not care if the "impression" is counted when the ad is downloaded, even if the user is never shown the ad.