Apps Kit SDK logoApps Kit SDK
Docs · iOS Integration

3. Project configuration

3.1 AdMob App ID

If AdMob/GAM is one of your enabled ad networks, add your own AdMob App ID to Info.plist (this is app-specific — it can't be bundled inside the xcframeworks):

xml
<key>GADApplicationIdentifier</key>
<string>ca-app-pub-XXXXXXXXXXXXXXXX~YYYYYYYYYY</string>

3.2 SKAdNetworkItems

Mediation/attribution networks behind AKS (AppLovin, IronSource, and their downstream bidding partners) need SKAdNetworkIdentifier entries to attribute installs correctly under ATT. The reference app ships roughly 48 entries covering AppLovin/IronSource/Meta/etc. mediation partners. Pull the current list from your ad network dashboards (AppLovin, IronSource, and AdMob each publish one) rather than copying an old list — these networks add new IDs over time.

3.3 App Tracking Transparency (ATT) — a gap to close yourself

Heads up: neither NSUserTrackingUsageDescription nor any ATTrackingManager.requestTrackingAuthorization() call exists in the reference integration. AKS does not prompt for ATT on your behalf on iOS. If you want IDFA available to AdMob/AppLovin/IronSource mediation and to AppsFlyer/Adjust attribution, you need to add both yourself:

xml
<key>NSUserTrackingUsageDescription</key>
<string>Your data will be used to deliver personalized ads.</string>
swift
import AppTrackingTransparency

ATTrackingManager.requestTrackingAuthorization { status in
    // call this before initializing ads — see §4.4
}

Without the usage-description string, calling requestTrackingAuthorization crashes at runtime — so don't add the call without the Info.plist key, and don't assume either is already handled because the SDK is integrated.

3.4 GoogleService-Info.plist

Add Firebase's GoogleService-Info.plist to your app target the normal way (drag into your source folder, ensure target membership). There's nothing AKS-specific about it — Firebase's standard setup applies as-is.

3.5 Deployment target

AppsKit.xcframework/AKSKit.xcframework are built for iOS 15.0 minimum, Swift 5.9 (Xcode 15.2+), with BUILD_LIBRARY_FOR_DISTRIBUTION: YES for module stability. Set your app target's IPHONEOS_DEPLOYMENT_TARGET to 15.0 or higher — and remember the Podfile's post_install (§1.2) also forces every pod target to 15.0, so a lower app-level target wouldn't link cleanly against the pods anyway.