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 requirementsBefore you start, make sure that you meet the basic requirements:
- You are using iOS Classic as your integration method.
- You are using Taboola SDK
4.1.12or higher.- You have updated app-ads.txt appropriately for the Google AdX integration.
- Your Taboola Account Manager has instructed you to go ahead with the Taboola SDK integration.
- 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)
- In Xcode, select your Project and go to
Package Dependencies. Click+to add new. - A modal dialogue displays:
- 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.
- Tip: Using the dropdown provided (top), add a dependency rule - e.g.
Up To Next Major Version. - Click on 'Add Package' (bottom, right).
The package tree displays in the Project navigator pane, under
Package Dependencies.
- In the search box (top, right), paste in this URL:
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
ImportantTaboolaSDK AdX Adapter requires
Google-Mobile-Ads-SDKand 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-SDK12.x version- TaboolaSDK AdX Adapter v1.3 uses
Google-Mobile-Ads-SDK13.x versionDo 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
Info.plistAdd the following entries to Info.plist.
GADIntegrationManager key
GADIntegrationManager keyAdd the following key to Info.plist:
<key>GADIntegrationManager</key>
<string>webview</string>SKAdNetworkIndetifier keys
SKAdNetworkIndetifier keysAdd 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
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
Updated about 5 hours ago
