MarcTron.Admob 1.1.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package MarcTron.Admob --version 1.1.0
NuGet\Install-Package MarcTron.Admob -Version 1.1.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="MarcTron.Admob" Version="1.1.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add MarcTron.Admob --version 1.1.0
#r "nuget: MarcTron.Admob, 1.1.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.
// Install MarcTron.Admob as a Cake Addin
#addin nuget:?package=MarcTron.Admob&version=1.1.0

// Install MarcTron.Admob as a Cake Tool
#tool nuget:?package=MarcTron.Admob&version=1.1.0

MtAdmob Readme

With this Plugin you can add a Google Admob Ads inside your Xamarin Android and iOS Projects with a single line!!! This plugin supports: Banners, Interstitial and Rewarded Videos

Release Notes

Version 1.1

  • Added support for Rewarded Videos
  • Added events for Rewarded Videos
  • Added events for Interstitials

Version 1.0

  • Banner and Insterstitial for Android
  • Banner and Insterstitial for iOS

To add a Banner on a page you have two options:

XAML
<controls:AdView x:Name="myAds"></controls:AdView>

remember to add this line in your XAML:

xmlns:controls="clr-namespace:MarcTron.Plugin.Controls;assembly=Plugin.MtAdmob"
CODE
AdView ads = new AdView();

PROPERTIES

For each AdView if you want, you can set these properties: AdsId: To add the id of your ads PersonalizedAds: You can set it to False if you want to use generic ads (for GDPR...) (It works only for Android Banners, for the others, you must ask for consent)

GLOBAL PROPERTIES

AdsId: To add the id of your ads PersonalizedAds: You can set it to False if you want to use generic ads (for GDPR...) (It works only for Android Banners, for the others, you must ask for consent) TestDevices: You can add here the ID of your test devices

You can use Global Properties in this way: CrossMTAdmob.Current.UserPersonalizedAds = true;

INTERSTITIAL

You can show an interstitial with a single line of code:

CrossMTAdmob.Current.ShowInterstitial("xx-xxx-xxx-xxxxxxxxxxxxxxxxx/xxxxxxxxxx");

REWARDED VIDEO

You can show a Rewarded video with a single line of code:

CrossMTAdmob.Current.ShowRewardedVideo("xx-xxx-xxx-xxxxxxxxxxxxxxxxx/xxxxxxxxxx");

EVENTS FOR BANNERS

Just in case you need, the Banner ads offer 4 events:

AdsClicked		    When a user clicks on the ads
AdsClosed		    When the user closes the ads
AdsImpression	    Called when an impression is recorded for an ad.
AdsOpened		    When the ads is opened

EVENTS FOR INTERSTITIALS

the Interstitial ads offer 3 events:

OnInterstitialLoaded        When it's loaded
OnInterstitialOpened        When it's opened      
OnInterstitialClosed        When it's closed

EVENTS FOR REWARDED VIDEOS

The Rewarded Videos offer 7 events:

OnRewarded                          When the user gets a reward
OnRewardedVideoAdClosed             When the ads is closed
OnRewardedVideoAdFailedToLoad       When the ads fails to load
OnRewardedVideoAdLeftApplication    When the users leaves the application
OnRewardedVideoAdLoaded             When the ads is loaded
OnRewardedVideoAdOpened             When the ads is opened
OnRewardedVideoStarted              When the ads starts

IMPORTANT

Remember to include the MTAdmob library with this code (usually it's added automatically):

using MarcTron.Plugin;

IMPORTANT FOR ANDROID:

Add your AdMob App ID to your app's AndroidManifest.xml file by adding the <meta-data> tag shown below:

<manifest>
    <application>
        
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="[ADMOB_APP_ID]"/>
    </application>
</manifest>

Before loading ads, have your app initialize the Mobile Ads SDK by calling MobileAds.initialize() with your AdMob App ID. This needs to be done only once, ideally at app launch. For example:

protected override void OnCreate(Bundle savedInstanceState)
        {
            TabLayoutResource = Resource.Layout.Tabbar;
            ToolbarResource = Resource.Layout.Toolbar;

            base.OnCreate(savedInstanceState);
            MobileAds.Initialize(ApplicationContext, "xx-xxx-xxx-xxxxxxxxxxxxxxxx~xxxxxxxxxx");
            Xamarin.Forms.Forms.Init(this, savedInstanceState); 
            LoadApplication(new App());
        }

That's it. Cannot be easier than that 😃

Available on Nuget: https://www.nuget.org/packages/MarcTron.Admob

Project website: https://www.xamarinexpert.it/Plugin/MTAdmob

Tutorial: https://www.xamarinexpert.it/blog/admob-made-easy/

To report any issue: https://bitbucket.org/marcojak81/mtadmob

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp1.0 was computed.  netcoreapp1.1 was computed.  netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard1.0 is compatible.  netstandard1.1 was computed.  netstandard1.2 was computed.  netstandard1.3 was computed.  netstandard1.4 was computed.  netstandard1.5 was computed.  netstandard1.6 was computed.  netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net45 was computed.  net451 was computed.  net452 was computed.  net46 was computed.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed.  monoandroid81 is compatible. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen30 was computed.  tizen40 was computed.  tizen60 was computed. 
Universal Windows Platform uap was computed.  uap10.0 was computed.  uap10.0.16299 is compatible. 
Windows Phone wp8 was computed.  wp81 was computed.  wpa81 was computed. 
Windows Store netcore was computed.  netcore45 was computed.  netcore451 was computed. 
Xamarin.iOS xamarinios was computed.  xamarinios10 is compatible. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on MarcTron.Admob:

Package Downloads
ContactManager.Xamarin

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.3.0 352 3/21/2024
2.2.3 211 3/8/2024
2.2.2 113 3/8/2024
2.2.1 257 2/24/2024
2.2.0 317 2/9/2024
2.1.0 341 1/25/2024
1.9.0.6 3,819 5/21/2023
1.9.0.3 5,521 12/3/2022
1.9.0.2 1,064 11/19/2022
1.8.0 3,693 7/3/2022
1.6.9 10,665 12/23/2021
1.6.8 7,392 11/23/2021
1.6.7 1,662 10/16/2021
1.6.6 871 10/12/2021
1.6.5 2,009 8/24/2021
1.6.4 999 8/22/2021
1.6.3 1,076 8/16/2021
1.6.2 910 8/14/2021
1.6.1 6,357 1/23/2021
1.6.0 5,401 11/7/2020
1.5.8 3,360 9/27/2020
1.5.7 2,961 8/1/2020
1.5.6 2,858 6/7/2020
1.5.5 2,245 5/10/2020
1.5.0 1,578 4/11/2020
1.4.5 2,968 11/19/2019
1.4.4 1,633 10/11/2019
1.4.3 1,081 10/7/2019
1.4.2 1,144 9/7/2019
1.4.1 1,458 8/12/2019
1.4.0 1,195 8/2/2019
1.3.0 1,350 6/1/2019
1.2.0 1,203 4/8/2019
1.1.0 1,180 3/22/2019
1.0.0 1,214 3/5/2019

Version 1.1
Added support for Rewarded Videos
Added events for Rewarded Videos
Added events for Interstitials

Version 1.0
     Banner and Insterstitial for Android
     Banner and Insterstitial for iOS