Follow

Integrate AerServ in Tapjoy Unity SDK

AerServ Mediation Overview

The following diagram illustrates the interaction between LTV Platform services, Tapjoy’s AerServ Adaptor, the AerServ SDK and adaptors / SDKs of optional video demand sources:

 

 

Required Software 
Tapjoy SDK:   Unity 
AerServ SDK:  Unity  
Adapter Code:  Unity 

 

Prerequisites

These instructions assume you have ALREADY done the following:

AerServ Platform Mediation requires Tapjoy’s SDK 11.4 or higher.
  1. Aerserv Account Setup 
  2. Tapjoy Account Setup
  3. Download Tapjoy SDKs (Unity)
  4. AerServ SDK (Unity).
  5. Integrate Adapter (Unity)
  6. Set up a placement and content unit in the Tapjoy dashboard and in your application:
    1. Setting up placements in the dashboard
    2. Connect a content unit to that placement.
    3. Call the placement from Unity application’s code
  7. Test to make sure you can see Tapjoy content from your application.

 

Step 1: Unity Project Setup

A. Import Unity Plugin

  1. Right click on the Asset folder
  2. Select Import Package
  3. Choose Custom Package
  4. AerServ Unity Plugin file directory: Aerserv-unity-plugin-1.x.x/lib/aerserv-unity-plugin-1.1.0.unitypackage
  5. Select Open
 

 

B. Adding Meditation Adapters

Unity

  1. Add the AerServ Android library (aerserv-sdk.jar) to your project’s /Assets/Plugins/Android/bin folder.
  2. Add the AerServ iOS library (AerServSDK.framework) to your project’s /Assets/Plugins/iOS folder.
  3. On iOs, after building your xcodeproj from Unity, you will need to add -ObjC to “Other Linker Flags” under “Build Settings.”
  4. On iOS, add libxml2.2.dylib under “Build Phases” → “Link Binary With Libraries.”
  5. After downloading and unzipping the Unity Tapjoy SDK, open your project in Unity and go to Assets → Import Package → Custom Package…, select the tapjoy-aerserv.unitypackage file located at /ThirdPartySupport/aerserv, and click “Import.”
  6. On Android, you will need to add the following activities to the manifest.xml:
    <!-- Required Activity -->
    <activity android:name="com.aerserv.sdk.view.ASVastInterstitialActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
    <activity android:name="com.aerserv.sdk.view.ASWebviewInterstitialActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
    <activity android:name="com.aerserv.sdk.view.ASVpaidInterstitalActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
  7. AerServSDK (Init method *Recommended) 

    This method is recommended if you are planning to use Adcolony, Vungle, Chartboost, Unity, Applovin SDK Mediation as it will improve ads delivery. 

    1. SDK.InitSdk("SITEID");
    2. Add this line of code to Init AerServ SDK your SITE ID
    3. To locate your site ID - Click  Inventory Tab - Edit App - Look for APP ID

 

Step 2: AerServ Dashboard Setup: Add Tapjoy

To add Tapjoy to your AerServ waterfall, follow the instructions for adding an Ad Source on the AerServ dashboard. Make sure to prioritize the Tapjoy source at the top when testing Tapjoy.

Add the placement name you’re using on the Tapjoy dashboard as a publisher-specific parameter.

A. Adding an Ad Source

  1. Click the Ad Sources tab
  2. Click the + button to add an ad source

 

B. Fill in the Tapjoy Ad Source Details

  1. Enter a Name for the ad source (example: Tapjoy Android Interstitial)
  2. Select Tapjoy in the dropdown box
  3. Enter Tapjoy Placement Name (example: aerserv_config_video 
  4. Enter in the estimated CPM
  5. Select the Payment Terms
  6. Set Placement 
  7. Select Countries targeting (optional)
  8. Select Device targeting (optional)
  9. Click Save

 

C. How to locate your Tapjoy Placement ID:

  1. Click "Monetize" in the left menu bar
  2. Click the White "Manage Placement" button in the upper right corner of the dashboard.
  3. Select the Tapjoy Placement Name 

 

Step 3: Tapjoy dashboard Setup

A. Link your AerServ and Tapjoy Accounts and Applications

PLEASE NOTE: Tapjoy-AerServ account linking is strictly one-to-one: a single Tapjoy account links to a single AerServ account. It is not possible to link multiple Tapjoy accounts to a single AerServ account or vice-versa.

  1. Link your AerServ account to your Tapjoy account. From the Tapjoy dashboard, go to App Settings → Content → Mediation. Select “AerServ” as the Mediation Provider. Give the configuration a name of your choosing. Click Save:
  2. An “Authentication Status” section will appear. Click the “Login” button.
  3. Next you will see the AerServ login page. Enter your AerServ account credentials and click "Login."
  4. On the following confirmation page, be sure to select "Approve," then click "Submit":
  5. You will be redirected back to the Tapjoy App Settings page. Your accounts are now linked. Use the dropdown menus to select the AerServ app that corresponds to your current Tapjoy iOS and/or Android Tapjoy app. (If your Tapjoy app is only on a single platform, you can leave the other platform blank.)

 

Create a Mediated Content Card on the Tapjoy dashboard

  1. On the Tapjoy Dashboard, Go to "Monetize," then click the "Create Content" button in the upper right.
  2. Scroll down the list of content types until you get to Mediated Auto Play Video (also called "Direct Play") or Mediated Display Ad (also called "FSI"). Select the appropriate content card and click the "AerServ" button:
  3. Fill out the resulting Content Card creation form. Be sure to select the Tapjoy placement at which you want the AerServ Mediated content to appear:
  4. In the "Network Settings" section, select the AerServ placement you want this Mediated Content Card to call from the dropdown menu:
  5. Click the green "Save" button on the bottom left:

Prioritize the Mediated Content Card on the Tapjoy dashboard

  1. Prioritize the Mediated Content Card you just created relative to the other Content Cards at that Tapjoy Placement. On the Tapjoy Dashboard, go to "Monetize," "Manage Placements":
  2. Drag the Mediated Content Card you just created up and down the placement to prioritize it. Content Cards on top of the stack are checked first:
  3.  By calling the Tapjoy placement from your application’s code, you should be getting AerServ mediated content (which may include Tapjoy content).

 

Prioritize the Mediated Content Card on the Tapjoy dashboard

  1. Prioritize the Mediated Content Card you just created relative to the other Content Cards at that Tapjoy Placement. On the Tapjoy Dashboard, go to "Monetize," "Manage Placements":
  2. Drag the Mediated Content Card you just created up and down the placement to prioritize it. Content Cards on top of the stack are checked first:
  3.  By calling the Tapjoy placement from your application’s code, you should be getting AerServ mediated content (which may include Tapjoy content).

Step 4: Adding Additional Mediation Networks

Instructions on the adding Additional Ad sources on AerServ dashboard

List AerServ Partners 

Here’s a list of SDK Mediation partners:

 

Android

For Android, you will have to add activities to your Manifest for each network you add to your Mediation:

<!-- AdColony -->
<activity android:name="com.jirbo.adcolony.AdColonyOverlay"
    android:configChanges="keyboardHidden|orientation|screenSize"
    android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />
<activity android:name="com.jirbo.adcolony.AdColonyFullscreen"
    android:configChanges="keyboardHidden|orientation|screenSize"
    android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" />
<activity android:name="com.jirbo.adcolony.AdColonyBrowser"
    android:configChanges="keyboardHidden|orientation|screenSize"
    android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" />

<!-- AdMob -->
<activity android:name="com.google.android.gms.ads.AdActivity"
    android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />

<!-- Vungle -->
<activity
    android:name="com.vungle.publisher.FullScreenAdActivity"
    android:configChanges="keyboardHidden|orientation|screenSize"
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
    />

<service android:name="com.vungle.publisher.VungleService" android:exported="false"/>

<!-- Facebook -->
<activity android:name="com.facebook.ads.InterstitialAdActivity"
    android:configChanges="keyboardHidden|orientation|screenSize" />

<!-- AppLovin -->
<activity android:name="com.applovin.adview.AppLovinInterstitialActivity" />
<activity android:name="com.applovin.adview.AppLovinConfirmationActivity" />

<!-- Unity -->
<activity
    android:name="com.unity3d.ads.android.view.UnityAdsFullscreenActivity"
    android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
    android:hardwareAccelerated="true" />

<!-- MoPub -->
<activity android:name="com.mopub.mobileads.MoPubActivity" android:configChanges="keyboardHidden|orientation|screenSize|smallestScreenSize"/>
<activity android:name="com.mopub.mobileads.MraidActivity" android:configChanges="keyboardHidden|orientation|screenSize|smallestScreenSize"/>
<activity android:name="com.mopub.common.MoPubBrowser" android:configChanges="keyboardHidden|orientation|screenSize|smallestScreenSize"/>
<activity android:name="com.mopub.mobileads.MraidVideoPlayerActivity" android:configChanges="keyboardHidden|orientation|screenSize|smallestScreenSize"/>

<!-- Flurry -->
<activity
    android:name="com.flurry.android.FlurryFullscreenTakeoverActivity"
    android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize">
</activity>

 

Step 5: Configure Rewards and Virtual Currency


Unity

// itemId = currency name
// quantity = amount to reward
TJPlacement.OnRewardRequest += HandleOnRewardRequest;
void HandleOnRewardRequest(TJPlacement placement, TJActionRequest request, string itemId, int quantity);

 

Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request

Comments