Jc.GMA.iOS 13.3.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Jc.GMA.iOS --version 13.3.0
                    
NuGet\Install-Package Jc.GMA.iOS -Version 13.3.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Jc.GMA.iOS" Version="13.3.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Jc.GMA.iOS" Version="13.3.0" />
                    
Directory.Packages.props
<PackageReference Include="Jc.GMA.iOS" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Jc.GMA.iOS --version 13.3.0
                    
#r "nuget: Jc.GMA.iOS, 13.3.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Jc.GMA.iOS@13.3.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Jc.GMA.iOS&version=13.3.0
                    
Install as a Cake Addin
#tool nuget:?package=Jc.GMA.iOS&version=13.3.0
                    
Install as a Cake Tool

Jc.GoogleMobileAds.iOS

Google Mobile Ads SDK iOS Bindings

Package Showcase

Breaking Changes

Each major version contains breaking changes according to the Google AdMob SDK. Please refer to the Google AdMob SDK for more information. The headline changes relevant will be listed here.

UMP v3.1.0

Jc.UMP.iOS now binds Google User Messaging Platform SDK 3.1.0, upgrading from SDK 3.0.0. .NET 9/10 support and the iOS 15 minimum are unchanged. Building requires Xcode 16 or later.

  • Added nullable RequestParameters.ConsentSyncId for apps configured for consent syncing. IDs must be UUID strings or meet the format documented in Google's consent syncing guide.

See Google's UMP release notes.

UMP v3.0.0

Jc.UMP.iOS now binds Google User Messaging Platform SDK 3.0.0, upgrading from native SDK 2.7.0 (package 2.7.5). .NET 9/10 support and the iOS 15 minimum are unchanged. Building requires Xcode 16 or later.

  • UMP 3.0 changed Swift API names; the Objective-C selectors and existing C# names are unchanged.
  • The native SDK adds internal support for Firebase consent APIs when consent mode is configured through Privacy & messaging.

See Google's UMP release notes.

v13.3.0

This package binds Google Mobile Ads SDK 13.3.0, upgrading from SDK 13.2.0. .NET 9/10 support and the iOS 15 minimum are unchanged. Jc.UMP.iOS remains at 3.1.0.

  • Added RequestConfiguration.AgeRestrictedTreatment with Unspecified, Child, and Teen values. The older TagForChildDirectedTreatment and TagForUnderAgeOfConsent properties are now obsolete and remain available for compatibility.
  • Added beta ad preloading bindings: PreloadConfigurationV2, PreloadDelegate, and preloaders for app open, interstitial, rewarded, and rewarded interstitial ads.
  • Added beta MediationInitializationConfiguration and the corresponding MobileAds.Start overload. Beta APIs may change in future native releases.
  • Updated the native Open Measurement SDK to 1.6.5.

See Google's GMA release notes.

v13.2.0

This package binds Google Mobile Ads SDK 13.2.0, upgrading from SDK 13.1.0. This release includes native bug fixes and performance improvements; the public headers are unchanged. .NET 9/10 support and the iOS 15 minimum are unchanged. Jc.UMP.iOS remains at 3.1.0.

See Google's GMA release notes.

v13.1.0

This package binds Google Mobile Ads SDK 13.1.0. .NET 9/10 support and the iOS 15 minimum are unchanged. Jc.UMP.iOS remains at 2.7.5.

  • ErrorCode.OSVersionTooLow is now obsolete, matching the native SDK. There is no replacement; the SDK deployment target already matches the minimum OS version that can receive ads. The enum member remains available with its existing value.

v13.0.0

This package binds Google Mobile Ads SDK 13.0.0. It continues to support .NET 9/10 and requires iOS 15 or later. Jc.UMP.iOS remains at 2.7.5.

  • NativeAd.RegisterAdView (both overloads) and NativeAd.UnregisterAdView have been removed with the native SDK. Use NativeAdView to render native ads.

  • The existing anchored adaptive banner sizing functions are obsolete but retain their original behavior. Use these replacements on the main thread:

    Existing AdSizeCons method Replacement
    GetCurrentOrientationAnchoredAdaptiveBannerAdSize GetLargeAnchoredAdaptiveBannerAdSize
    GetPortraitAnchoredAdaptiveBannerAdSize GetLargePortraitAnchoredAdaptiveBannerAdSize
    GetLandscapeAnchoredAdaptiveBannerAdSize GetLargeLandscapeAnchoredAdaptiveBannerAdSize
  • Large anchored adaptive banners can be taller; size the banner container from the returned AdSize.

  • Request.NeighboringContentUrlStrings remains a string[]. The native SDK now raises an exception for non-string array elements; avoid null elements or passing other object types through native interop.

See Google's v12 to v13 migration guide.

v12.13.0

Both NativeAd.RegisterAdView overloads and NativeAd.UnregisterAdView are obsolete, matching the native SDK deprecations. Use NativeAdView to render native ads instead. These methods remain available but are no longer supported by Google and will be removed in a future SDK version.

v12.2.2

AdSizeCons constants were changed to be hardcoded while I try to find a better approach to access the true values. This means that values will be the same for both iPhone and iPad.

SmartBannerPortrait, SmartBannerLandscape, and Fluid have been removed until a workaround is discovered as these are entirely dependent on the framework or the calling framework (MAUI/Avalonia/etc.)

v9.x.x to v11.x.x

  • The minimum supported version of iOS is now 13.
    • Note: SDK 11.0.0 still builds on iOS 12 devices, but ads will not serve.
  • armv7 support has been removed from the SDK

From v11.13.0 and beyond, you must add this target to your csproj file to support linking with Swift system libraries

<Target Name="LinkWithSwift" DependsOnTargets="_ParseBundlerArguments;_DetectSdkLocations" BeforeTargets="_LinkNativeExecutable">
    <PropertyGroup>
        <_SwiftPlatform Condition="$(RuntimeIdentifier.StartsWith('iossimulator-'))">iphonesimulator</_SwiftPlatform>
        <_SwiftPlatform Condition="$(RuntimeIdentifier.StartsWith('ios-'))">iphoneos</_SwiftPlatform>
    </PropertyGroup>
    <ItemGroup>
        <_CustomLinkFlags Include="-L" />
        <_CustomLinkFlags Include="/usr/lib/swift" />
        <_CustomLinkFlags Include="-L" />
        <_CustomLinkFlags Include="$(_SdkDevPath)/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/$(_SwiftPlatform)" />
        <_CustomLinkFlags Include="-Wl,-rpath" />
        <_CustomLinkFlags Include="-Wl,/usr/lib/swift" />
    </ItemGroup>
</Target>

More info can be found here

Usage

To use Jc.GoogleMobileAds.iOS, you can add the required packages to your project:

dotnet add package Jc.GMA.iOS
dotnet add package Jc.UMP.iOS

Ensure that the SupportedOSPlatformVersion attribute in your project file is set to 15.0 or higher:

<SupportedOSPlatformVersion>15.0</SupportedOSPlatformVersion>

along with setting it in the Info.plist file:

<key>MinimumOSVersion</key>
<string>15.0</string>

Failing to set the minimum version will result in the compiler warning:

Jc.*.iOS requires a minimum SupportedOSPlatformVersion of 15.0. Update your project to target iOS 15 or later.

Smoke Tests

The smoke tests verify the locally built NuGet packages inside an iOS simulator. The iOS test app references exactly GMA 13.3.0 and UMP 3.1.0 from the local package feed. An empty temporary NuGet cache ensures the run uses those packages.

There are two projects:

  • tests/Tests.Google.MobileAds: an iOS app that runs the binding tests using NUnitLite on UIKit's main thread.
  • tests/Tests.Google.MobileAds.Host: a desktop NUnit project that provides the dotnet test entry point. It builds the app, installs and launches it with Apple's simctl, collects the results, and checks that the run passed. The binding tests themselves run in the simulator.

The twenty-one iOS cases check the native GMA and UMP SDK versions, consent sync ID marshalling, age treatment, beta preload and mediation configuration, empty preloader queries, all three new large adaptive banner sizing functions, all three deprecated sizing functions, neighboring-content URL array marshalling, and removal of the native-ad registration methods. The app uses Google's sample application ID and makes no live ad requests. An additional intentional failure probe is skipped during normal runs.

Run locally

Requires macOS, .NET 10 with the iOS workloads needed by the .NET 9/10 binding targets, Xcode, and an available iPhone simulator running iOS 18 or later. The binding packages still support iOS 15+.

Run from the repository root:

dotnet workload restore src/jc-google-mobile-ads-ios.sln
dotnet build src/jc-google-mobile-ads-ios.sln -c Release
dotnet pack src/jc-google-mobile-ads-ios.sln -c Release --no-build -o artifacts/smoke-packages
dotnet test tests/Tests.Google.MobileAds.Host/Tests.Google.MobileAds.Host.csproj -c Release --logger trx --results-directory artifacts/dotnet-test

Clean the binding projects before rebuilding if you replaced the native frameworks locally.

The flow is: pack bindings → build iOS test app → launch in simulator → collect and validate NUnit results. Build errors, crashes, timeouts, missing results, and failed assertions fail the run. Afterward, the host uninstalls the app and shuts down the simulator only if it started it.

Results and CI

  • artifacts/dotnet-test: desktop TRX results containing one aggregate test for the complete simulator run.
  • artifacts/simulator/test-results.xml: NUnit results containing the individual iOS binding cases, also attached to the desktop test result.

CI runs the smoke tests after packaging, publishes the individual iOS cases and aggregate runner result in the job summary and a GitHub check, and uploads both result directories. Fork and Dependabot pull requests receive the job summary without a separate check because their tokens have restricted permissions. The release workflow publishes the same packages only after the smoke tests pass.

See the smoke-test README for diagnostic options.

Product Compatible and additional computed target framework versions.
.NET net9.0-ios18.0 is compatible.  net10.0-ios was computed.  net10.0-ios26.0 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0-ios26.0

    • No dependencies.
  • net9.0-ios18.0

    • No dependencies.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Jc.GMA.iOS:

Package Downloads
Plugin.AdMob

Google AdMob ads for .NET MAUI on Android and iOS. Supports every ad format — banner, interstitial, rewarded, rewarded interstitial, app open, and native ads including native video — plus automatic GDPR consent via Google's User Messaging Platform (UMP). Free and open source.

Jc.AdMob.Avalonia.iOS

Google AdMob for Avalonia on iOS.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
13.5.0 123 11/6/2026
13.4.0 63 11/6/2026
13.3.0 137 11/4/2026
13.2.0 92 11/4/2026
13.1.0 188 10/29/2026
13.0.0 220 10/16/2026
12.14.0 143 10/13/2026
12.13.0 96 10/13/2026
12.12.0 113 10/13/2026
12.11.0 124 10/13/2026
12.10.0 13,756 7/8/2026
12.7.1 2,136 2/8/2026
12.7.1-preview100 166 2/5/2026
12.7.0 1,963 12/9/2025
12.7.0-preview100 5,367 7/27/2025
12.2.3-preview100 590 7/24/2025
12.2.2 3,334 4/20/2025
12.2.2-preview100 1,181 4/5/2025
12.2.1 48,325 3/22/2025
12.2.0 312 3/18/2025
Loading failed