Google Ad Manager Adapter
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
platform :ios, '13.0'
pod 'BideaseSDK/AdapterGAM', '2.2.2'
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:
- Log in to your account at monetize.bidease.com
- Go to Applications
- Open the required application
- Copy the App Key

2.2. SDK Setup
Before initializing Google Mobile Ads, configure your Bidease app key:
- Swift
- Objective-C
import BideaseMobileSDK
import BideaseAdapterGAM
BideaseGAMMediationAdapter.setInitParams(
InitParams(
key: "YOUR_APP_KEY",
privacyParams: PrivacyConfig(/* see Privacy & Consent */),
customProps: ["ipv4": "203.0.113.17"]
)
)
In Objective-C, call one of the setInitParamsWithKey: overloads — the setInitParams: form that takes an InitParams object is not exported to Objective-C.
#import <BideaseAdapterGAM/BideaseAdapterGAM-Swift.h>
// Minimal — app key only
[BideaseGAMMediationAdapter setInitParamsWithKey:@"YOUR_APP_KEY"];
// App key + custom props
[BideaseGAMMediationAdapter setInitParamsWithKey:@"YOUR_APP_KEY"
customProps:@{ @"ipv4": @"203.0.113.17" }];
// Full privacy + custom props
[BideaseGAMMediationAdapter setInitParamsWithKey:@"YOUR_APP_KEY"
coppaEnabled:NO
subjectToGdpr:@YES
subjectToCoppa:@NO
usPrivacyString:@"1YNN"
gppString:nil
gppSid:@[ @7 ]
userConsentString:nil
subjectToLgpd:@NO
customProps:@{ @"ipv4": @"203.0.113.17" }];
YOUR_APP_KEY with the App Key from your Bidease Monetize dashboard.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:
- Swift
- Objective-C
import GoogleMobileAds
GADMobileAds.sharedInstance().start()
#import <GoogleMobileAds/GoogleMobileAds.h>
[[GADMobileAds sharedInstance] startWithCompletionHandler:nil];
The Bidease SDK initializes automatically when GAM triggers the mediation adapter — no separate initialization call is required.
3. Configure in Google Ad Manager
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
- Go to admanager.google.com and open Delivery → Yield groups
- Click New yield group
- 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
- Under Yield partners, click Add another yield partner
- Fill in:
| Field | Value |
|---|---|
| Yield partner | Other company |
| Integration type | Custom Event |
| Platform | iOS |
| Status | Active |
| Default CPM | Floor price of the placement, in USD (must match the value in Parameter) |
| Label | Free-form, e.g. Bidease Interstitial 10$ |
| Class Name | BideaseGAMMediationAdapter |
| Parameter | adformat_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. |
- Click Save
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.
4. Privacy & Consent
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(...).
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
)
| Field | Type | Description |
|---|---|---|
coppaEnabled | Bool? | Enable COPPA compliance |
subjectToGdpr | Bool? | Subject to GDPR |
subjectToCoppa | Bool? | Subject to COPPA |
usPrivacyString | String? | IAB US Privacy string (e.g. "1YNN") |
gppString | String? | IAB GPP consent string |
gppSid | [Int]? | GPP section IDs |
userConsentString | String? | IAB TCF consent string |
subjectToLgpd | Bool? | 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:
- In Xcode, select Info.plist in the Project navigator.
- Right-click Info.plist → Open As → Source Code.
- Copy the SKAdNetworkItems array from the file below and paste it into your Info.plist.
6. Test Mode
Option 1: Enable via Code
pod 'BideaseSDK/AdapterGAM', '2.2.2'
pod 'BideaseSDK/TestMode', '2.2.2'
Option 2: Enable via Dashboard
- Go to Applications and open the required app
- Navigate to Test Devices and add the devices you want to test on — use IDFA (iOS)
- Enable Test for the application
7. QA Checklist
- 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.