Offerwall with Mediation

1. Overview

It is possible to use Tapjoy specific features (such as our Offerwall) while also taking advantage of video through a mediator.

In most cases you can simply import the Tapjoy framework into your class (so you can access our API's directly) and then follow our standard integration instructions to load and show a placement containing Offerwall.

Some mediators bundle the Tapjoy SDK in their adapter preventing you from easily accessing the Tapjoy API's directly. You can find instructions below on how to access Offerwall in those instances. There are also some network specific notes below that you should read over to make sure your integration works correctly.

2. Network Specific Steps

Mediator SDKs will not necessarily initialize the Tapjoy SDK

If Tapjoy is in a lower position in the waterfall or has been turned off in the mediator dashboard, the mediator SDK might not make the Tapjoy connect call. You should make sure that the Tapjoy SDK is connected before making Tapjoy calls. You can use the Tapjoy.isConnected helper function to determine if Tapjoy is connected, and make the Tapjoy connect call yourself if needed.

Please note that you should set the Publisher User ID both when initializing mediator SDK and when initializing the Tapjoy SDK (with the connect call). Be sure to use the same Publisher User ID in both cases so that the rewards go to the same user. This is the case whether you are using Tapjoy Managed Currency or Self-Managed Currency.

A. Digital Turbine

Digital Turbine Dashboard Settings

Digital Turbine's dashboard has a Hybrid Interstitial Controls setting. This should remain OFF for Tapjoy interstitials to function properly. If it is on, Tapjoy will not be called for interstitials.

3. Unity Specific Steps

If you are developing an app in Unity there are some additional steps necessary to be able to access Tapjoy SDK API's from your Unity code.

A. Mediator Setup

Follow the steps in your mediator's documentation to setup the mediator SDK and the mediator's Tapjoy adapter.

B. Tapjoy Unity Plugin

To be able to access Tapjoy SDK API's you will need the Tapjoy Unity bridging code which is part of the Tapjoy Unity Plugin.

The Tapjoy Unity Plugin uses the Exteneral Dependency Manager to install a copy of the Tapjoy iOS SDK nad includes a copy of the Tapjoy Android SDK. As your mediator integration will also include the Tapjoy SDK we do not want to include it again.

  1. Import the Tapjoy Unity Plugin (Assets > Import Package > Custom Package)

  2. If you are using v12.8.0 deselect tapjoyconnectlibrary.jar

  3. If you are using v12.8.0 delete the TJPluginDependencies file in /Assets/Tapjoy/Editor.

  4. If you are using v12.8.1 or above modify the TJPluginDependencies file in /Assets/Tapjoy/Editor as follows:

<dependencies>
<androidPackages>
    <repositories>
      <repository>https://sdk.tapjoy.com</repository>
    </repositories>
    <androidPackage spec="com.tapjoy:tapjoy-android-unitybridge:12.8.1@aar"/>
  </androidPackages>
</dependencies>

This change will prevent Tapjoy downloading our SDK via Cocoapods. It will also ensure you only get the Tapjoy Android bridging code via Maven and not the entire SDK. Your mediator will include copies of our SDK and this change prevents duplicate copies.

Tapjoy SDK < 12.8.0

If you are using a version of the Tapjoy SDK older than 12.8.0 the process is slightly different as it does not use the External Dependency Manager. These versions of the Tapjoy Unity Plugin include a copy of the iOS and Android SDK's.

  1. Import the Tapjoy Unity Plugin (Assets > Import Package > Custom Package)

  2. Deselect tapjoyconnectlibrary.jar and Tapjoy.framework