Skip to main content

Google Ad Manager Adapter

Integrate with AI ·Copy a step-by-step prompt for Claude Code, Cursor, Copilot, or ChatGPT.

Before You Begin

Ensure you have an active publisher account on the Bidease Monetize platform.

The GAM adapter ships as a separate subspec — add just BideaseSDK/AdapterGAM and the Bidease mediation framework it needs comes along automatically. It works on top of the Google Mobile Ads SDK.

Prerequisites:

  • Minimum deployment target: iOS 13.0
  • Minimal Xcode version: 16.4
  • Minimal Google Mobile Ads SDK version: 12

1. Installation

Podfile
platform :ios, '13.0'

pod 'BideaseSDK/AdapterGAM', '2.2.2'
warning

Always use the latest available SDK version from Bidease.

2. Initialization

2.1. Getting your App Key

Your App Key is available in the Bidease Monetize dashboard:

  1. Log in to your account at monetize.bidease.com
  2. Go to Applications
  3. Open the required application
  4. Copy the App Key

App Key location in the Monetize dashboard

2.2. SDK Setup

Before initializing Google Mobile Ads, configure your Bidease app key:

import BideaseMobileSDK
import BideaseAdapterGAM

BideaseGAMMediationAdapter.setInitParams(
InitParams(
key: "YOUR_APP_KEY",
privacyParams: PrivacyConfig(/* see Privacy & Consent */),
customProps: ["ipv4": "203.0.113.17"]
)
)
warning
Replace YOUR_APP_KEY with the App Key from your Bidease Monetize dashboard.
note

Only the app key is required. In Swift use BideaseGAMMediationAdapter.setInitParams(InitParams(key: "YOUR_APP_KEY")); in Objective-C use [BideaseGAMMediationAdapter setInitParamsWithKey:@"YOUR_APP_KEY"].

Then initialize Google Mobile Ads:

import GoogleMobileAds

GADMobileAds.sharedInstance().start()

The Bidease SDK initializes automatically when GAM triggers the mediation adapter — no separate initialization call is required.

3. Configure in Google Ad Manager

note

Before setting up yield partners in GAM, make sure your app and placements are registered in the Bidease dashboard. The placement ID you enter into the yield partner Parameter field must exactly match a placement name registered with Bidease.

For a full overview of GAM Custom Events, see the Google Ad Manager Custom Events documentation.

3.1. Create a yield group

  1. Go to admanager.google.com and open DeliveryYield groups
  2. Click New yield group
  3. Set the Name, Ad format (Banner, Interstitial, or Rewarded), Inventory type (Mobile app), and add the relevant Ad units

3.2. Add Bidease as a yield partner

  1. Under Yield partners, click Add another yield partner
  2. Fill in:
FieldValue
Yield partnerOther company
Integration typeCustom Event
PlatformiOS
StatusActive
Default CPMFloor price of the placement, in USD (must match the value in Parameter)
LabelFree-form, e.g. Bidease Interstitial 10$
Class NameBideaseGAMMediationAdapter
Parameteradformat_ecpm_X.X — where adformat is banner, interstitial, or rewarded and X.X is the floor price (e.g., interstitial_ecpm_10.0). Must match a placement registered in the Bidease dashboard.
  1. Click Save
tip

Create multiple yield partners at distinct Default CPM tiers (e.g., interstitial_ecpm_1.0, interstitial_ecpm_5.0, interstitial_ecpm_10.0) to optimize waterfall performance.

Privacy signals and custom props are passed to the Bidease SDK via InitParams at initialization. Set them when you initialize the SDK, or update them at runtime via BideaseMobile.setPrivacyParams(...) / setCustomProps(...).

COPPA

Not for child-directed traffic. Bidease does not purchase or monetize traffic from applications directed to children or to individuals under the age of 13. Publishers are solely responsible for identifying child-directed inventory under COPPA and other applicable laws and must not integrate the Bidease SDK into, or send any traffic or personal data from, such inventory.

import BideaseMobileSDK

let privacyParams = PrivacyConfig(
coppaEnabled: false,
subjectToGdpr: true,
subjectToCoppa: false,
usPrivacyString: "1YNN",
gppString: "DBACNYA~CPXxRfAPXxRfAAfKABENB-CgAAAAAAAAAAYgAAAAAAAA~1YNN",
gppSid: [2, 6],
userConsentString: "CPXxRfAPXxRfAAfKABENB-CgAAAAAAAAAAYgAAAAAAAA",
subjectToLgpd: true
)
FieldTypeDescription
coppaEnabledBool?Enable COPPA compliance
subjectToGdprBool?Subject to GDPR
subjectToCoppaBool?Subject to COPPA
usPrivacyStringString?IAB US Privacy string (e.g. "1YNN")
gppStringString?IAB GPP consent string
gppSid[Int]?GPP section IDs
userConsentStringString?IAB TCF consent string
subjectToLgpdBool?Subject to Brazilian LGPD

5. SKAdNetwork IDs

The Bidease SDK supports SKAdNetwork so partner networks can attribute installs when IDFA is unavailable. Add the SKAdNetworkItems entry to your Info.plist:

  1. In Xcode, select Info.plist in the Project navigator.
  2. Right-click Info.plist → Open As → Source Code.
  3. Copy the SKAdNetworkItems array from the file below and paste it into your Info.plist.
Download SKAdNetworkItems.plistApple SKAdNetwork IDs

6. Test Mode

Option 1: Enable via Code

Podfile
pod 'BideaseSDK/AdapterGAM', '2.2.2'
pod 'BideaseSDK/TestMode', '2.2.2'

Option 2: Enable via Dashboard

  1. Go to Applications and open the required app
  2. Navigate to Test Devices and add the devices you want to test on — use IDFA (iOS)
  3. Enable Test for the application

7. QA Checklist

Read before shipping
  • Test Mode provides nearly 100% fill — expected behavior for QA only.
  • Disable Test Mode before submitting your app to the App Store.
  • Ensure IDFA tracking is enabled on your test device so the Bidease team can review logs.
  • If you run into any issues, contact your Bidease account manager.