iOS SDK Integration
Integrating the SDK
Cocoapods
The easiest way to integrate the SDK to your iOS project is to use CocoaPods.
Step 1: Simply open your project's Podfile and add a new source to the top:
source 'https://github.com/empowernet/specs.git'
Step 2: Add the pod to your app's target block. use_frameworks! is required — the SDK ships
as a Swift binary framework and the mediation adapters need it:
target 'YOUR_PROJECT_NAME' do
use_frameworks!
pod 'EmpowerMobileAds', '9.6.14' # use the latest released version — see the changelog
end
Current vs. legacy build. Every release ships in two flavors that are functionally identical and differ only in the bundled Google Mobile Ads (GAM) version:
- Current (default, e.g.
9.6.14) — tracks the latest Google Mobile Ads SDK (13.x).- Legacy (e.g.
9.6.14-legacy) — stays on an older, stable Google Mobile Ads version (12.x). Use it if your project needs to stay on the older GAM — for example an older toolchain, or another dependency pinned to Google Mobile Ads 12.pod 'EmpowerMobileAds', '9.6.14-legacy' # older, stable Google Mobile Ads (12.x)
Step 3: Run the following command from the command line to install the dependencies:
pod install --repo-update
If you're new to CocoaPods, please refer to their official documentation for more information on getting started with it.
Update your Build Settings
Add $(inherited) line to your Other Linker Flags section in Build Settings.
Target -> Build Settings -> Other Linker Flags
Update your Info.plist
Declare that your app is an AdManager app by adding a key named GADApplicationIdentifier with the string value which will be provided by us to your app's Info.plist file.
You may also make this change manually by adding the following lines to Info.plist:
<key>GADApplicationIdentifier</key>
<string>ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy</string>
Configure SKAdNetwork
SKAdNetwork is how ad networks attribute installs on iOS without tracking the user. If your
Info.plist doesn't list a network's SKAdNetwork ID, that network can't attribute conversions —
which directly lowers your fill and revenue. This step is required for production.
Add an SKAdNetworkItems array to your Info.plist, with one SKAdNetworkIdentifier entry per
network:
<key>SKAdNetworkItems</key>
<array>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>cstr6suwn9.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>4fzdc2evr5.skadnetwork</string>
</dict>
<!-- …add the full list here -->
</array>
Ask Empower for the current SKAdNetwork ID list to add here, and review it whenever you enable a new demand network.
Importing the SDK
In order to be able to use the Empower Mobile Ads SDK, you must import it where necessary.
Projects using Swift
Please add the following line to the files where you refer to the classes provided by the Empower Mobile Ads SDK:
import EmpowerMobileAds
Projects using Objective-C
The SDK exposes an Objective-C-compatible API, so you can call it directly from your .m and
.h files. No bridging header is required — a bridging header only exposes your app's own
Objective-C code to your app's Swift code, which is not what you need to consume the framework.
Make sure your Podfile uses dynamic frameworks:
use_frameworks!
Then import the SDK module in every file that uses it:
@import EmpowerMobileAds;
Objective-C uses the same EMAManager / EMASettings entry points as Swift. The only
differences are the delegate and status types: adopt EMAAdObserver (instead of
AdStatusDelegate) and switch on EMAAdStatusType (instead of AdStatus). Each ad-format
page below shows both Swift and Objective-C examples.
Integrating Mediation Networks
Already included — don't add these yourself: installing
EmpowerMobileAdsautomatically pulls in Google Mobile Ads, the AppLovin SDK, Google IMA (for preroll), and Amazon Publisher Services. Adding those pods (or a different version of them) separately can cause version conflicts. The adapters below are only for additional demand networks — add just the ones Empower has enabled for your account. An adapter for a network that isn't configured server-side has no effect.
Add the adapter pods Empower has enabled for your account, then run pod install --repo-update:
use_frameworks!
inhibit_all_warnings!
target 'YOUR_PROJECT_NAME' do
# AppLovin MAX adapters
pod 'AppLovinMediationGoogleAdManagerAdapter' # Google Ad Manager
pod 'AppLovinMediationGoogleAdapter' # Google / AdMob bidding
pod 'AppLovinMediationByteDanceAdapter' # Pangle
pod 'AppLovinMediationFacebookAdapter' # Meta Audience Network
pod 'AppLovinMediationFyberAdapter' # DT Exchange (Fyber)
pod 'AppLovinMediationInMobiAdapter' # InMobi
pod 'AppLovinMediationMintegralAdapter' # Mintegral
pod 'AppLovinMediationOguryPresageAdapter' # Ogury
pod 'AppLovinMediationUnityAdsAdapter' # Unity Ads
pod 'AppLovinMediationVungleAdapter' # Liftoff Monetize (Vungle)
pod 'AppLovinMediationYandexAdapter' # Yandex
# Google Mobile Ads (GAM) mediation adapters
pod 'GoogleMobileAdsMediationInMobi' # InMobi
pod 'GoogleMobileAdsMediationMintegral' # Mintegral
pod 'GoogleMobileAdsMediationPangle' # Pangle
pod 'GoogleMobileAdsMediationUnity' # Unity Ads
end
Amazon Publisher Services is already bundled with the SDK (via
AppLovinMediationAmazonAdMarketplaceAdapter), so it isn't listed here.