Google AdX Integration using adapter

Overview

AdX Adapter is used to integrate Google AdX with the Taboola SDK . It uses a separate adapter package that integrates with Google Mobile Ads SDK, providing enhanced functionality and tighter integration.

Your Taboola Account Manager will assist you with AdX integration.

🚧

Basic requirements

Before you start, make sure that you meet the basic requirements:

  1. You are using iOS Classic as your integration method.
  2. You are using Taboola SDK 4.1.12 or higher.
  3. You have updated app-ads.txt appropriately for the Google AdX integration.
  4. Your Taboola Account Manager has instructed you to go ahead with the Taboola SDK integration.
  5. Your app's minimum deployment target is iOS 12.0 or higher.

Need a hand? Please reach out to your Taboola Account Manager.

First steps

Go through the setup instructions for First Steps. When you get to the section 'Add the skAdNetwork ID for Taboola', continue below.

Install TaboolaSDK AdX adapter

Install the TaboolaSDK AdX adapter, using a dependency manager of your choice.

Option I: SPM (Swift Package Manager)

  1. In Xcode, select your Project and go to Package Dependencies. Click + to add new.
  2. A modal dialogue displays:
    1. In the search box (top, right), paste in this URL: https://github.com/taboola/ios-adx.git.

      Information about the Taboola SDK AdX Adapter package is shown.

    2. Tip: Using the dropdown provided (top), add a dependency rule - e.g. Up To Next Major Version.
    3. Click on 'Add Package' (bottom, right).

      The package tree displays in the Project navigator pane, under Package Dependencies.

Option II: CocoaPods

Given that you already have TaboolaSDK integrated, edit your Podfile and add TaboolaSDK-AdX:

target 'DemoProject' do
  ...
  # Taboola SDK
  pod 'TaboolaSDK'
  pod 'TaboolaSDK-AdX'

end
🚧

Important

TaboolaSDK AdX Adapter requires Google-Mobile-Ads-SDK and uses it as a dependency.

Different versions of TaboolaSDK AdX Adapter have different dependence on Google-Mobile-Ads-SDK:

  • TaboolaSDK AdX Adapter v1.2 uses Google-Mobile-Ads-SDK 12.x version
  • TaboolaSDK AdX Adapter v1.3 uses Google-Mobile-Ads-SDK 13.x version

Do not embed Google Mobile Ads SDK manually inside the project or inside other frameworks aside from CocoaPods.

Enable AdX Adapter

In your AppDelegate class, after you call Taboola.initWithPublisherInfo(), set the global extra property to enable the AdX Adapter:

#import <TaboolaSDK/TaboolaSDK.h>

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    ...
    [Taboola initWithPublisherInfo:publisherInfo];
    // Enable AdX adapter
    [Taboola setGlobalExtraProperties:@{@"enableAdx":@"true"}];
    ...
}
import TaboolaSDK

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    ...
    Taboola.initWith(publisherInfo)
    // Enable AdX adapter
    Taboola.setGlobalExtraProperties(["enableAdx":"true"])
    ...
}

Info.plist

Add the following entries to Info.plist.

GADIntegrationManager key

Add the following key to Info.plist:

<key>GADIntegrationManager</key>  
<string>webview</string>

SKAdNetworkIndetifier keys

Add 50 SKAdNetworkIdentifier keys to the SKAdNetworkItems array:

  • 1 key for the Taboola skAdNetwork ID
  • 49 additional keys for Google AdX

The following snippet shows the complete array of SKAdNetworkItems - including the skAdNetwork ID (which is part of the regular integration).

Copy the following snippet to add all required keys to Info.plist:

`Info.plist` snippet
<key>SKAdNetworkItems</key>
<array>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>p4ybsjem3u.skadnetwork</string>
  </dict>
  <dict> 
    <key>SKAdNetworkIdentifier</key> 
    <string>cstr6suwn9.skadnetwork</string> 
  </dict> 
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>4fzdc2evr5.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>2fnua5tdw4.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>ydx93a7ass.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>p78axxw29g.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>v72qych5uu.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>ludvb6z3bs.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>cp8zw746q7.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>3sh42y64q3.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>c6k4g5qg8m.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>s39g8k73mm.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>3qy4746246.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>f38h382jlk.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>hs6bdukanm.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>mlmmfzh3r3.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>v4nxqhlyqp.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>wzmmz9fp6w.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>su67r6k2v3.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>yclnxrl5pm.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>t38b2kh725.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>7ug5zh24hu.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>gta9lk7p23.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>vutu7akeur.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>y5ghdn5j9k.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>v9wttpbfk9.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>n38lu8286q.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>47vhws6wlr.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>kbd757ywx3.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>9t245vhmpl.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>a2p9lx4jpn.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>22mmun2rn5.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>44jx6755aq.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>k674qkevps.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>4468km3ulz.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>2u9pt9hc89.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>8s468mfl3y.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>klf5c3l5u5.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>ppxm28t8ap.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>kbmxgpxpgc.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>uw77j35x4d.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>578prtvx9j.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>4dzt52r2t5.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>tl55sbb4fm.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>c3frkrj4fj.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>e5fvkxwrpn.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>8c4e2ghe7u.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>3rd42ekr43.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>97r2b46745.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>3qcr597p9d.skadnetwork</string>
  </dict>
</array>

Click handling

🚧

The following step is NOT required if you're using Taboola SDK 4.1.16 or higher.

In order to properly handle clicks for AdX recommendations, you must enable the following extra property after creating TBLClassicPage and TBLClassicUnit instances:

// After creating `TBLClassicPage` and `TBLClassicUnit` instances:
self.classicUnit.extraProperties = ["openMLUncaughtClicksInCCTab": "true"]
// After creating `TBLClassicPage` and `TBLClassicUnit` instances:
self.classicUnit.extraProperties = @{@"openMLUncaughtClicksInCCTab": @"true"};

See: Basic Integration > Build Taboola content instances



Did this page help you?